Happy path / Lifecycle
Open trigger feed settings.
Organizer reviews trigger catalog, subscription mode, and sample payloads.
Subscribe a Zapier hook.
REST-hook subscription stores a signed target and returns a verification sample.
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-test | Where | Purpose |
|---|---|---|
zapier-trigger-feed-panel | Zapier triggers | main surface |
zapier-trigger-catalog | Zapier triggers | trigger list |
zapier-trigger-sample-payload | Zapier triggers | sample payload |
zapier-subscription-mode | Zapier triggers | polling/rest hook mode |
zapier-hook-subscribe-cta | Zapier triggers | subscribe hook |
zapier-trigger-outcome-table | Zapier triggers | per-event outcomes |
zapier-trigger-gap-panel | Zapier triggers | absent 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