Automatically find Upwork jobs and draft tailored proposals

Finds relevant Upwork jobs and writes a personalized draft proposal for each one, ready to review.

How the work actually flows

A straight line. Runs once per one per job listing.

Pattern: Sequence (1) ยท Multiple Instances with a priori Design-Time Knowledge (13)

flowchart TD trig(["scheduled job search runs"]):::trigtime s0[["scrape new job listings"]]:::mi s1[("log jobs to tracking sheet")]:::store s2["ai drafts personalized proposal"]:::task s3["email notification drafts ready"]:::task trig --> s0 s0 --> s1 s1 --> s2 s2 --> s3 out[/"tracked jobs with draft proposals"/]:::out pay{{"more proposals sent with less effort"}}:::pay s3 --> out out --> pay classDef task fill:#e7f6fe,stroke:#34b8f0,color:#2c2a29 classDef svc fill:#f6f8fa,stroke:#7c8795,color:#2c2a29 classDef mi fill:#e7f6fe,stroke:#0079a8,color:#2c2a29,stroke-width:2px classDef human fill:#fff,stroke:#0079a8,color:#0079a8 classDef store fill:#f6f8fa,stroke:#0079a8,color:#2c2a29 classDef trig fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold classDef trigtime fill:#00a4eb,stroke:#0079a8,color:#fff,font-weight:bold classDef trigdata fill:#8ad4f5,stroke:#0079a8,color:#06314c,font-weight:bold classDef gate fill:#fff,stroke:#e8a23d,color:#6b4708,font-weight:bold classDef out fill:#1f9d6b,stroke:#167a53,color:#fff,font-weight:bold classDef pay fill:#06314c,stroke:#021f33,color:#fff
Starts itA stepRuns once per itemA record or sheetResultPayoff
Build size
Advanced

A larger build with multiple systems, AI reasoning, and custom rules.

Business functions
AI Agents & Autonomous SystemsEmail AutomationSpreadsheet & Database Ops
Connects
ApifyGoogle GeminiGoogle SheetsGmail

The problem it solves

Finding good freelance jobs on Upwork means scrolling through listings every day, then writing a new personalized proposal for each one from scratch. Most of that effort goes to jobs that never even reply.

Who it fits

Freelancers, consultants, and agencies pitching new work on Upwork.

How it works

  1. New job listings are scraped based on your search criteria
  2. Each new job is logged to a tracking sheet
  3. An AI reads the job details and your background information
  4. A personalized proposal is drafted for each opportunity
  5. You get an email letting you know the drafts are ready to review
What you get

Upwork proposals tailored to every listing

New Upwork jobs get logged automatically and each one comes with a tailored draft proposal waiting for your review.

What you get

A tracking sheet of new jobs with a ready-to-review draft proposal for each one.

What you need

An Apify account, a Google Gemini API key, a Google Sheets account, and a Gmail account.

We can build this. But should you?

The hard question is not how to build it. It is whether this is the right thing to build first.

That is what a Fractional Chief AI Officer figures out with you, before anyone writes a line of code.

Let's Talk Strategy

Related automations

Back to the AI Playbook