Automate dispute management
Where your integration plugs into Chargeflow's automation pipeline: subscribe to dispute.created, then send a second enrichment and track the outcome via the API.
You have connected your PSPs and want disputes fought automatically. Chargeflow runs the whole pipeline on its own - this guide shows the two places your integration actually does work, and how to wire them.
The full ingest → enrich → generate → submit → monitor model is taught canonically in Dispute Automation Engine. Your integration touches it in exactly two places, both optional but high-impact:
| Pipeline stage | Who acts |
|---|---|
| Ingest · first enrichment · generation · submission | Chargeflow, automatically |
| Second enrichment | You - send targeted signals the engine can't retrieve on its own |
| Monitor | You - read status, or subscribe to lifecycle webhooks |
Connect your PSPs
Connect your payment processors in Chargeflow Settings. From then on, every new dispute from those processors is ingested and enriched automatically - you do not poll any PSP API or import disputes by hand.
Subscribe to dispute.created
Register a webhook endpoint so your enrichment flow triggers the moment a dispute is ingested. See Subscribe to webhook events for registration, and dispute.created for the payload.
Send a second enrichment (the high-impact step)
This is where your integration adds the most win-rate. After dispute.created, inspect what Chargeflow already matched (transaction, order, subscription) and fill the gaps by calling the enrich endpoint with the data only you have - order details, subscription history, customer activity, communications.
See Enrich a dispute for the PATCH endpoint, upsert semantics, and array-merge behavior.
Tip
Enrich as early as possible after dispute.created. Chargeflow folds your signals into the evidence package before submission - the sooner they arrive, the more the engine can build around them.
Track the outcome
Chargeflow generates, submits, and monitors the case for you - you never call a submit endpoint or touch the processor's dispute API. To follow progress, read the dispute (status moves needs_response → under_review → won/lost) or subscribe to lifecycle webhooks and feed your own dashboards.
Next step
Enrich a disputeSend the signals that move win rate - the PATCH endpoint and merge behavior.Building the whole thing end-to-end? Follow the Automate a chargeback dispute recipe.