Skip to main content

Setting up Auto-Invitations (email forwarding)

How Lancer detects and auto-responds to Upwork client invitations — including dynamic cover letter templates with {{ }} variables, the inline preview, per-bidder invitation attachments, and how to manually retry a failed bid.

Written by Ivan Nedelkovski

What Auto-Invitations does

When a client invites you to a job on Upwork, Lancer can detect that invitation the moment it arrives and respond immediately on your behalf — without you needing to check Upwork manually. To do this, Lancer uses email forwarding: your email provider forwards Upwork notification emails to Lancer as soon as they land in your inbox.

Lancer recognises both the standard Upwork invitation email and the newer Braze-powered "apply for free — no Connects needed" template (subject: Invitation to Interview for: …). Both formats are detected and handled automatically once forwarding is set up.


Your whole inbox is never forwarded

The setup wizard walks you through creating a filter — not a blanket forward. The filter has a single, narrow rule:

  • If sender contains upwork.comforward to Lancer

That's it. Every other email you receive — from clients, colleagues, newsletters, anyone — stays in your inbox, private and untouched. The upwork.com domain (without the @) covers both invitation emails (@upwork.com) and message-notification emails (@email.upwork.com) in a single rule.


Running the setup wizard

Open Connected Accounts, find the bidder account you want to enable this for, and click Set up auto-invitations. The wizard takes about 1 minute and is the same across all supported providers:

  1. Intro screen — confirms what forwarding is for and that only Upwork emails will be forwarded. Click Next to begin.

  2. Add the forwarding address — paste Lancer's forwarding address into your email provider's forwarding settings. For Gmail and Google Workspace, Lancer auto-confirms the verification email sent by Gmail so you don't have to click anything.

  3. Create the filter / rule — inside your email provider, create a rule matching upwork.com senders and forwarding them to Lancer. The wizard shows the exact steps and screenshots for your provider.

Supported providers: Gmail, Google Workspace, Microsoft 365, iCloud, Outlook.com, Proton, Zoho, and a generic "custom" path for other providers. Yahoo Mail requires a paid Yahoo Plus subscription for forwarding rules.


After setup completes

You'll see one of two completion screens:

  • "You're all set" — forwarding is verified. Lancer is now listening for Upwork invitations sent to this account.

  • "Forwarding pending verification" — your provider doesn't send a confirmation email, so Lancer can't verify automatically. Forwarding stays pending until the first real Upwork email arrives at Lancer's inbox — at that point the pending badge drops off automatically. No action is needed from you.

Once forwarding is active, the bidder's Triggers settings page unlocks. To start auto-bidding, toggle on Auto-bid on Invitations, then pick a Knowledge base profile and write your cover letter template. A warning is shown until both are set.


Writing the invitation cover letter

The cover letter is a free-text template saved on the bidder account. By default, every word is sent exactly as written. To personalise a section per invitation, wrap it in {{ }} — Lancer generates that span for each invitation using the selected knowledge base profile and the invited job's title, description, and screening questions.

  • Text outside {{ }} is sent verbatim — your intro, sign-off, fixed talking points, anything that doesn't change job to job.

  • Text inside {{ }} is a plain-language instruction — describe what you want the AI to write in that spot.

Examples of variable spans:

  • {{client name if available}}

  • {{one relevant case study from my profile that fits this project}}

  • {{ pose a short, thoughtful question about the project }}

The AI fills only the {{ }} spans. It never adds extra sentences, greetings, or sign-offs, and it never rephrases or removes text outside the braces. If you write a cover letter with no {{ }} spans, it is sent exactly as typed — no AI call is made.

Previewing against recent invitations

Below the cover letter editor, click Preview on recent invitations to expand a test table showing up to 10 of this bidder's most recent invitations. Click Run preview to generate the cover letter for every row using your current (unsaved) draft — no need to save first. The result appears inline for each row; clicking a row opens the full lead sidebar for job context. Re-run as many times as you like while you refine the template.


Invitation attachments

The Attachments section on the Triggers page lets you upload files that Lancer includes with every invitation proposal this bidder sends. Choose Fixed (same files on every reply) or Smart (AI picks files per invited job). Switching between modes preserves files in both — nothing is deleted when you toggle.

