Stripe Connector
Automate billing, invoicing, and customer lifecycle workflows with Stripe data.
Required secrets
| Vault key | Maps to | Notes |
|---|---|---|
stripe-secret |
STRIPE_SECRET_KEY |
Use the live or test secret key. |
stripe-webhook |
STRIPE_WEBHOOK_SECRET |
Optional: needed for webhook signature verification. |
Add them from the CLI:
loopcli secret add stripe-secret --value sk_live_...
loopcli secret add stripe-webhook --value whsec_...
Common automations
- Subscription sync — mirror subscription state into Supabase or Postgres nightly.
- Invoice reminders — trigger Resend sequences when invoices go unpaid.
- Dispute alerts — send Slack notifications with context and next steps.
Example loop
name: stripe-subscription-sync
description: Mirror Stripe subscriptions into Supabase nightly.
steps:
- id: fetch
name: Fetch subscriptions
type: http
config:
url: https://api.stripe.com/v1/subscriptions?status=all
method: GET
headers:
Authorization: "Bearer {{secret:stripe-secret}}"
- id: hydrate
name: Upsert into Supabase
type: http
config:
url: https://<project>.supabase.co/rest/v1/subscriptions
method: POST
headers:
apikey: "{{secret:supabase-service-role}}"
Authorization: "Bearer {{secret:supabase-service-role}}"
Content-Type: application/json
body: "{{steps.fetch.response.body.data}}"
schedule:
cron: "0 * * * *"
timezone: UTC
Webhook trigger
When Stripe delivers events to your API route, hand them off to LoopCLI:
loopcli loop run stripe-webhook-processor --payload payloads/stripe-event.json
Inside the loop, validate signatures with {{secret:stripe-webhook}} before processing.