Trigger Stripe Workflow from Typeform submissions
A Typeform submission becomes a signed, deduplicated trigger for any Stripe Workflow. Create the customer, kick off the subscription, send the welcome, all from one workflow definition.
Inbound is in early access — join the waitlist for early invites.
The problem
Most onboarding flows still start with a Typeform. Someone fills it out, an internal email goes around, someone else copies the fields into the Stripe Dashboard, creates a customer, attaches a payment method, sends a welcome. Days of latency between the submission and the customer record. The usual fix is Zapier with per-task billing and a multi-step zap that nobody on the team can fully explain.
The Inbound Typeform trigger short-circuits all of it. The form submission lands directly as a Stripe Workflow trigger, signed by Typeform's webhook secret and deduplicated on the Typeform response id. The workflow then runs end-to-end inside Stripe: create the customer, write a row to your Postgres CRM, send a Resend welcome, file a Linear onboarding issue. One install, one execution log, no glue between hops. Inbound is pre-launch; the waitlist is open.
How the Typeform trigger works
- 1
Wire the Typeform webhook
When Inbound ships, you'll paste a signed Inbound URL into Typeform's webhooks section for the form you want to act on. Typeform supports both per-form and per-account webhooks; either works. - 2
Map fields onto Stripe Workflow context
The Typeform payload includes one entry per form question. Inbound exposes the full payload to the workflow, so any field — email, company name, plan choice, custom dropdown — is available via JSONata to the downstream steps. - 3
Run a Stripe + Outbound workflow
Compose the response: stripe.customer.create with the email and name, an outbound.postgres write to your CRM, an outbound.resend welcome email, an outbound.linear onboarding issue. All idempotent, all in one workflow definition. - 4
Watch deliveries in the execution log
Every Typeform submission shows in the Outbound execution log with the Typeform response id, the matched workflow, and each action’s outcome. If a submission fails to trigger, you see exactly why — bad signature, mismatched form, filter excluded it.
# Inbound webhook config (preview)
trigger:
source: inbound.typeform
form_id: "abc123"
workflow:
- action: stripe.customer.create
email: "{{ answers.email }}"
name: "{{ answers.full_name }}"
metadata:
company: "{{ answers.company }}"
plan_choice: "{{ answers.plan }}"
- action: outbound.postgres
table: leads
columns:
stripe_customer_id: "{{ stripe.customer.id }}"
source: typeform
submitted_at: "{{ submitted_at }}"
- action: outbound.resend
to: "{{ answers.email }}"
template_id: welcome_v3Example workflow configuration
Mock-up of the Typeform inbound trigger settings inside the Stripe Dashboard. Shows a signed webhook URL with a copy button, a form picker dropdown listing the user's Typeform forms via OAuth, a recent-submissions table with response ids and triggered-workflow names, and a signature-status column showing each submission was verified.
Outbound vs Zapier
| Outbound | Zapier | |
|---|---|---|
| Lives inside the Stripe Dashboard | — | |
| Pricing model | Bundled with Outbound | Per-task billing |
| Signature-verified inbound delivery | limited | |
| Idempotent on Typeform response id | — | |
| Setup time | ≈3 minutes (when live) | 15–25 minutes |
| Direct chaining into Stripe + Outbound actions | via a multi-step zap | |
| Available today | Pre-launch — join waitlist |
Frequently asked questions
How does Typeform's signature verification work?+
What if a user retries a form submission?+
Can I filter by which form fired the trigger?+
Does it support hidden fields and calculated fields?+
Can I use this for paid Typeforms with Stripe?+
Related integrations
Trigger Stripe from Airtable
Another Inbound trigger: an Airtable record change starts a Stripe Workflow.
Send Stripe emails with Resend
The outbound side of the welcome flow Typeform kicks off.
Write Stripe events to Postgres
Land every Typeform-driven customer creation in your own database with one workflow step.