Composite tools wrap several underlying API operations behind one call. They reduce latency, simplify the agent’s reasoning, and let EPD coordinate retries and rollback semantics that would be hard to get right from outside.

There are 11 composite tools today.

Onboarding & charging

create_customer_and_charge

In one call: create a customer, attach a payment method via billing_id, and run a one-time charge.

readOnlydestructiveidempotentopenWorld
falsefalsetruefalse

Best for: signup-and-pay flows. See Onboard and charge recipe.

create_customer_and_subscribe

Create a customer, attach a payment method, and start a subscription — all in one call.

readOnlydestructiveidempotentopenWorld
falsefalsetruefalse

process_order

Validate the customer, create the order, and run the charge as a single unit. Catches inconsistencies (e.g. a customer without payment methods) before any side effect happens.

readOnlydestructiveidempotentopenWorld
falsefalsetruefalse

Refunds & cancellations

cancel_subscription_and_report

Cancel a subscription and return a billing summary in the same response — billed-to-date, refunded, period covered.

readOnlydestructiveidempotentopenWorld
falsetruetruefalse

refund_transaction

Refund a transaction directly by transaction id (the underlying call is at the order level).

readOnlydestructiveidempotentopenWorld
falsetruetruefalse

refund_and_cancel

Cancel a subscription and refund the most recent order in one call. The most common “we’d like to make this right” flow.

readOnlydestructiveidempotentopenWorld
falsetruetruefalse

See Cancel and refund recipe.

retry_failed_charge

Re-attempt a failed transaction against the same — or a different — payment method. Useful for dunning workflows.

readOnlydestructiveidempotentopenWorld
falsefalsetruefalse

See Retry failed charge recipe.

Reporting & insight

get_customer_financial_summary

Holistic financial overview of a single customer: lifetime value, subscriptions, recent payments, refunds, dispute count.

readOnlydestructiveidempotentopenWorld
truefalsetruefalse

See Customer 360 recipe.

get_revenue_summary

Revenue metrics across a date range, broken down by currency and (optionally) by plan.

readOnlydestructiveidempotentopenWorld
truefalsetruefalse

list_past_due_subscriptions

List subscriptions whose most recent renewal failed — input for dunning.

readOnlydestructiveidempotentopenWorld
truefalsetruefalse

Convenience

setup_webhook_monitoring

Create a webhook endpoint with a sensible default event scope (all critical payment / subscription events) in one call.

readOnlydestructiveidempotentopenWorld
falsefalsetruefalse

When in doubt, prefer composite tools. They are designed to be the right answer for the most common multi-step flows.