Connect Dodo Payments to Sequel and ask about your revenue, subscriptions, customers, refunds, disputes and payouts in plain English, from the Sequel app or any AI tool wired up to the MCP server. Dodo connects with a single API key, and Sequel only ever reads.
What you'll need
- A Dodo Payments business you can access the dashboard for.
- A Dodo Payments API key created with write access turned off.
Create a read-only key
When you add a key in Dodo, leave Enable write access unchecked. The key can then fetch payments, subscriptions, customers and products but cannot create or modify anything. The Sequel connector ships only read tools, so a read-only key enforces at Dodo's end what Sequel already guarantees. You can revoke the key in Dodo at any time.
Connect it
Open a new connection
In the Sequel dashboard, go to Connections → New connection and choose Dodo Payments.
Create an API key in Dodo
In the Dodo Payments dashboard, go to Developer → API Keys → Add API Key. Give it a name and leave Enable write access unchecked.
Paste the key into Sequel
Copy the key (Dodo shows it once) and paste it into the API key field on Sequel's Dodo Payments connector.
Choose the environment
Leave Environment on live for your real account. Choose test if the key came from Dodo's test mode.
Test and save
Sequel verifies the key against the Dodo API and names the connection after your brand. A green check means it's live.
Test mode and live mode are separate
Dodo's test mode runs at test.dodopayments.com with its own keys and data. A test key will not authenticate against live, and vice versa. To query both, create two connections with the environment set on each.
What you can query
Sequel exposes Dodo Payments as 10 read-only tools:
- Payments: every charge attempt, including failed ones, with status, amount, currency, customer, product, subscription, payment method and card details. Filter by status, date range, customer, product, subscription, brand or currency.
- Payment detail: one payment in full: the product cart, settlement amount and currency, tax, discount, and the refunds and disputes attached to it, plus the error code when it failed.
- Subscriptions: status (
active,on_hold,paused,cancelled,failed,expired,pending), recurring amount, billing interval, next and previous billing dates, trial days, and whether the subscription is set to cancel at the next billing date. - Customers: the customer list, filterable by email, name or created date.
- Products: the catalogue with price, recurring or one-time, tax category and entitlements.
- Refunds and Disputes: refund status, partial vs full and reason; chargebacks by stage and status.
- Payouts: each payout to your bank with fee, refunds, chargebacks and tax already netted out.
- Discounts: codes, type, times used, limits and expiry.
- Balance ledger: every payment, fee, refund, dispute, payout and adjustment as a signed entry with before and after balances, filterable by event type and currency.
Amounts are in the currency's smallest unit
Dodo returns every monetary value as an integer in the currency's smallest unit: cents for USD and EUR, yen for JPY. Sequel's agent knows this and divides before reporting, and it never sums across currencies without saying so. Ledger entries also carry a USD-equivalent amount for cross-currency totals.
Try it
- "What was our revenue last month, by currency?"
- "How many subscriptions are on hold, and which customers are they?"
- "Show payments that failed this week with their error codes."
- "How much has been paid out this year, net of fees?"
Join it with other sources
Dodo is most useful next to the rest of your stack. With Search Console and GA4 also connected, ask:
"Which organic search landing pages brought in the customers who paid in Dodo last quarter?"
Sequel's revenue playbooks already know about Dodo, so a question like that follows a tested procedure rather than an improvised join.
Troubleshooting
| Symptom | Likely fix |
|---|---|
| Authentication fails (401) | Re-check the key for typos, and check the environment: a key created in test mode only works with Environment set to test. |
| A subscription question returns nothing | Check the status filter. Dodo has no trialing status; new subscriptions start as pending, and a failed renewal shows as on_hold. |
| Amounts look 100x too large | They are in the smallest currency unit. Divide by 100 for USD, EUR and most currencies; JPY and a few others have no decimals. |
| Rate limit (429) | Dodo allows 40 requests per second and 240 per minute on the default tier. Sequel surfaces the reset time; wait and retry. |
| Data looks empty | Confirm there's data in the period and environment you're asking about; a key is bound to one business and one environment. |
Limitations
Dodo's list endpoints do not filter on metadata. If you store attribution (UTM or referrer values) in payment metadata, Sequel pulls the window and filters the metadata column in the workbench rather than at the API. Usage-based billing meters and license keys are not exposed by this connector yet.