A proposal that gets replies does four things in under 200 words: it repeats the client’s problem back in their words, shows one piece of matching proof, says what you would do first, and asks one question that only someone who read the post could ask. Everything else (your life story, a list of 15 tools, “I am a hardworking and dedicated VA”) gets skipped by the client and costs you the reply.

This guide is only about writing the proposal. If your profile, samples and Connects budget are not ready yet, start with How to Start on Upwork With No Experience.

Read the post before you write a word

Spend three minutes taking these notes. They become the proposal.

  1. The need, in their words. Copy the phrase that shows the pain: “leads are slipping through”, “150 products to upload before our sale”, “customers waiting two days for replies”.
  2. Your closest proof. The sample, job or project that is nearest to this task. If nothing is close, skip the post and save the Connects.
  3. The unknown. One detail missing from the post that changes how you would do the work.
  4. Instructions. Many clients bury a test such as “start your proposal with the word ‘pineapple’” or “tell me your favorite spreadsheet formula”. Missing it is an instant rejection.

The five-part structure

Part Length Job it does
1. Opening line 1 sentence Restates their problem and your fix
2. First step 2 sentences Shows you know how to start
3. Proof 1 to 2 sentences + attachment Lets them check you can do it
4. Question 1 sentence Starts a conversation
5. Next step 1 sentence Makes saying yes small

The client can click through to your profile from the proposal, so do not repeat it. Use the cover letter for this job only.

Example 1: inbox and calendar support for a real estate agent

The job post (summarized): US agent in Florida, hourly, 10 hours a week. “My inbox is a mess and I miss showing requests. Need someone to sort email, book showings in Google Calendar and follow up with leads. Must be available mornings Eastern time.” Entry level. 12 Connects.

The proposal:

Hi, missing showing requests because they sit in a cluttered inbox is fixable in the first week.

I would start by setting up four Gmail labels (Showings, Leads, Waiting, Reference) and a filter for your listing portals, then book requests straight into Google Calendar with the property address and buyer’s phone in the event. Each morning you would get a five-line summary: new leads, showings booked, anything waiting on you.

I attached a practice version of that system built with fictional emails, plus a sample morning summary. Before freelancing I spent three years on a US telecom account, so I am used to working your mornings (8 a.m. to noon Eastern is 8 p.m. to midnight in Manila, which is my set shift).

Do your showing requests come mostly from Zillow and your website form, or also by text? That decides whether I set up filters or a shared tracker first.

Happy to start with a one-week trial at the 10 hours you mentioned.

Why it works: the first line uses the client’s own pain (“missing showing requests”). The plan is concrete enough to picture. The proof is attached, not just claimed. The time-zone sentence answers the “must be available mornings” requirement with real hours. Eastern Daylight Time is 12 hours behind Manila until US clocks change on 1 November 2026; after that the gap is 13 hours, and the same shift becomes 9 p.m. to 1 a.m. in Manila.

Example 2: Shopify product upload, fixed price

The job post: “Need 150 products uploaded to Shopify from a supplier spreadsheet before our 15 October sale. Titles, descriptions, 3 photos each, prices, variants for size. Budget $120.” Fixed price. 8 Connects.

The proposal:

Hi, I can have all 150 products live and checked before your 15 October sale.

My plan: map the supplier columns to Shopify’s product CSV first, upload 10 products as a test batch for you to approve, then import the rest and spot-check every variant and photo. You get a short log of anything I could not fill from the supplier sheet, such as missing sizes or blurry images.

I attached a practice catalog cleanup: a messy 40-row supplier sheet, the cleaned import file and the change log. It shows how I handle missing data rather than guessing.

Should product descriptions be copied as-is from the supplier, or lightly rewritten for your store’s tone? Rewriting adds time, so I would quote it separately.

I suggest two milestones: $30 for the 10-product test batch and $90 for the remaining 140 and final check.

Why it works: it accepts the client’s deadline and budget, splits the job so the client’s first risk is only $30, and flags a scope question (rewriting descriptions) before it becomes a dispute.

Check the fee before you send. Upwork shows the freelancer service fee for this contract on the proposal screen; it ranges from 0% to 15% (Upwork Help, September 2026). At 10%, the $120 job pays you $108. At 15%, it pays $102. If $102 for this volume of work is too low for you, bid higher or skip it. Do the sums now, not after you win.

Example 3: weekend customer support for a skincare brand

The job post: “Small skincare brand, about 40 emails a day. Need weekend support Saturday and Sunday, US Pacific time, using Gorgias. Refunds need my approval. Please share how you would handle an angry customer.” Hourly, 8 hours a week. 10 Connects.

The proposal:

Hi, I can cover your Saturday and Sunday inbox so Monday starts at zero instead of 80 emails.

