Webhook recipe · Stripe

Stripe → Chromoly: payments meet your process.

Stripe knows the money; your operation runs on what the money means - which invoice is settled, which customer needs onboarding, which failed charge needs a human call. This recipe turns Stripe events into those internal actions. Stripe stays the payment system; Chromoly runs the process around it.

What people build with it

The recipe

In Chromoly, add a webhook trigger to the relevant workflow: "when a payment event arrives, update the matching invoice". Copy the trigger URL.

In Stripe: Developers → Webhooks → Add endpoint, paste the URL, and select only the events you need (start with invoice.paid and invoice.payment_failed).

Store Stripe IDs on your records - the customer ID on customers, invoice ID on invoices - so events match records deterministically.

Send a test event from Stripe’s dashboard, check the run history in Chromoly, and describe the follow-on steps: status updates, tasks, alerts. Preview, deploy.

Webhook triggers and their signing secrets are covered in the integrations documentation. Every received request - including rejected ones - appears in the workflow's run history, so the connection is debuggable from day one.

What the payload looks like

{
  "type": "invoice.paid",
  "data": {
    "object": {
      "id": "in_1QxT2eK9",
      "customer": "cus_R8mNw3",
      "amount_paid": 450000,
      "currency": "sek"
    }
  }
}

The event type routes the workflow branch; the IDs match your records; the amount is in the currency's smallest unit (Stripe convention - 450000 öre = 4,500 SEK).

Questions

Which Stripe events should I send?

Only what your workflows use - typically invoice.paid, invoice.payment_failed, and customer.subscription.created. Stripe lets you select events per endpoint.

Is money moving through Chromoly?

No - Stripe remains the payment system. Chromoly receives event notifications and updates internal records: invoice status, customer state, follow-up tasks.

How do I match Stripe events to my records?

Store Stripe's stable IDs (customer, invoice) on your records - events then match deterministically, and unmatched events flag for review instead of vanishing.

Build the system this feeds

Describe it in plain language - the webhook trigger is part of the description. Preview free before anything deploys.

Start free