Introduction
The Loops integration turns Dodo Payments events into Loops events, so payment confirmations, subscription updates, and failed payment notices go out as Loops emails. A transformation maps each payment event to a Loops event, and that event triggers the matching workflow in Loops.You need a Loops API key. In Loops, go to Settings → API and generate a key.
Getting Started
1
Open the Webhook Section
In the Dodo Payments dashboard, go to Developer → Webhooks and click Add endpoint.

2
Select Loops
In the Integration list, select Loops.
3
Enter API Key
Paste your Loops API key into the API key field. Dodo Payments sends it as an
Authorization header on every delivery. The integration sets the destination URL, so the key is the only value you supply.4
Configure Transformation
Edit the code under Transformation code so each event becomes a Loops event. Start from the examples below. Under Subscribed events, select the events your code handles.
5
Test & Create
Under Test this code, run the transformation against a sample payload, then click Create endpoint.
6
Done
Payment events now trigger emails through Loops.
Transformation Code Examples
Each example rewrites one event type into the body of the Loops Send an Event API: aneventName, the contact’s email, and eventProperties that your Loops emails can use.
Payment Confirmation Email
This example sends apayment_confirmation event when a payment succeeds.
payment_confirmation.js
Subscription Welcome Email
This example sends asubscription_welcome event when a subscription becomes active.
subscription_welcome.js
Payment Failure Notification
This example sends apayment_failed event with the error message and a retry link. Replace yourdomain.com with your own domain.
payment_failure.js
Tips
- Give each event a descriptive name, such as
payment_confirmation, so your Loops emails stay organized. - Include the customer properties your emails use for personalization.
- In Loops, set up a workflow and email for each event name you send.
- Use the same property names across events.
- Test email delivery before you go live.
Troubleshooting
Emails Not Being Sent
Emails Not Being Sent
- Check that the API key is correct and active.
- Check that each event name matches the event that triggers your Loops workflow.
- Check that recipient email addresses are valid.
- Review your Loops sending limits and quotas.
Transformation Errors
Transformation Errors
- Check that the payload matches the Loops API format: an
eventName, plus anemailoruserId. - Check that all required fields are present.
- Check that event names are formatted correctly.
- Give each event property a string, number, boolean, or date value.
- Check the API key’s permissions.