Proposals

Reviewing and sending proposals

What goes into a drafted letter, what is worth checking before it goes out, and how to get a proposal for a posting nothing drafted on its own.

How a draft is written

Each proposal is assembled from four things, in roughly this order of influence:

  • The posting itself — what the client says they need, their budget, their stated constraints, and any screening questions attached to it.
  • Your Upwork profile — title, summary, skills, rate, and work history, read once when you connect and refreshed when you sync.
  • Your CV, if you uploaded one on Integrations. This is the largest single improvement available: it is the difference between a letter that claims experience and one that cites it.
  • Your template, if the search has one. Left blank, the letter is written from scratch; filled in, it is adapted rather than replaced.

Letters open on something specific from the posting where the job gives us one — a named stack, a stated deadline, a described bug. The review screen tells you what that was, so you can judge whether the opening earned its place.

What to check before you send

The draft is a strong first version, not a finished one, and it is worth thirty seconds of reading. In rough order of how often they matter:

CheckWhy
The first sentenceIt is the only part many clients read. If it could have been written for a different posting, replace it.
Any specific claim about youNumbers and past clients come from your profile and CV. If one is stale there, it is stale here.
The bidSuggested from the posting's budget and the search's bid strategy. It knows nothing about how much you want this particular job.
Screening answersDrafted alongside the letter when the posting has questions. These are frequently where a generic answer shows.
LengthShorter is usually better on Upwork. Cutting a paragraph is a safe edit.

Refine rewrites the letter against an instruction you give it — make it shorter, lead with the migration experience, drop the last paragraph. Refining is free and unlimited; only the first draft of a posting costs credits.

Sending it

  1. 1. Copy the letter

    One button on the review screen, which also opens the posting on Upwork.

  2. 2. Paste and submit on Upwork

    On Upwork's own apply form, where you can see the Connect cost before you commit to it.

  3. 3. Mark it as sent

    Press I submitted it back in Nibwright. This is what makes the reply rate on your dashboard real: a proposal nobody marked as sent is invisible to it.

    Sends are reconciled against your Upwork account hourly, so one you forget to mark will be picked up on its own — just later.

Why we never submit for you

Upwork's public GraphQL API exposes job search, profiles, proposals you have already sent, messages and contracts. It has no mutation for submitting a proposal, applying to a job, or spending Connects, at any scope or approval tier. Tools that claim auto-submit are either driving your logged-in browser, which is the category Upwork's policy team names, or bidding from their own agency account, which means the proposal is not from you.

Drafting something on demand

Three ways to get a proposal for a posting no search drafted automatically:

  • A matched posting waiting for you. On a search set to alert only, every match sits on the Matches list with a Draft button. Costs 10 credits, like any draft.
  • Draft anyway, on a skipped posting. Skipped matches list the reason they were passed over. If you disagree, Draft anyway overrides it — you have looked at this specific posting, which is better evidence than the score.
  • Paste an Upwork job URL. On the Proposals screen. It works whether or not any search ever saw the posting, and it skips matching entirely, because you have already decided.

All three notify you the moment the draft is ready, rather than batching it into the next digest. You asked for that one and you are waiting on it.

When a posting was not drafted

Skipped postings stay on your dashboard with the reason attached, because a silent drop is indistinguishable from a bug.

ReasonMeaning
Match score too lowIt scored under 0.50 against your profile and this search. Draft anyway if you disagree.
Daily cap reachedThe search had already used its drafts for the day. Raise the cap on the search, or draft this one by hand.
Insufficient creditsYour balance was too low. It waits; top up and draft it.
Declined by userYou skipped it. It is never matched again.