Short answer
Most cover-letter problems come down to two things: the AI is missing a fact (so it guesses), or it needs a clearer instruction. Both are quick to fix — and always re-check your changes in Test Mode.
Wrong or missing rate, pricing, or links
If the AI states the wrong hourly rate, makes one up, or skips a pricing question, it's because that fact isn't in its context. Put your rate, pricing and portfolio links into your Knowledge Base so it uses the real numbers instead of guessing.
It references the wrong work, or "forces" a connection
If it cites an irrelevant case study (say, a Webflow project on a Shopify job) or stretches to link unrelated industries, add a short line to your cover letter template like: "only reference the 1–2 most relevant case studies; don't force connections." Keeping your Knowledge Base specific also gives it better material to pull from.
Em-dashes, asterisks, and weird formatting
To stop em-dashes, add an explicit instruction: "never use em-dashes." For bold, Upwork doesn't render Markdown **asterisks** — ask for Unicode bold instead, or just drop the emphasis. Small, explicit formatting instructions in the template work best.
Controlling generated letter length
On jobs with no screening questions, Lancer targets 80–120 words by default. On jobs with screening questions, the AI writes to fit the job without a fixed limit. To adjust the length on either path, add an explicit instruction in your campaign's Cover Letter Instructions field. Examples:
"Keep the cover letter to 150 words or fewer."
"Write no more than 100 words."
"Aim for 3 short paragraphs maximum."
The instruction takes effect on the next bid — re-check in Test Mode to confirm the output matches your preference.
A "bid failed" on a long proposal — the 5,000-character limit
Upwork rejects cover letters over 5,000 characters, which can surface as a failed bid. Keep your template tight — trim sections and cut filler so the final letter stays comfortably under the limit.
Dynamic variables
Templates support dynamic instructions (the {{ }} segments) so each proposal adapts to the job. For how they work, see The Cover Letter & Question Handling.
