Technical guide · Automation tools
Send direct mail from your automation tools
Treat Airtable, Make, n8n, QuickBooks, or Stripe as an event source. Send its stable ID and structured address to a confirmed Sendvo connection, then save the result.
- Reviewed against primary sources
- Last updated: October 11, 2026
- No setup fees
Normalize
Every tool sends the same event shape.
Airtable, Make, n8n, QuickBooks, and Stripe events all map to one record with a stable source key.
Webhook controls guide{
"source": "stripe",
"event_id": "evt_01J...",
"event_type": "payment_intent.succeeded",
"source_record_id": "pi_03K...",
"recipient": { "address": "structured fields" },
"test": true
}
A new customer and a successful payment are different events.
Start here
How do you send a postcard from an Airtable record?
Trigger only when the record enters a dedicated Ready to mail state.
- Create the stateUse Draft, Ready to mail, Held, and Sent or Released values.
- TriggerRun when the record enters Ready to mail.
- Write backSave mailpiece ID, result, time, and exception reason.
Read the full answer
Use the Airtable record ID as the source key. Require separate recipient and postal fields. Store the template version, eligibility result, and mail result in dedicated fields. Move failed records to a visible exception view instead of retrying every edit. For the API-level contract that sits behind these tool connections, see direct mail API guidance.
A record-created trigger can fire before a person finishes entering the address.
Field map
Use each tool's stable key.
Never build identity from a name or address alone.
| Tool | Recommended source key | Important boundary |
|---|---|---|
| Airtable | Record ID plus Ready-to-mail transition | Creation can precede complete data entry. |
| Make | Upstream record or event ID | Retries reuse the same idempotency key. |
| n8n | Upstream record or event ID | Confirm credentials, network access, and retries. |
| QuickBooks | Customer ID | Creation does not prove invoice payment. |
| Stripe | Event ID plus payment object ID | Verify signatures, duplicates, order, and address. |
Automation tools FAQ
Settle these before the first event.
Pricing it out? See plans and per-piece rates.
Primary sources
- Airtable: Automation trigger reference
- Make: HTTP app
- n8n: HTTP Request node
- Intuit: QuickBooks Online webhooks
- Stripe: Webhooks
- Stripe: PaymentIntent events
No native connectors 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 send direct mail from a Make scenario?
Use a source module, filters, one HTTP or confirmed app action, and an error route. Normalize the source data before the mail action. Build the idempotency key from the source record and event. Use Make's error-handling route to record failures. Test the request with live mail disabled.
Do not let automatic retries create a new key. The same event must keep the same key.
How do you send direct mail from an n8n workflow?
Use the source node, an eligibility branch, a normalization step, and the HTTP Request node or a verified connector. Persist the source event ID before the outbound request. Route invalid addresses and duplicate events to separate branches. Store the returned result before later status-event handling.
Self-hosted and cloud n8n setups can differ. Confirm credentials, network access, and retry behavior in the running environment.
How do you send a welcome card when a new QuickBooks customer is created?
Use customer creation only for a welcome message that does not imply payment. Map the QuickBooks customer ID, customer name, billing or shipping postal fields, and template ID. Confirm the intended address. Filter out test, vendor, duplicate, and incomplete customer records. Record the result without changing fields that replay the trigger.
A new QuickBooks customer is not proof that an invoice was paid.
How do you send a card after a successful Stripe payment?
Use a payment-success event, not customer creation. Verify the webhook signature. Use the Stripe event ID for idempotency and the payment object ID as the source record. Resolve a complete mailing address from the permitted object or business system. Handle duplicate events and asynchronous payment states before release.
Stripe can deliver webhook events more than once and does not guarantee event order. Store processed event IDs.
- Select successUse the payment event that matches the integration's payment method and fulfillment rule.
- VerifyCheck the signature and retrieve the event when required.
- Resolve addressDo not assume every successful payment includes a usable postal address.
- DeduplicateReuse the Stripe event ID and keep it after processing.
Can a new QuickBooks customer trigger a payment thank-you card?
No. Customer creation does not prove payment. Use and verify a payment event for payment-specific copy.
Can Stripe send the same webhook more than once?
Yes. Stripe documents duplicate delivery. Store processed event IDs and enforce idempotency.
Does a successful payment always contain a mailing address?
No. Resolve and validate the postal address before the record can release.
Are these native Sendvo integrations?
No native connectors are claimed. Confirm the supported connection for each account.
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.
Use the event that proves the message is true.
Normalize the payload, preserve the source ID, test without live mail, and keep retries from creating duplicate pieces.