Proposal Attachments let you upload files to a campaign — Lancer includes them automatically on every proposal it submits. Available to all organizations.
Fixed mode vs Smart mode
The Proposal Attachments section in your campaign's Automation tab has a Fixed / Smart toggle.
Fixed — the same set of files attaches to every proposal this campaign sends (e.g. a standard portfolio PDF or capability deck). This is the default.
Smart — you define up to 3 cases, each with a plain-language condition and its own files. For each bid, AI reads the job's title, description, and screening questions and attaches the files of whichever cases match.
Switching between modes preserves your files in both modes — nothing is deleted when you toggle.
Setting up Fixed attachments
Open your campaign and go to the Automation tab.
Scroll to the Proposal Attachments section and confirm the toggle is set to Fixed.
Click Add files and choose up to 5 files from your device.
Uploaded files appear in the list immediately and are stored securely.
Setting up Smart attachments
Set the toggle to Smart.
Click Add case. You can have up to 3 cases per campaign.
In the condition field, describe in plain language when these files should be attached — for example: "Client wants a Shopify or e-commerce store." or "Job mentions a mobile app (iOS/Android)."
Click Attach files inside the case card to add up to 5 files to that case.
Cases with an empty condition are skipped and highlighted with a red border — add a condition or remove the case.
How matching works: At bid time, AI reads the job's title, description, and screening questions and returns a yes/no decision for each case. Files from all matching cases are combined, deduplicated, and uploaded (up to 5 total, in case order). Your file contents are never sent to the AI — only your condition text and the job text are used.
Limits
Fixed mode: up to 5 files per campaign, 25 MB each.
Smart mode: up to 3 cases, up to 5 files per case, 25 MB each.
Per-proposal cap: at most 5 files are uploaded to any single proposal. If multiple Smart cases match and together exceed 5 files, only the first 5 (in case order) are uploaded.
Duplicate filenames are rejected — rename the file and try again.
Executable and script file types are blocked (e.g.
.exe,.bat,.jar,.vbs).
How attachments are sent
When Lancer submits a proposal, it downloads your files and uploads them through Upwork's proposal form before submitting.
Attachments are sent on a best-effort basis — if the upload to Upwork fails for any reason, Lancer still submits the proposal without the attachment rather than skipping the job entirely.
In Smart mode, if the AI matcher times out or errors, no files are attached for that bid (the proposal still submits).
Each file's size and checksum are verified after download to confirm it arrived intact.
Checking what went out with a proposal
You can see which files and Upwork profile highlights each proposal was sent with:
Recent Leads (dashboard): next to the job title, a 📎 icon with a count shows how many files went out, and a highlight icon with a count shows how many profile highlights were added. Hover over either to see the names. If nothing went out, no icon is shown.
Lead sidebar, Proposal tab: the Attachments section lists the files and how they were chosen (same files on every proposal, picked by AI for this job, or sent through the API). In Smart mode it also shows each case's match or no-match verdict with the AI's reason. The Profile highlights section lists each highlight the bid asked for; one that could not be added is greyed out with the reason (for example Not found on Upwork).
The sidebar also explains an empty result: None of the cases matched this job, so no files were sent, The AI could not check the cases for this job, so no files were sent, or Upwork did not accept the files, so this proposal went out without them.
This applies to proposals sent after this feature shipped (18 Oct 2026); older leads don't have the details.
If a profile highlight you selected was deleted from your Upwork profile, Lancer does not fail the proposal:
The highlights that still exist are attached as usual, and the missing one shows as Not found on Upwork in the sidebar. This does not count as a degraded bid.
If every selected highlight is gone, Lancer attaches the first projects of your Upwork Portfolio tab instead (as many as were requested, up to 4). The sidebar marks these as picked automatically.
After your Upwork profile syncs, Lancer also removes highlights that no longer exist on Upwork from your campaigns' selections, as long as at least one selected highlight is still there. If all of them are gone, update the selection in the campaign.
Job and certification highlights that cannot be found are still reported as not added.
Contact-details warning
Upwork can refuse a proposal when an attached file shows contact details (emails, websites, social handles, phone numbers or messenger links), because that is against its policy before a contract starts. Upwork does not always flag such files, so you may only find out from a refusal.
When you upload a file, Lancer reads its text (PDF, Word .docx and plain text) and, if it finds contact details, shows an amber warning under the file listing what it found.
Files uploaded earlier are checked the next time you open the campaign's attachments section.
The warning is advisory: the file still uploads and is still sent. To fix it, remove the contact details from the file and upload it again.
Names of well-known tools (for example Zapier or Notion) are not flagged, but links to a profile or path on them are. Scanned-image PDFs and image files have no readable text, so they are not checked.
Removing attachments
Click the trash icon next to any file to remove it.
Removal takes effect immediately — the file will not be attached to future proposals, but does not affect proposals already submitted.
