Skip to main content

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

  1. Open Connections in your workspace

    In TaskJuice, open the workspace for this client and go to Connections.

  2. Start a new Stripe connection

    Choose Stripe and start a new connection.
  3. 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 an sk_live_... or rk_live_... key for real payments.

  4. 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.

FamilyTriggers
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.
InvoicesCreated, Finalized, Finalization Failed, Paid, Payment Succeeded, Payment Failed, Payment Action Required, Sent, Upcoming, Updated, Voided, Marked Uncollectible, Deleted, Overdue, Will Be Due
Invoice itemsInvoice Item Created, Invoice Item Deleted
SubscriptionsCreated, Updated, Canceled, Paused, Resumed, Trial Will End, Pending Update Applied, Pending Update Expired
CheckoutSession Completed, Session Expired (abandoned cart), Async Payment Succeeded, Async Payment Failed
Refunds and disputesRefund Created, Updated, Failed; Dispute Created, Updated, Closed, Funds Withdrawn, Funds Reinstated
PayoutsCreated, Paid, Failed, Canceled, Updated, Reconciliation Completed
CatalogProduct 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 statusError codeRetryableWhat it usually means
400VALIDATION_ERRORNoA required field is missing or malformed.
401AUTH_EXPIREDNoThe secret key is wrong or revoked. Update the connection.
402PAYMENT_REQUIREDNoStripe declined the payment, for example a card decline.
403FORBIDDENNoA restricted key lacks permission for this resource.
404NOT_FOUNDNoThe referenced object does not exist in this account or mode.
409CONFLICTNoThe request conflicts with the object's current state.
429RATE_LIMITEDYesStripe rate limit hit. TaskJuice retries with backoff.
500PROVIDER_ERRORYesStripe 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 type within 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.
Was this helpful?