Fixed mode — the same set of files attaches to every invitation reply, for example a standard portfolio PDF or capability deck. Up to 5 files, 25 MB each.

Smart mode — define up to 3 cases, each with a plain-language condition and its own files. For each invitation, AI reads the job's title, description, and screening questions and attaches only the files whose cases match. Up to 5 files per case, 25 MB each. At most 5 files total are uploaded on any single proposal — if multiple cases match and together exceed 5 files, only the first 5 (in case order) are sent. Cases with an empty condition are skipped.

Condition examples: "Client wants a Shopify or e-commerce store." · "Job mentions a mobile app (iOS/Android)." · "Client needs data engineering or ETL pipelines."


Tracking auto-applied invitations

The Invitations table on your dashboard shows a status chip for every invitation, ordered newest first. Once auto-bidding is active, you'll see three states:

  • ⚡ Auto-sent — Lancer detected the invitation via email forwarding and automatically submitted a proposal on your behalf.

  • ✈ Sent — a proposal exists for this job, but you applied manually on Upwork rather than through Lancer's auto-bid.

  • Not sent — no proposal has been submitted for this invitation.

Both ⚡ Auto-sent and ✈ Sent chips link directly to the inbox conversation for that application, so you can read the proposal or reply to the client without leaving Lancer.


Manually bidding from the invitation drawer

You can trigger a bid for any invitation that hasn't been sent yet directly from the lead drawer — no need to wait for the auto-bid queue. Click any row in the Invitations table to open the drawer; if the invitation is still unsent, a Bid now button appears at the bottom.

Bid now only appears when this bidder has the full auto-invitation setupAuto-bid on Invitations toggled on, a cover letter template written, and a knowledge base profile selected under Connected Accounts → Triggers. Without all three, a bid can't generate a proposal and would fail partway through (after a browser session and a scrape), so the button is hidden entirely rather than let you queue a bid that's guaranteed to fail. Finish that setup first, then reopen the drawer.

Once set up, the button covers two cases:

  • The invitation hasn't been auto-bid yet — for example, it arrived before auto-invitations were fully configured, or the auto-bid queue hasn't picked it up yet.

  • A previous bid attempt failed — Lancer retries automatically up to 2 times on transient errors (for example, a page-load timeout on Upwork's side) before marking the bid as failed. If all retries are exhausted, the drawer's Bid now button lets you queue a fresh attempt without any action on Upwork.

While a bid is queued the button shows as disabled with a Bidding shortly label — this prevents double-sending. Once the worker finishes, the drawer refreshes automatically to show the updated status.


Troubleshooting

  • The pending badge hasn't cleared: wait for the next Upwork notification to arrive (an invitation, a job-update email, etc.). Once one comes through, verification completes on its own.

  • Invitations aren't being detected: double-check your filter matches upwork.com (not @upwork.com) and that it's set to forward to the Lancer address shown in the wizard, not just to archive or label.

  • My Knowledge base profile, cover letter, or Auto-bid toggle keeps reverting after I save it: a bug affected invitation Trigger saves between 2026-08-09 and 2026-08-14 — a change looked like it saved but silently reverted on the next page load. This is now fixed. If you edited any of these settings in that window, reopen Connected Accounts → Triggers for the affected bidder and re-select/re-save your Knowledge base profile, cover letter template, and Auto-bid toggle to confirm they persisted.

  • No Bid now button on an unsent invitation: this bidder is missing part of the auto-invitation setup. Open Connected Accounts → Triggers for that bidder and confirm Auto-bid on Invitations is on and both a cover letter template and a knowledge base profile are set.

  • A bid shows as failed: Lancer already retried it twice automatically. Open the invitation from the Invitations table and click Bid now in the drawer to queue another attempt. If it keeps failing, message us in the chat so we can check the error logs.

  • Wrong Gmail account: if you have multiple Gmail accounts, make sure you're signed into the one that matches your Upwork account's email before creating the filter.

  • Still stuck: message us in the chat and we'll walk through it with you.

Did this answer your question?