LoopCLI

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.

Templates

Helpful links

Related Documentation

Continue learning with these related topics