Skip to content

Integration recipe · Salesforce

Send a postcard when a Salesforce opportunity changes stage

Closed Won, then a card.

Run a Flow only on the exact stage change. Call your mail connection once, then save the Opportunity ID with the mailpiece ID.

  • Reviewed against primary sources
  • Last updated: October 11, 2026
  • No setup fees

The recipe

How do you send a postcard when a Salesforce opportunity changes stage?

Use an after-save record-triggered Flow with a stage-transition condition.

  1. Choose the transitionFor example, move from Proposal to Closed Won. Name both sides when it matters.
  2. Resolve the recipientSelect the intended Contact or Account address with a documented rule.
  3. Call the connectionAuthenticate with a Named Credential and map the reviewed payload.
  4. Handle faultsStore the error, keep the Flow from looping, and route the record for review.
Read the full answer

Compare the prior stage with the current stage. Require an eligible related contact and complete postal address. Build the idempotency key from the Opportunity ID, target stage, and source event key. Use HTTP Callout or another approved connection method. For the underlying record contract — stable IDs, duplicate keys, and release states — see direct mail API guidance.

Do not trigger on every Opportunity update. A note, amount, or owner change must not create another piece.

How it connects

One stage change. One postcard.

Not every edit.

Field map

Pick the recipient before the callout.

Map each Salesforce value to one mail field and one control.

Salesforce Flow field map
Salesforce valueMail fieldControl
Opportunity.Idsource_record_idRequired and stable.
Opportunity.StageNametrigger_reasonThe exact eligible transition.
Contact.Idrecipient_keyDocumented primary-contact rule.
Contact mailing fieldsPostal addressHold incomplete values.
Template keytemplate_idKept in configuration.
Mail activity recordResult and join keysWritten without retriggering the Flow.

Salesforce FAQ

Check these before activation.

Pricing it out? See plans and per-piece rates.

Primary sources

  1. Salesforce: HTTP Callout from Flow
  2. Salesforce: Record-triggered Flow considerations
  3. Salesforce: Named Credentials

No native Salesforce connector claimed. Plans: list upload, dedupe, and automated mail need Operator or Growth. Integrations and API access need Growth and connect through a no-code tool or our API. Product plans, trigger names, and connector access can change. Confirm yours before production use.

How do you write the postcard result back to Salesforce?

Use dedicated fields or a related mail-activity record. Store source event ID, campaign ID, mailpiece ID, current state, exception reason, and timestamps. A related record is better than one set of fields when an Opportunity can have more than one mail event.

Keep the writeback update outside the original stage-change decision. Test for recursion and Flow re-entry.

Can Salesforce Flow call an external mail API?

Salesforce documents HTTP Callout for Flow. Access, authentication, and limits depend on the Salesforce setup.

Should the Flow trigger when any Opportunity field changes?

No. Check the specific prior and new stage values so unrelated edits do not send mail.

Where should multiple mail events be stored?

Use related activity records when one Opportunity can create more than one mail event. This preserves history better than overwrite-only fields.

Before launch

Preflight checklist before the first live send
  • Use one stable source-event ID and save it with the mail record.
  • Require recipient name, address line 1, city, state, and ZIP Code before release.
  • Set a duplicate rule for the person, household, property, order, or job.
  • Render a proof with a test record before any funded send.
  • Define who can pause the workflow and who can approve release.
  • Store the source record ID, campaign ID, and returned mailpiece ID together.
  • Treat mailstream events as operational signals, not proof of attention or revenue.

Name the stage. Save the result.

Start with one stage.

Test one record in a non-mailing path. Then check Flow re-entry, fault handling, and writeback before activation.

Thanks for believing in the power of real connection.