Sell it once.
Automate the rest.

Paid, abandoned, failed, renewed, upsold: every checkout event can send emails, grant access, ping Slack, update your CRM or fire a webhook, with the whole order attached. No code.

Start your 14-day free trial

No credit card required. No coding required.

Triggers and actions

Start with the sale. Build whatever comes after.

Any checkout event can start an automation with the whole order in hand. Stack the steps, wait between them, branch on what was bought.

Starts when
Then

Plus MailerLite, Circle, Kit, Zapier and thirty more. See every integration

Course checkout receiptOn
1Checkout completedOrder #4821 · Maya Chen · $249.00Fired
2Send receipt emailPostmarkDone

Emails Maya her receipt the moment she pays, from your domain.

Your Studio hello@yourstudio.comnow
Your receipt for Launch Workshop
Launch Workshop$299.00
Coupon EARLY50-$50.00
Paid$249.00
RCP-004821.pdf
+ Add a step

Built into the checkout

Pre-built, plugged in, proven.

Templates that recover revenue and look after customers, already wired to your checkout and your tools. Switch one on. Nothing else to pay for.

On the checkout

Already there. Just switch it on.

Every checkout has its own Automations tab. Nothing to wire up somewhere else.

  • A template for every job

    Receipt, abandoned cart, failed payment, CRM. Ready to run as they are, or tweak in a couple of clicks.

  • Templates that pay for themselves

    Abandoned cart and failed payment alone bring back orders you would have lost.

Automation
Automations that run for this checkout
Suggested
Send customer receipt
Send customer receipt
Email customers their receipt the moment checkout completes.
Recover abandoned cart
Recover abandoned cart
Email customers who started checkout but didn't pay.
Tag customer in CRM
Tag customer in CRM
Send the buyer to your CRM via webhook.
Record Tolt referral commission
Record Tolt referral commission
Credit affiliates in Tolt when an invoice is paid.
Browse all templates

On brand

Everything it sends looks like you.

Set a logo and a colour once. Every email and page Plandalf sends for you wears them, from the receipt to the last abandoned-cart nudge.

  • Receipts, invoices, reminders, recoveries

    All from your name, in your colours. Never a generic email with somebody else's logo on it.

  • Nothing to design

    No email tool, no PDF tool, no template. It's on from the first order.

Bonjoro
ReceiptYour receipt for RCP-000268Hi Harriet, thanks for your purchase. Your receipt is attached.
View receipt
Cart reminderStill thinking it over?Your cart is saved. Pick up where you left off whenever you like.
Finish checkout
Payment failedYour payment didn't go throughNo charge was made. Update your card and we will try again.
Update card

Sent as Bonjoro <receipts@bonjoro.com> · 1/33 Bayswater Rd, Potts Point NSW · ABN 61 612 340 118

Runs and logs

Did they get the email? Now you know.

Every run sits on the order it ran for. Open it and see what fired and what came back.

  • The whole story on one row

    Who it ran for, what each step sent, what the tool said back.

  • Re-run, not refund

    A tool was down? Re-run the step with the same order.

Abandoned cart Active
109 runs5 recovered
TriggerCart abandonedjordan@jem-digital.com.au · $149.00 in the cart
ActionAdd to MailerLite groupAdded to ‘Abandoned cart Swag Bag 2026’ · 1.5scompleted

For developers

No code required.
All the code you want.

The sequences above need none of this. This is for when a step is your own code.

  1. 1

    Add a webhook step

    Any step in any sequence can POST to your URL, or straight into a Zapier, n8n or Make webhook. Shape the body with merge fields, add your headers.

  2. 2

    Get the whole order

    Customer, line items, totals. Nothing to fetch.

  3. 3

    Do the thing

    Provision, write the row, call the next system. If it fails, the run shows why and you can rerun it.

// POST https://api.yourapp.com/plandalf/paid
{
  "event_type": "checkout.completed",
  "invoice_number": "RCP-000482",
  "customer_email": "jane@example.com",
  "customer_name": "Jane Doe",
  "total": 14900,
  "currency": "USD",
  "line_items_summary": "Course Pro"
}

Inbound webhook trigger

Start a sequence from your side. Anything that can POST can kick one off.

$ curl -X POST \
  app.plandalf.com/hooks/catch/… \
  -d '{"email":"jane@example.com"}'

Integrations

Keep your site. Upgrade how it sells.

Plus a fully documented REST API and webhook layer for whatever’s not in the list.

The team

Built by a team obsessed with conversion.

AarogornBilbertBuildoFoundoLegoli

15+ years building SaaS businesses together. Every part of Plandalf comes from a real checkout problem we’ve had to solve ourselves.

No credit card required. Nothing to migrate.

Feature detail