FlowRunner
PricingContact
Theme
Start Free

Thanks.io

Communication

Send handwritten-style postcards, notecards, letters, and gift cards by post with Thanks.io and track each piece through delivery. Agents trigger physical mail off a milestone and see when it lands.

4 triggers 14 actions API key available
Thanks.io website ↗ Platform Documentation ↗ Capability data verified 2026-08-02
A win-back segment is refreshed overnight in the CRM
Agent resolves the segment to a saved mailing list and calls List Mailing List Recipients to enumerate exactly who is on it
Agent reconciles the enumerated list against the opt-out register
Delete Recipient removes anyone who has asked not to receive post, so the suppression applies to this run rather than the next one
Preview Only renders the notecard with merge fields filled, returning proofs without creating an order or charging anything
Agent posts the list name, the final recipient count and the proof to the campaign channel
The owner confirms this is the right list and approves; the agent calls Send Notecard against that list ID

What This Integration Enables

Thanks.io posts handwritten-style postcards, notecards, letters and gift cards, and the reason to build a flow on it rather than on any other mailer is that each individual piece reports back. Statuses run through Processing, Printed, Shipped, In Transit, In Local Area, Processed for Delivery, and then to Delivered, Returned to Sender or Failed. A FlowRunner agent can therefore treat a card as an event with a landing time instead of an item that vanishes into the post.

That changes what mail is for. If you know the day a card arrives, the follow-up call, the email, and the rep's reminder can all be timed to the moment the recipient is holding it, which is the only moment direct mail is actually competing for attention on its own terms. The connector also covers saved mailing lists, bulk recipient import, and per-piece tracking with Track Order, which surfaces the pieces that failed with the postal service's reason attached. Note that the webhooks behind the triggers are a paid-plan feature.

Without FlowRunner

An audience nobody enumerated A saved list is mailed by name with no one checking who is currently on it
Opt-outs handled after the send Suppression requests are applied to the next run rather than this one
Mail disappears after posting Whether a piece arrived is unknown, so follow-up is scheduled by guesswork

With FlowRunner

Audience read before it is used The recipient list is enumerated and reconciled before a single piece is created
Suppression applied in the same run Opt-outs are removed from the list in the step immediately before the send
Follow-up timed to delivery Each piece reports its own status through to delivered, returned or failed

Use Case Scenarios

A win-back run against a saved list

A segment in Salesforce refreshes overnight. Rather than passing recipients inline, the flow uses a saved Thanks.io mailing list so the same audience can be reused across runs. Before sending, the agent calls List Mailing List Recipients to enumerate the list as it stands today, reconciles it against the opt-out register, and calls Delete Recipient for anyone who should not be there. Preview Only renders the notecard proof without creating an order. The owner confirms the list and approves, and the agent calls Send Notecard. The notecard is used deliberately here rather than a postcard, because the message is hidden until the envelope is opened.

Follow-up timed to the doormat

On Mail Piece Delivered fires per piece, carrying the recipient and the delivery date. The agent writes the delivery date onto the CRM record, reopens the account, and posts the day's landed pieces into the sales channel in Slack with the account context attached. The rep sees a short list of people who are holding a card from them today and decides which ones are worth a call. The agent does not book the calls, because deciding where a rep spends an hour is not a routing problem, it is a judgement about which relationship is worth the time.

Gift cards and the pieces that come back

A win-back gesture goes out with Send Gift Card, carrying a named brand at a permitted denomination. Some of those pieces will come back: Track Order reports counts for processing, printed, in transit, delivered, returned to sender and failed, with per-piece errors such as an address the postal service cannot deliver to. Each returned piece is stored value that reached nobody. The agent collects them, attaches the postal reason and the CRM record, and asks the campaign owner what to do with each: reissue to a corrected address, mark the contact as unreachable, or write it off. It does not silently reissue, because reissuing is a second charge against a record that has already proven to be wrong.

Human-in-Loop Highlight

