Integration · Postscript
Dough Dog + Postscript: subscription-aware SMS
Dough Dog sends 11 subscription events to Postscript with the dates, items and totals already filled in. Build the texts in Postscript Flows and they go out on real subscription moments, not guesses.
Book a demoText a heads-up before every charge, with one-tap links to skip, delay or swap.
Recover failed payments by text, warn subscribers before an out-of-stock item ships, and keep your SMS segments current with subscription status on every subscriber. Launch in under 12 hours.

The problem with generic events
They optimize for reordering.
We optimize for anticipation.
Dough Dog + Postscript
Eleven subscription triggers with ready-to-text merge tags: the next billing date, the items, the total and one-tap links. Your flows fire on real subscription moments.
Generic subscription apps
Send thin order events, or none at all. Your texts can’t tell a renewal from a first order, or warn anyone before the card is charged.
What you can build
Eleven triggers, wired to the texts that keep subscribers
Each Dough Dog event is a Postscript trigger you can build a flow on.
| Postscript trigger | Fires when | Text it powers |
|---|---|---|
| charge_upcoming | Before each upcoming charge (7 days ahead by default) | Upcoming-order reminder with skip, delay and swap links |
| charge_failed | A payment fails but can be retried | Recovery text with a link to update the card |
| payment_method_updated | The subscriber updates their card | Ends the recovery flow |
| charge_paid | A subscription order is billed | Order confirmation |
| item_out_of_stock | An item can't be reserved before the charge | Swap prompt before the box ships |
| algorithm_assigned | Dough Dog picks the subscriber's next item | “Here's your next pick” with a swap link |
| subscription_created | A new subscription starts | Welcome text |
| subscription_skipped | An order is skipped | Skip confirmation |
| subscription_cancelled | A subscription is cancelled | Win-back series |
| subscription_reactivated | A cancelled subscription restarts | Welcome-back text |
| prepaid_renewal_upcoming | A prepaid plan is about to renew | Renewal reminder |
Every trigger carries flat, ready-to-text merge tags: first name, formatted dates and totals, the item list and links. No GUIDs and no arrays, so they work in Flow Builder as they are.
How it works
Built to make your texts subscription-aware
Connect with your private key
Paste your Postscript private API key in Dough Dog under Tools → Integrations. Dough Dog checks the key before saving it and sends nothing until you connect.
Register the triggers
One click sends a sample of every event, so all 11 triggers and their merge tags show up in Flow Builder within a couple of minutes. Samples never reach a subscriber.
Write the texts in Postscript
Dough Dog sends events and never sends messages itself. You build every text in Postscript Flows, and Postscript handles opt-in and delivery.
One-tap actions in the text
Upcoming-order texts carry skip, delay and swap links that open without a login. Each link is signed and works once.
Segments that stay current
Dough Dog writes subscription status, counts and plan names to each Postscript subscriber after every change, so your SMS segments stay up to date.
Use cases
Flows brands build first
Pre-charge reminder
charge_upcoming → a text a few days before billing with the items, the total and links to skip, delay or swap.
Failed-payment recovery
charge_failed → a text with a link to update the card. payment_method_updated ends the flow as soon as they do.
Win-back
subscription_cancelled → a win-back series. Segment on dd_has_cancelled_subscription to keep it going.
The details
Everything that flows to Postscript
Merge tags you can text
- First name and plan name
- Next billing date, ship date and order total
- The item list and item count, ready to text
- Skip, delay and swap links
- A card-update link when a payment fails
- Offer headline, price and link on upcoming orders
Subscriber properties for segments
- dd_has_active_subscription, dd_has_paused_subscription, dd_has_cancelled_subscription
- Active, paused and cancelled subscription counts
- dd_active_subscription_group_count
- dd_subscribed_plan_names
FAQ
Frequently asked questions
Common questions about the Postscript integration.
What subscription events does Dough Dog send to Postscript?
Eleven: subscription created, cancelled, reactivated and skipped; upcoming charge, charge paid and charge failed; payment method updated; item out of stock; next item assigned; and prepaid renewal upcoming. Each arrives as a Postscript custom event you can use as a Flow Builder trigger.
Can subscribers skip or swap from a text?
Yes. Upcoming-order texts can include one-tap links to skip, delay, or swap to another size or variant. The links open without a login and work once. Postscript shortens them automatically.
Does the integration handle failed payments?
Yes. charge_failed fires when a payment fails but can be retried, with a link to update the card. When the subscriber updates their card, payment_method_updated fires so you can take them out of the flow.
Who decides who gets a text?
Postscript does. Dough Dog sends events and never sends messages. Only subscribers who opted in to SMS in Postscript receive texts, and you write every message in Postscript Flows.
How do I set it up, and how is it priced?
Paste your Postscript private API key in Dough Dog under Tools → Integrations, then click to register the triggers. Dough Dog's pricing is on our pricing page, and Postscript is billed separately by Postscript.