← All stories

BRANCH · ef-098-zapier-triggers

Zapier trigger feeds

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

Zapier trigger feeds should expose check-in, invitation, registration, purchase, ticket-block-assignment, and ticket-block-removal events with sample payloads and a clear polling vs REST-hook subscription model. The matrix marks this absent.

Happy path / Lifecycle

  1. Open trigger feed settings.

    Organizer reviews trigger catalog, subscription mode, and sample payloads.

  2. Subscribe a Zapier hook.

    REST-hook subscription stores a signed target and returns a verification sample.

  3. Emit event feed.

    A supported event produces exactly one trigger item with stable idempotency key.

Failure modes

Signed hook refresh equivalent

Expired/rotated webhook signing secret is refreshed before retry.

Rate limit

Zapier polling or hook delivery 429 backs off with jitter.

Replay

Repeated delivery for the same event id has no second effect.

Schema drift

Unknown event fields are ignored and optional payload fields default.

Missing credential

Missing hook secret shows repair CTA, no stack trace.

Fixture isolation

Mock trigger fixture cannot deliver to production Zapier hooks.

Audit row

Every feed sync or hook delivery writes an audit row.

Partial rollback

Mid-batch feed failure rolls back or shows per-event outcomes.

Missing sample payload

Each trigger must expose a representative sample payload.

Subscription mode mismatch

Trigger clearly states polling vs REST hooks and rejects incompatible setup.

Event ordering

Late events preserve cursor order and idempotency.

Parity gap

Gap panel remains until trigger feeds ship.

Stable test attributes

Visibility teeth. Trigger catalog, samples, outcomes, and gap marker must be visible.

data-testWherePurpose
zapier-trigger-feed-panelZapier triggersmain surface
zapier-trigger-catalogZapier triggerstrigger list
zapier-trigger-sample-payloadZapier triggerssample payload
zapier-subscription-modeZapier triggerspolling/rest hook mode
zapier-hook-subscribe-ctaZapier triggerssubscribe hook
zapier-trigger-outcome-tableZapier triggersper-event outcomes
zapier-trigger-gap-panelZapier triggersabsent gap marker

Agent test plan

- zapier-trigger-feed-opens
- zapier-trigger-subscription
- 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
- trigger-sample-payload-required
- subscription-mode-enforced
- trigger-event-ordering
- zapier-trigger-gap-probe