Upwork pipeline stages for your agency CRM

Six stages from job saved to hired, seven close reasons, and a second pipeline for clients who come back. Copy it into any CRM.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.

  • Published in full
  • No email required
  • Exit rule for every stage
app.salescrew.io/outreach
Campaigns: segment, sequence and schedule

The short answer

  • An Upwork pipeline for an agency runs six stages: Job saved, Proposal sent, Viewed, Interviewing, Hired, and Closed with a reason.
  • Each close reason is a disposition you can count, so win rate by category, budget band and proposal writer becomes a report.
  • Clients who hire you move to a separate client pipeline, because a repeat client is an account to grow, not a bid to win.
  • SalesCrew ships these stages in its Upwork module, with saved searches, a feed gate, proposal records and outcomes written back from the Upwork API.

Why Upwork needs its own pipeline

An Upwork bid moves differently from a cold email lead. The client posts the job, you spend connects to apply, and the platform tells you when the proposal is viewed. Squeezing that into a generic sales pipeline hides the stages that matter, like the gap between viewed and interviewing.

Give bids their own pipeline and you can answer the questions that set your bidding budget. Which categories hire you? Which budget bands waste connects? Whose proposals get interviews?

The bid pipeline

Six stages. A record moves forward only when the exit rule is true.

StageWhat it meansExit ruleWho moves it
1. Job savedThe job passed your feed gate and someone wants to bidA proposal is submittedThe bidder
2. Proposal sentThe proposal is on Upwork and connects are spentThe client views it, or 14 days passUpwork data
3. ViewedThe client opened the proposalThe client messages or invites to interviewUpwork data
4. InterviewingA conversation with the client has startedAn offer arrives, or the client stops replyingThe bidder
5. HiredThe client sent an offer and you acceptedThe contract starts; the client moves to the client pipelineThe bidder
6. ClosedThe bid ended without a hireA close reason is setUpwork data or the bidder

Stage names and rules from the SalesCrew Upwork pipeline template, September 2026.

Close reasons (dispositions)

Every closed bid gets exactly one. Pick from the list; never free text.

Close reasonUse it whenWhat to change if it grows
No viewThe client never opened the proposalBid earlier, or tighten the gate on client activity
Viewed, no replyOpened but no messageRewrite the first two lines of the proposal
DeclinedThe client declined the proposalCheck the budget band and category fit
Hired someone elseThe job was filled by another freelancerCompare your rate and proposal length with past wins
Job closedThe client closed or cancelled the jobRaise the client hire-rate threshold in the gate
Ghosted after interviewThe conversation stoppedAdd a follow-up message at day 3
WithdrawnYou pulled the proposalLog why, so the gate learns

Dispositions from the SalesCrew Upwork pipeline template, September 2026.

The client pipeline

For accounts that survive a first contract.

StageWhat it meansExit rule
First contractWork is in progress on the first jobThe contract ends
DeliveredThe first job is completeA second job starts, or 60 days pass
RepeatThe client has hired you twice or moreThey go 90 days without a new job
DormantNo active workA new job starts

Client pipeline from the SalesCrew Upwork pipeline template, September 2026.

What the feed gate decides

The best pipeline starts before stage 1. A feed gate filters jobs on the criteria that predict a win for you: client spend, hire rate, payment verification, category and budget band. What fails never reaches a bidder, so you spend connects on a short list.

In SalesCrew, saved searches pull jobs through the Upwork API on a schedule and the gate runs over them. Jobs that pass arrive with the client's history attached. Spending connects stays a human decision under the default agent policy.

How the stages run in SalesCrew

Each proposal is a record against the job and the client. A person starts the proposal, and the submit waits in the SalesCrew approval queue before it goes to Upwork. Outcomes are written back as they land: viewed, interviewed, hired, or no reply.

Because proposals and outcomes are records, win rate by category, by budget band and by who wrote the proposal is a query. Over MCP, upwork_applied_performance returns it, and create_deal_from_upwork_job puts a won job into the deal pipeline. The full module is on the SalesCrew Upwork integration page, and drafting help is in the Upwork proposal prompt pack.

Keep client work on the platform

Upwork's Terms of Use contain a non-circumvention clause. Read them at upwork.com/legal before you plan any contact with a client outside Upwork. The client pipeline above tracks the relationship; the contract and payments stay where the terms put them.

Treat Upwork as a measured channel

The Upwork module comes with SalesCrew Agency, $1,200 a month with unlimited seats.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.