- Documentation
- Integrations
- Apps
- Stripe integration
Stripe integration
Take payments, run subscriptions and invoices, manage products and prices, and react to Stripe events instantly across your clients' Stripe accounts.
What it does
The Stripe integration lets your agency run a client's Stripe billing from inside a workflow. Connect a client's Stripe account once with a secret key and your workflows can create customers, payments, invoices, subscriptions, Checkout Sessions and payment links, manage products, prices and coupons, issue refunds and payouts, and look up anything by ID, list or search. Fifty-seven triggers start a workflow the moment a payment, invoice, subscription, checkout, refund, dispute, payout or catalog event happens.
Connect a Stripe account
Open Connections in your workspace
In TaskJuice, open the workspace for this client and go to Connections.
Start a new Stripe connection
Choose Stripe and start a new connection.Create a secret key in Stripe
In the client's Stripe dashboard, open API keys and create a restricted key (recommended) or copy the standard secret key. Use an
sk_test_...key to try workflows in test mode and ansk_live_...orrk_live_...key for real payments.Paste the key into the Secret Key field
Paste the key into Secret Key and save. TaskJuice stores it encrypted and never shows it again. To change it, paste a new key.
A restricted key needs write access to Webhook Endpoints so TaskJuice can register the webhook for your triggers, plus read or write access to each resource your actions touch (Customers, PaymentIntents, Invoices, Subscriptions, Products, Prices and so on).
Triggers
You do not register webhooks yourself. Publishing a workflow registers one webhook endpoint in the client's Stripe account covering every Stripe trigger you use, and TaskJuice stores the signing secret Stripe returns and verifies every delivery with it. The endpoint appears in Stripe under Developers, Webhooks, described as "Managed webhook" ("Managed by TaskJuice" on endpoints registered before October 2026). A test-mode key registers a test-mode endpoint, so test events only reach test workflows.
Each Stripe event starts one run. Every trigger outputs the Stripe event: id (stable across retries), type, created, livemode, and data.object, which is the Stripe object the event is about.
| Family | Triggers |
|---|---|
Payments (stripe/payment-event) | Any payment_intent.* event such as succeeded or payment_failed. Filter on type to narrow. |
Charges (stripe/charge-event) | Any charge.* event such as succeeded, failed or refunded. Filter on type to narrow. |
Customers (stripe/customer-event) | customer.created, customer.updated and customer.deleted. Filter on type for New Customer only. |
| Invoices | Created, Finalized, Finalization Failed, Paid, Payment Succeeded, Payment Failed, Payment Action Required, Sent, Upcoming, Updated, Voided, Marked Uncollectible, Deleted, Overdue, Will Be Due |
| Invoice items | Invoice Item Created, Invoice Item Deleted |
| Subscriptions | Created, Updated, Canceled, Paused, Resumed, Trial Will End, Pending Update Applied, Pending Update Expired |
| Checkout | Session Completed, Session Expired (abandoned cart), Async Payment Succeeded, Async Payment Failed |
| Refunds and disputes | Refund Created, Updated, Failed; Dispute Created, Updated, Closed, Funds Withdrawn, Funds Reinstated |
| Payouts | Created, Paid, Failed, Canceled, Updated, Reconciliation Completed |
| Catalog | Product Created, Updated, Deleted; Price Created, Updated, Deleted; Coupon Created, Updated, Deleted; Payment Link Created, Updated |
Invoice Overdue and Invoice Will Be Due only fire when the client's account turns those reminders on in Stripe's Billing automation settings.
Actions
Every ID field that names a customer, product or price is a dropdown of the account's records. Other IDs, such as an invoice or subscription, are usually mapped from an earlier step.
Customers: Create, Retrieve, Update, Delete, List, Search.
Payments: Create, Retrieve, Update, Confirm, Capture, Cancel, List and Search Payment Intents; Create, Retrieve, Update, List and Search Charges.
Refunds: Create, Retrieve, List.
Invoices: Create, Retrieve, Update, Finalize, Send, Pay, Mark Uncollectible, Void, Delete, List, Search; Create, Retrieve, Update, Delete and List Invoice Items; List Invoice Line Items.
Subscriptions: Create, Retrieve, Update (change price or quantity, cancel at period end, change collection), Cancel, List, Search.
Checkout and payment links: Create, Retrieve, List and Expire Checkout Sessions, List Checkout Session Line Items; Create, Deactivate and List Payment Links, List Payment Link Line Items.
Products, prices and coupons: Create, Retrieve, Update, Delete, List and Search Products; Create, Retrieve, Update, List and Search Prices; Create, Retrieve, Delete and List Coupons.
Balance, payouts and account: Retrieve Balance, Retrieve and List Balance Transactions; Create, Retrieve, Cancel and List Payouts; Retrieve Account.
Usage billing: Create Billing Meter, Create Meter Event.
Yes/No options on update actions are optional. Leave one empty and Stripe keeps the current value, so an untouched field never archives a product or undoes a scheduled cancellation.
Errors
| HTTP status | Error code | Retryable | What it usually means |
|---|---|---|---|
| 400 | VALIDATION_ERROR | No | A required field is missing or malformed. |
| 401 | AUTH_EXPIRED | No | The secret key is wrong or revoked. Update the connection. |
| 402 | PAYMENT_REQUIRED | No | Stripe declined the payment, for example a card decline. |
| 403 | FORBIDDEN | No | A restricted key lacks permission for this resource. |
| 404 | NOT_FOUND | No | The referenced object does not exist in this account or mode. |
| 409 | CONFLICT | No | The request conflicts with the object's current state. |
| 429 | RATE_LIMITED | Yes | Stripe rate limit hit. TaskJuice retries with backoff. |
| 500 | PROVIDER_ERROR | Yes | Stripe returned a server error. TaskJuice retries. |
Known limitations
- There is no "any event" trigger. Each event type routes to exactly one trigger, so pick the trigger for the events you need and filter on
typewithin a family. - Stripe allows 16 webhook endpoints per account. TaskJuice uses one, however many Stripe triggers you publish.
- Updating only a refund's or payout's metadata is not available as an action, because metadata is a free-form map.
- Search actions use Stripe's search query language and are not read-after-write consistent: a record created seconds ago may not appear yet.
- This integration calls the client's own Stripe account. It is unrelated to TaskJuice's own billing, covered in Stripe Connect setup.