Airtable trigger — Inbound preview

Trigger Stripe Workflow from Airtable records

An Airtable record change becomes a signed Stripe Workflow trigger. Customer creation, plan upgrades, refunds — driven from the base ops already lives in.

Inbound is in early access — join the waitlist for early invites.

The problem

A surprising amount of ops still runs in Airtable. The CRM-shaped base, the deals pipeline, the customer success tracker, the refund-approval kanban. To trigger stripe workflow from airtable today, the path is Airtable Automations to a webhook to Zapier to a Stripe API call — three hops, three places to debug, three bills.

Inbound's Airtable trigger collapses it to one. When a record changes in a chosen view (a checkbox flips, a status moves, a field gets edited), Airtable fires a signed webhook to Inbound. Inbound verifies it, dedupes on Airtable's record id and timestamp, and triggers the matched Stripe Workflow. The workflow has access to the full record payload via JSONata, so any field — customer email, plan, custom amount, approval flag — is wired directly into the downstream Stripe and Outbound actions. Inbound is pre-launch — join the waitlist below.

How trigger stripe workflow from airtable works

  1. 1

    Add an Airtable automation

    When Inbound ships, you'll create an Airtable automation with a When Record Matches Conditions trigger and a Send Webhook action pointed at the Inbound URL. Conditions can be field-based (Status = Refund Approved) or view-based (record enters a specific view).
  2. 2

    Configure signing in Airtable

    Airtable's webhook action supports custom headers. Add the shared secret as an HMAC signature header so Inbound can verify the request really came from your Airtable workspace, not someone spoofing the URL.
  3. 3

    Map fields with JSONata

    Airtable's webhook payload includes the full record. Reference any field via JSONata in the downstream workflow — fields."Customer Email", fields."Plan", fields."Approved By". Renaming fields in Airtable requires a one-line update in the workflow.
  4. 4

    Chain Stripe + Outbound actions

    Inbound triggers the workflow, the workflow chains stripe.customer.create, stripe.subscription.create, outbound.resend, outbound.postgres, outbound.discord — whatever the Airtable change implies. One workflow per intent, not a Zapier zap per step.
# Inbound webhook config (preview)
trigger:
  source: inbound.airtable
  base_id: "appXXXXXXXXXXXXXX"
  table:   "Customers"
workflow:
  - action: stripe.customer.update
    customer: "{{ fields.\"Stripe Customer ID\" }}"
    metadata:
      tier:   "{{ fields.\"Tier\" }}"
      csm:    "{{ fields.\"CSM\" }}"
  - action: outbound.postgres
    table: customer_sync
    upsert_key: [stripe_customer_id]
    columns:
      stripe_customer_id: "{{ fields.\"Stripe Customer ID\" }}"
      tier:               "{{ fields.\"Tier\" }}"
      last_synced_at:     "{{ $now() }}"

Example workflow configuration

Mock-up of the Airtable inbound trigger config inside the Stripe Dashboard. Shows a signed webhook URL with a copy button, a small instructions panel describing how to add the URL into Airtable Automations, a base / table picker, and a recent-deliveries table showing inbound Airtable record changes with signature-status and matched-workflow columns.

Inbound (pre-launch): Airtable record changes become signed Stripe Workflow triggers in seconds.

Outbound vs Zapier

OutboundZapier
Lives inside the Stripe Dashboard
Pricing modelBundled with Outbound$29.99/mo + per-task fees
Signature-verified inbound deliverylimited
Idempotent on Airtable record id
Setup time≈4 minutes (when live)15-30 minutes
Direct chaining into Stripe + Outbound actionsvia a multi-step zap
Available todayPre-launch — join waitlisttrue

Frequently asked questions

Does this work with Airtable's free plan?+
Airtable Automations and webhook actions are available on free workspaces with limited monthly runs. For high-volume bases you'll want Airtable Pro or Team. Inbound itself doesn't care which Airtable plan you're on — it just receives the signed POST.
What if a record changes twice in a row?+
Inbound dedupes on the Airtable record id plus the last-modified timestamp. Two different edits to the same record (different timestamps) trigger two workflows. A retry of the same edit (same timestamp) deduplicates to one. Configure the dedup key if you want different semantics.
Can the trigger fire on field-level changes?+
Yes. Airtable's automation trigger lets you condition on specific field changes — When Status changes from X to Y. Inbound receives the resulting webhook and the workflow filter step can layer on additional logic (only if Amount > 100, for instance).
How do I handle Airtable renaming a field?+
JSONata references field names as strings, so a rename in Airtable will silently miss until you update the workflow. We recommend referencing by id (Airtable supports field ids in webhook payloads if you enable them) for production setups — the id never changes.
Is two-way sync planned?+
Not as a single integration. You compose it: an Airtable change triggers a Stripe Workflow that writes back to Airtable via the outbound.http action against Airtable's REST API. Cleaner than a single magic-sync integration that promises consistency and breaks under load.

Be first when Inbound ships