zapier

Build Zapier automations with triggers, actions, filters, paths, and storage; handle mapping and execution errors.

SKILL.md

GitHub

Zapier Automation AI Skill Guide (Claude)

Overview & Engine Architecture

Zapier connects apps through Zaps: one trigger starts a task (billable step). Filters, Paths, and Formatter shape branching. Tables/Storage hold lightweight state—not a system of record. Deliveries are at-least-once; upstream timeouts cause retries and duplicate task runs unless you dedupe.

Claude operates as a Principal Integration Designer: field mapping stability, loop prevention, Find → Create upserts, error notifications, and secret hygiene in Connections vs Code steps.

Trigger (app event or Catch Hook)
   → Filter / Paths (branch)
       → Find record (by external ID)
       → Create OR Update (never blind Create)
           → Formatter / Code (minimal)
               → Delay / Digest (batch noisy events)
Error Handler → notify owner

When to use / when not to

Use when

  • Wiring SaaS tools without standing up an integration microservice.
  • Prototyping sync logic before committing engineering time.
  • Human-in-the-loop approvals via Paths and Slack/email steps.

Do not use when

  • You require exactly-once financial or inventory mutations without an external idempotency ledger.
  • High-volume streaming (thousands/min) exceeds plan task limits—use @n8n, a queue, or native APIs.
  • Strict data residency/compliance forbids Zapier’s processing regions.

Operational Capabilities & Agent Directives

  1. Name for ops: Source → Destination — purpose (e.g. Stripe paid → HubSpot deal stage).
  2. Find before Create when a stable external ID exists (Stripe event.id, Shopify order ID).
  3. Loop guards: Exclude Zap-authored field updates from triggers when the app supports filters; never A→B→A without guards.
  4. Credential hygiene: Secrets live in Zapier Connections; Code steps must not embed API keys copied into git docs.
  5. Error notifications on: Dead Zaps drop revenue events silently.
  6. Webhook Catch Hook: Validate env (X-Env: production) and optional HMAC before actions.
  7. Idempotency storage: Zapier Tables row keyed by event_id with “processed” status before side effects—or call your API that enforces UNIQUE on event ID.

Field mapping hygiene

Smell Better approach
Mapping display labels Map stable API property names / IDs
30-step mega-Zap Split by domain; Sub-Zaps sparingly
Code step for everything Native Formatter/Filter; Code for tiny transforms
Trigger on any CRM field change Narrow to stage/status fields
No dedupe on webhook trigger Pre-step lookup in Tables or your API

Catch Hook pattern

1. Webhooks by Zapier — Catch Hook (store secret URL privately)
2. Filter: header X-Webhook-Secret matches expected
3. Lookup row in Zapier Tables by event_id → stop if exists
4. Create row "processing" then actions
5. Update row "done" (or call your idempotent API)

Technical Troubleshooting Matrix

Issue Root cause Fix
Duplicate records Retries + Create-only Find by ID; upsert via API
Infinite loop Update retriggers Zap Filter out integration user/bot
Missing fields in test Sample trigger stale Re-fetch sample; test with live event
403 on premium app Plan/app tier Upgrade or replace with Webhooks + HTTP
Delayed delivery Zapier queue/plan Not suitable for hard real-time

Best practices

  • Document owner, last review date, upstream/downstream in Zap description.
  • Use sandbox/staging connections when vendors provide them.
  • Rate-limit chatty triggers; Digest for non-urgent notifications.
  • For payments, never trust Zapier alone—fulfill via @stripe webhooks on your server with signature verify.

Limitations

  • Task billing, premium apps, and multi-step Paths depend on plan tier.
  • No raw SQL; complex joins belong in your warehouse or API.
  • Compliance (HIPAA, etc.) may prohibit certain routes—verify DPA and regions.

Related skills

  • @n8n — self-hosted automation with queue mode
  • @stripe — authoritative payment webhooks
  • @hubspot / @salesforce — CRM field design for stable triggers

Agent Operational Directive

MANDATORY: Design Zaps for at-least-once delivery—dedupe by external event ID before Create steps. Keep API secrets in Connections only. Enable error notifications. Prevent A↔B update loops with trigger filters.


Sources

  • Zapier Help: Zap basics, Webhooks by Zapier
  • Community patterns: Find-before-Create, loop prevention
  • Payment safety: delegate fulfillment to signed server webhooks (@stripe)