In the first weekend I would tag every ticket (order status, product question, refund request, complaint), answer the first two from your macros, and leave refund requests in a “Needs approval” view with the order number and my suggested reply so you can approve in one click.

On angry customers: I acknowledge the specific problem in the first sentence, say exactly what happens next and by when, and never promise a refund I am not allowed to give. I attached three practice replies (late delivery, allergic reaction, wrong item) and the escalation rules I used.

Do you want allergic-reaction messages escalated to you immediately, even on weekends? I would treat them as urgent by default.

I have not used Gorgias yet, but I have worked in Zendesk, and I will work through Gorgias’s own help documentation and your macros before the first shift.

Why it works: it answers the client’s direct question inside the proposal, is honest about the tool gap with a fix, and spots a real risk (health complaints) the client did not mention.

Weak versus strong, line by line

Weak line Strong line
“Dear Sir/Madam, I am writing to apply for this position.” “Hi, I can have all 150 products live before your 15 October sale.”
“I am a hardworking, reliable and fast learner.” “I attached a practice catalog cleanup with the change log.”
“I have skills in Google Sheets, Canva, Trello, Asana, Slack, Zoom…” “I would map the supplier columns to Shopify’s CSV first.”
“I am available 24/7.” “8 a.m. to noon Eastern is my set shift.”
“Hoping for your positive response.” “Should descriptions be copied as-is or rewritten?”

“Available 24/7” is a red flag to experienced clients, not a selling point. They know nobody is, and it suggests you will burn out by week three.

Answer screening questions properly

Clients often read screening answers before the cover letter. Answer each one as if it were the only thing they read.

“What is your experience with Google Calendar?”

Weak: “I am very good with Google Calendar.”

Strong: “I use it daily for my own shifts and built the practice booking system in my attachment: color-coded event types, 15-minute buffers between showings, and the buyer’s phone number in each event so you can call from your phone.”

“Describe a time you made a mistake at work.”

Strong: “On my BPO account I once sent a billing update to the wrong customer with a similar name. I reported it to my team lead within the hour, we sent a correction, and I started checking the account number, not just the name, before sending. I still double-check identifiers before anything goes out.”

“What is your expected rate?”

Strong: “$8 per hour for the 10 hours a week in your post. I am open to a one-week trial at that rate so you can judge the fit.”

When to boost, and when not to

Boosting spends extra Connects to put your proposal in a marked “Boosted” position near the top of the client’s list. You bid against other freelancers, so the cost varies. It does not change whether the client thinks you fit.

A sensible rule for beginners: boost only when all three are true. The post matches one of your samples almost exactly, it has fewer than about 15 proposals so far, and the job is worth at least several times the extra Connects. Otherwise save them for another application.

When the client replies

Answer within your stated hours, keep it short, and move toward a small agreed step.

Thanks for getting back to me. Yes, the showing requests come mostly from Zillow, so I would start with filters there. I am free for a 15-minute call on Upwork today at 8:30 a.m. or tomorrow at 9:00 a.m. Eastern. If you prefer to skip the call, I can start the one-week trial once the contract is set up.

Keep the conversation and any call on Upwork until there is a contract. Upwork’s rules prohibit taking pre-contract talks or payment elsewhere, and a client who insists on Telegram or WhatsApp before hiring is showing a common scam pattern.

For interview preparation, see Virtual Assistant Interview Questions With No Experience.

Final check before you click Submit

  • First line mentions their task, not you.
  • Any hidden instruction in the post is followed.
  • One relevant attachment, opened once to confirm it works, with no real client data.
  • One question, and it is not answered in the post.
  • Every screening question answered on its own terms.
  • Fee shown on screen checked against your bid.
  • No phone number, email or outside links where Upwork does not allow them.
  • Client’s name spelled right if you used it.

FAQ

How long should an Upwork proposal be?

For a typical VA job, 120 to 200 words is plenty. A larger long-term role can justify more, but every added sentence should be about their work.

Can I use AI to write proposals?

Use it to check grammar or tighten a draft you wrote. A proposal generated from the job post reads like every other generated proposal, and clients are reading dozens. Your specific plan, proof and question are what make it yours.

What if I meet only some requirements?

Apply if you can do the core task and the gap is a learnable tool. Name the gap and your fix, as in Example 3. Skip posts where the missing piece is the core of the job.

Should I lower my rate to win the first job?

Lower the size of the first step, not your rate. A $30 test milestone is easier for a client to accept than a cheaper hourly rate you will regret.

Sources and further reading

Fees, limits and platform rules change. The date at the top shows when this guide was last updated, and the sources section links to the official pages it relies on. If something has changed, tell us and we will correct it.