Score Upwork job alerts by fit and post the best ones to Slack

The system scans your Gmail for Upwork job alerts, scores them against your profile, and posts strong matches to Slack.

How the work actually flows

It branches. Exactly one path is taken; runs once per each job alert email.

Pattern: Exclusive Choice (4) · Multiple Instances without Synchronization (12)

flowchart TD trig(["scheduled inbox check"]):::trigtime s0[["extract job details"]]:::mi s1["score against profile"]:::svc trig --> s0 s0 --> s1 gx{"× does job meet threshold"}:::gate s1 --> gx p00["post to slack channel"]:::task gx -->|"strong fit"| p00 p10["no action taken"]:::task gx -->|"weak fit"| p10 p00 --> out p10 --> out out[/"slack alert for strong matches"/]:::out pay{{"apply to best jobs first"}}:::pay 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 itAn outside serviceRuns once per itemOne path onlyResultPayoff
Build size
Advanced

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

Business functions
Email AutomationMessaging & Notifications
Connects
GmailSlackOpenRouter

The problem it solves

Good freelance jobs get snapped up within minutes of posting, but you can't sit refreshing your inbox all day to catch them. Sorting through every Upwork alert email to find the ones actually worth applying to eats up time you'd rather spend on paid work.

Who it fits

Freelancers and agencies on Upwork who want to apply to the best-fit jobs first without reading every alert email.

How it works

  1. The system checks Gmail every few minutes for new Upwork job alert emails
  2. It pulls the job title, description, and details out of each one
  3. The job is scored against your profile and preferences
  4. Jobs above your chosen score threshold are posted to a Slack channel
What you get

Job alerts scored and ranked for you

You see the Upwork jobs that best match your profile posted straight to Slack, ready for you to pick and apply.

What you get

A Slack notification for each strong-fit job, so you can apply while it's still fresh.

What you need

A Gmail account, an Upwork Freelancer Plus subscription for job alerts, an OpenRouter or similar AI API key, and a Slack workspace.

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