Quick overview
Four ready-to-import n8n workflows that auto-bid on Freelancer.com: they search keywords, filter junk listings score every project with AI, send a one-tap Telegram approval card, write tailored proposal, place the bid, and track the award until you win — no more refreshing the feed all day.
How it works
- You message the bot on Telegram with a search keyword, or let the 6-hour schedule run your default keyword automatically.
- It searches Freelancer.com and drops projects that are no longer active or already have more bids than your threshold.
- The remaining projects are checked against your real Freelancer bid history through the API, so nothing already bid on is shown twice.
- Every project left is scored 0-10 for relevance in a single batched AI call, along with a one-line reason for the score.
- You get one Telegram card per project — budget, average bid, bid count, skills, AI score and reason, and the bot's proposed bid amount — with a single approve or decline button.
- Approve it and an AI agent writes a tailored proposal, places the bid through the Freelancer API, and sends you a confirmation with the exact text that was submitted.
- Decline it and that project is marked as skipped for good; ignore the card instead and it simply reappears in your next search.
- A separate tracker workflow checks your pending bids every 30 minutes and prompts you in Telegram to accept any awards with one tap.
Setup
- Get three free API credentials: a Freelancer.com OAuth token (freelancer.com, Developers, My Apps), a Telegram bot token from @BotFather, and an OpenAI API key.
- Add them as credentials inside n8n: one Header Auth credential for Freelancer, one Telegram API credential, and one OpenAI credential.
- Create two Data Tables, "seen projects" and "bids", by importing the included CSV files so the columns and types are already correct.
- Import the four workflow JSON files in this exact order: SendError, freelancer bot, bidTracker, then freelancerMain, since later ones reference earlier ones.
- Re-link each workflow's credential, Data Table, and sub-workflow fields, which ship blank because they are specific to your own n8n instance.
- Open the single Setup node inside freelancerMain, enter your Telegram chat ID and default search filters, then repeat the chat ID in bidTracker's Setup node.
- Activate and publish all four workflows, then message the bot /help in Telegram to confirm it replies within a couple of seconds.
Requirements
- n8n 1.90+ (Cloud or self-hosted) with Data Tables enabled
- A Freelancer.com account with an API OAuth token
- A Telegram bot token from @BotFather
- An OpenAI API key with billing enabled (a few cents per run)
Customization
- Edit the AI Agent node's system prompt to change the proposal's tone, length, and specialty focus
- Change the
0.9 multiplier in the ComputeBid node to bid more or less aggressively against the average
- Tune
max_bid_count, min_budget/max_budget, and default_query in the Setup node to match your niche
- Turn on
auto_bid to skip the approval step entirely — set your filters carefully first
Additional info
- No client/employer filtering: Freelancer's project search API doesn't return reviewer rating, review count, or payment-verified status, so any tool claiming that filter on search results is guessing
- Built and tested on n8n Cloud; self-hosted works too as long as Data Tables are available and a public HTTPS webhook URL is set for Telegram callbacks
- Includes free updates to the workflow files; support via Gumroad
- Not affiliated with or endorsed by Freelancer.com, Telegram, OpenAI, or n8n — use in accordance with Freelancer.com's API terms