Upwork · 5 min · reviewed 2026-10-13
How do I stop two AI bidders from applying to the same Upwork jobs?
Turn on One bidder at a time under Channels → Upwork → Feed setup. Then only one AI client can apply on a profile at once. Any other client is refused and told who holds the profile. Buttons in the app are never blocked.
What you will need
- At least one Upwork profile connected in SalesCrew.
- The BDM or CEO role to change the setting. Anyone on the Upwork channel can see who holds a lease.
- Your bot's own MCP token. Each token counts as one bidder.
Steps
- 1
Step 1
In SalesCrew, open Channels → Upwork, then the Feed setup tab.
- 2
Step 2
Find the One bidder at a time card. Switch it On.
- 3
Step 3
Set Lease expires after. The default is 10 minutes. A bot that stops sending heartbeats loses its lease after this time.
- 4
Step 4
Pick One lease per. Upwork profile lets one bot run on each profile. Whole workspace allows one bot in total.
- 5
Step 5
Click Save bidder setting.
- 6
Step 6
Set up your bot to call three MCP tools. It calls upwork_bidder_acquire when a run starts. It calls upwork_bidder_heartbeat every few minutes. It calls upwork_bidder_release when the run ends.
- 7
Step 7
To free a stuck lease, click Release next to it on the card. A BDM or CEO can do this.
Common errors
- "Another bidder is running on profile …"
- a different token holds the lease. Wait until the time shown, or release it on the card.
- "This job was already applied to"
- an AI apply is refused when the job was applied to before. This guard is always on, even with the setting off.
- "Another apply to this job is in progress"
- two applies reached the same job at once. The second one was stopped before Upwork got it.
- Your bot lost its lease
- it missed its heartbeat. Make it call upwork_bidder_heartbeat more often than the expiry time.
How you know it worked
While your bot runs, the card lists its profile, its name, when it started and when the lease ends. A second bot's apply returns the refusal and spends no Connects.
Where this goes in SalesCrew
Feed setup shows your bot under One bidder at a time while it runs. In your own workspace the same how-to opens beside the field, with your callback URLs filled in.