The gate is on which list, and it exists because of an unusually small piece of API surface. Every send action here accepts either recipients listed inline or the ID of a saved mailing list, which means one integer decides whether twelve people or twelve thousand receive post. An inline send is auditable by reading the flow. A list ID is not: the audience lives on Thanks.io's side and can have been imported, deduplicated or bulk-loaded since anyone last looked at it. So before Send Postcard, Send Notecard, Send Letter or Send Gift Card runs against a saved list, the agent enumerates it with List Mailing List Recipients and asks: "Sending the Q3 win-back notecard to list Lapsed 2025, which currently holds 1,180 recipients, up from 940 at the last run. 22 of them appear on the opt-out register and have been removed. Proof attached. Confirm the list and send?" Cancel Order only works while an order is still in review, before it goes to print, so this question is asked before the send rather than raced against it. The human-in-the-loop step here is not approving the words. It is approving who gets them.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

14 actions

Sending Mail

4
  • Send Postcard Sends a physical postcard with a handwritten-style message to one or more recipients, either listed inline or drawn from a saved mailing list. This bills the account and puts real mail in the post. Preview renders proof images and returns them without creating an order or charging anything.
  • Send Notecard Sends a folded notecard in an envelope with a handwritten-style message. The message is hidden until the envelope is opened, which is the reason to choose it over a postcard. Preview Only checks the artwork first.
  • Send Letter Sends a letter in a windowed envelope, optionally appending extra PDF pages or replacing the generated letter entirely with your own PDF. Preview Only checks the artwork first.
  • Send Gift Card Sends a physical card carrying a gift card from a named brand, with the value set in minor currency units. Brands and their permitted denominations vary, so the gift card picker is checked before an amount is chosen.

Order Tracking

3
  • List Orders Retrieves mail orders on the account with their type, status and recipient counts. Used to reconcile sends against your own records.
  • Track Order Returns delivery progress for an order, with counts of pieces processing, printed, in transit, delivered, returned to sender or failed, plus per-piece errors such as an address the postal service cannot deliver to.
  • Cancel Order Cancels an order and refunds its credits. Only possible while the order is still in review, before it goes to print. The order object exposes a cancellable flag that a flow can check first.

Mailing Lists

4
  • List Mailing Lists Retrieves the saved mailing lists with their type and recipient counts. The list IDs returned here are what the send actions expect when mailing a saved audience.
  • Create Mailing List Creates an empty list to populate with recipients. Lists let an audience be reused across repeated campaigns instead of passing recipients inline every time.
  • Delete Mailing List Permanently deletes a list and its stored recipients. Orders already sent to the list are unaffected.
  • List Mailing List Recipients Retrieves the recipients stored in a list, optionally only those changed since a given date so a flow can sync incrementally. Returns up to 10,000 recipients per page. This is how an agent finds out who it is actually about to mail.

Recipients

3
  • Create Recipient Adds a single recipient to the account, optionally attaching them to a mailing list. Custom fields one through four are available to message merge tags at send time.
  • Create Recipients In Bulk Adds many recipients in one call, which is far faster than looping Create Recipient when importing a list.
  • Delete Recipient Removes a recipient from the account so they are excluded from future sends to any list they belonged to. Used to honour opt-out requests.

Triggers

4 triggers

Event Triggers

4
  • On Order Status Updated Fires when an order changes state, delivering the order alongside its previous and current status. Used to know when a campaign has finished printing or been fulfilled without polling. Webhooks are a paid-plan feature.
  • On Mail Piece Status Updated Fires each time an individual piece changes state, delivering the recipient and the previous and current status. Statuses run through Processing, Printed, Shipped, In Transit, In Local Area, Processed for Delivery and finally Delivered, Returned to Sender or Failed. Webhooks are a paid-plan feature.
  • On Mail Piece Delivered Fires when a piece is confirmed delivered, carrying the recipient and the delivery date. Used to time a follow-up call or email to land while the card is still in someone's hand. Webhooks are a paid-plan feature.
  • On QR Code Scanned Fires when a recipient scans the QR code printed on a piece, carrying the scanned URL and the originating order. Used to measure response and trigger immediate follow-up. Webhooks are a paid-plan feature.

Frequently Asked Questions

What can FlowRunner do with Thanks.io?

FlowRunner agents can run Send Postcard, Send Notecard, and Send Letter in Thanks.io, plus 11 more actions.

Does connecting Thanks.io to FlowRunner require OAuth?

No. Thanks.io connects to FlowRunner with an API key, no OAuth flow required.

Can Thanks.io trigger a FlowRunner workflow automatically?

Yes. Thanks.io supports 4 triggers that can start a FlowRunner workflow automatically.

Start building with Thanks.io

$100 in credits. No card required. Connect in minutes.