← All stories

BRANCH · ef-099-zoom-via-zapier

Zoom webinar via Zapier recipe

EF-099Persona: OrganizerRoots in: event-setupMatrix: Absent gap probe

A Zapier recipe should subscribe to the EventFarm registration trigger and create a Zoom webinar registrant. Native Zoom exists, but the Zapier-mediated recipe is absent, so this story probes the combined trigger and Zoom contract. Tier-3 tightening: Zoom-via-Zapier conflicts now reference ui-conflict-resolution-modal as the shared resolution contract.

Happy path / Lifecycle

  1. Open the Zoom via Zapier recipe.

    Organizer sees a recipe builder with EventFarm registration trigger, Zoom webinar action, and field mapping.

  2. Subscribe to registration trigger.

    Zapier receives a signed registration trigger payload with sample attendee data.

  3. Create Zoom registrant.

    The recipe writes a Zoom webinar registrant and stores the Zap run id in audit.

Failure modes

Credential refresh equivalent

Expired Zapier/Zoom recipe credential refreshes and retries the original action.

Rate limit

Zapier or Zoom 429 backs off with jitter.

Replay

Registration trigger replay does not create a second Zoom registrant.

Schema drift

Unknown trigger or Zoom fields are ignored.

Missing credential

Missing Zapier or Zoom credential shows repair CTA.

Fixture isolation

Mock recipe cannot send live Zapier or Zoom mutations.

Audit row

Each recipe run writes provider tx-id, status, and row counts.

Partial rollback

Mid-run failure rolls back or shows trigger/action row outcomes.

Field mapping missing

Registrant action blocks until email and name fields are mapped.

Zoom duplicate

Duplicate email updates existing registrant or surfaces a row outcome.

Zap disabled

Disabled recipe shows inactive state and does not drop events silently.

Parity gap

Gap panel remains until Zoom-via-Zapier recipe ships.

Stable test attributes

Visibility teeth. Recipe state, mapping requirements, outcomes, and gap marker must be visible.

data-testWherePurpose
zoom-zapier-recipe-panelZapier recipemain surface
zoom-zapier-trigger-cardZapier reciperegistration trigger
zoom-zapier-action-cardZapier recipeZoom action
zoom-zapier-field-mapZapier recipefield mapping
zoom-zapier-test-run-ctaZapier recipetest recipe
zoom-zapier-outcome-tableZapier reciperun outcomes
zoom-zapier-gap-panelZapier recipeabsent gap marker

Agent test plan

- zoom-zapier-recipe-opens
- zoom-zapier-test-run
- oauth-refresh-on-expired-token
- rate-limit-backoff
- webhook-replay-idempotent
- schema-drift-degrades-gracefully
- missing-credential-graceful-error
- sandbox-vs-prod-isolation
- audit-log-row-per-sync
- partial-import-rollback
- recipe-field-map-required
- zoom-duplicate-registrant
- zap-disabled-holds-events
- zoom-zapier-gap-probe