π€ Freelancer.com Auto-Bidder for n8nStop refreshing the project feed. Your bot finds the work, writes the proposal, and asks you β in Telegram β before it bids.Four ready-to-import n8n workflows that search Freelancer.com on your keywords, filter out the junk, score every project with AI, send you a one-tap approval card in Telegram, write a tailored proposal, place the bid, and track the award until you win.Found something yourself? Paste the link into the chat and it bids on that one immediately.You stay in control the whole way. Nothing is bid without your tap β unless you explicitly turn auto-bid on, or you hand it a link.Why this existsBidding early wins jobs. But being early means checking Freelancer.com all day, reading dozens of listings that turn out to be wrong-budget or already at 60 bids, and writing yet another proposal from scratch.This package does the watching and the first draft. You do the judging β from your phone, in about three seconds per project.What you getFeaturesπ Search that fits how you actually workMessage the bot python scraping and it searches right now. Or let the 6-hour schedule run your default keyword while you sleep. Per-search overrides work inline: react minBudget=200 maxBidCount=25.π Paste a link, get a bidFound a job yourself while browsing? Share the link into the chat. No search, no approval card, no forms β the bot pulls that exact project, writes the proposal and bids on it. Pasting the link is the approval.Up to 10 links in one message. Works whether Telegram shows the raw URL or a blue title, and it tells you if a project turned out to be closed or already bid on.π Quality filterSkips projects that are no longer active and ones that already have more bids than your threshold β the ones you'd never win anyway.π― AI relevance scoringEvery project is scored 0β10 in a single batched LLM call (not one call per project β this keeps your OpenAI bill in the cents). The score and a one-line reason appear on the approval card so you can judge at a glance.Nothing is filtered out by score. You decide, project by project.π¬ Telegram approval, one tapEach project arrives as a card: title, budget, average bid, bid count, skills, AI score and reason, the exact amount the bot wants to bid, and a link. Two buttons: β or β.βοΈ AI proposalsOn approval, an AI agent writes a short, specific proposal for that project and signs it with your username. You get a copy of what was sent.π° Smart bid pricingclamp(average_bid Γ 0.9, budget_min, budget_max) β undercut the field without going below the client's floor or above their ceiling.π« Never bid twiceBefore scoring, one batched call to the Freelancer bids API removes every project you've already bid on. Checked live against your real account, not a local guess.β»οΈ Skip β loseTap β and that project is marked declined and never shown again. But if you simply don't answer β you were asleep, you were busy β the project comes back in the next search. Missing an approval costs you nothing.π Every run reports backThis is the part most bidding bots get wrong. When a run finds nothing, you get told why:π Search: "n8n" β’ Found: 12 β’ Passed filters: 0 β’ Not skipped before: 0 β’ Not bid on yet: 0 π« All 12 project(s) were filtered out: 2 not active, 10 already above your maxBidCount of 40. No more wondering whether the bot ran, broke, or just had a quiet hour.β‘ Auto-bid modeSet autoBid=true β globally or on one search β and the bot skips the approval step entirely. You still get a confirmation with the full proposal for every bid placed.π Award trackingbidTracker watches your pending bids. Win one, and you get a Telegram prompt to accept the award β accepted through the API with one tap.π Locked to youOnly your Telegram chat ID can control the bot; every other chat is silently ignored. All tokens live in n8n's credential store, never in workflow fields.Requirements n8n 1.90+ β Cloud or self-hosted β with Data Tables available Freelancer.com account + API OAuth token (freelancer.com β Developers β My Apps) Telegram bot token from @BotFather OpenAI API key (a few cents per run β one scoring call plus one proposal per approved bid) No coding required. If you can import a JSON file and paste an API key, you can run this.InstallRoughly 10 minutes. Import four files, create three credentials and two data tables, fill in one Setup node, activate.install_instructions.md walks through every step with the exact node names to click, plus a troubleshooting section for the errors people actually hit.Honest limitationsI'd rather you know before you buy: No client/employer filtering. Freelancer.com's project search API does not return usable client data β no name, rating, review count, or payment-verified flag. So there is no "only verified clients" filter, and any tool claiming one on the search endpoint is guessing. You see budget, bid count, average bid, and skills. You need your own API keys. Freelancer, Telegram, and OpenAI. All three have free or near-free tiers for this volume. OpenAI costs money. Small β one batched scoring call per run, one proposal per approved bid β but not zero. Bidding is not winning. This gets you in early with a decent proposal. It does not manufacture a reputation you haven't earned. Auto-bid is a loaded gun. It bids on everything matching your query with no approval. Tune maxBidCount and your budget range before enabling it on a schedule. A pasted link skips every filter. Bid count, budget range and your skip list are all ignored in link mode β you chose that job, so the bot trusts you. Add autoBid=false to the message if you want to be asked first. FAQDoes it work on n8n Cloud? Yes β built and tested on n8n Cloud. Self-hosted works too, as long as Data Tables are available.Can I change the proposal style? Yes. The system prompt lives in the AI Agent node. Edit it like any text field.Can I bid on a specific job I found myself? Yes β paste its Freelancer.com link into the chat. The bot bids on that one straight away, skipping the search and the approval step.Can I run several keywords? Yes β just message the bot again with a different query. The schedule runs one default keyword; duplicate the schedule trigger for more.What if Freelancer's API errors? Every HTTP node has retries and an error branch wired to the shared SendError workflow, which messages you what broke.Will it spam me? One approval card per project it wants to bid on, one confirmation per bid placed, and exactly one summary per run. That's it.Support & updatesQuestions or a workflow that won't import β message me through Gumroad.Includes free updates to the workflow files.Not affiliated with or endorsed by Freelancer.com, Telegram, OpenAI, or n8n. Use in accordance with Freelancer.com's API terms.