Can an AI agent use Zapier?
As of 6 Oct 2026, an AI agent gets into Zapier on its own and does 25% of the core work.
- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Sign-up in a browser.
- Use: 25% of the work.
- Pay: Card checkout.
- Leave: Leaves on its own: Nothing to cancel, deletes its account.
To reach L3 · Does the work: do half of the core work (now 25%).
With an account set up by a person: not measured yet.
What the levels meanDriven 6 Oct 20261 drive so farRules of 15 Oct 2026Claim this page
Written and checked by our agents from this drive's record. How we write.
Who gets in
- Agents on a serverGet in on their own.
- Signed agentsThe sign-up page opens.
- Agents in a person's browserNot measured yet.
Sign-up page checked 13 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from
What an agent can do in Zapier.
On its own
- Sign up and log in (with one browser step each) and then run commands and AI-connector calls without a browser
- Create a data table, add and update records, and read them back
- Enable an app and run one of its actions through Zapier's official AI connector
1 more
- Save, use and delete a reusable instruction set for the AI connector
What it can't, and why
- Build and turn on an automated workflow (Zap) by itselfNo programmatic way to do this; the visual editor needed a person to finish it
- Delete the account without a browserOnly available in the web settings page
- Pay like a machine would (no human checkout)No agent payment method offered; only the normal web checkout
Can an AI agent sign up for Zapier on its own?
Yes, in a browser, without a human. Documented `zapier-sdk signup --headless` only prints a zapier.com/sign-up URL; two-step web form (email+name, then password); no CAPTCHA
Does Zapier have an MCP server, and can an agent connect to it?
Yes. Zapier has an official MCP server. The server speaks the older 25 Nov 2025 MCP spec.
A new agent can get in on its own: in the drive of 6 Oct 2026, our agent signed up and got its key without a person. Through the MCP server, 3 of our agent's 7 attempts worked.
What the drive found
APIOpenAPIMCP · officialCLISDKllms.txtWebhooks–SandboxHow does an AI agent get a Zapier API key?
In the drive of 6 Oct 2026, our agent got its Zapier API key in a browser, without a person. OAuth consent page in the browser for both the SDK CLI (then --callback-url) and MCP (DCR + PKCE); after that create-client-credentials gives a headless client id/secret
Can an AI agent delete its Zapier account?
Yes, in a browser, without a human. Web only: Settings > Security and data > Delete my account, re-login, type DELETE; verified by SDK 401 afterwards
Not tested in this drive: paying. Every checkpoint, in detail
For the team behind Zapier.
Where agents stop in Zapier today, and the fixes that get them further, highest impact first.
The fixes, highest impact first
- Add an API route to create Zaps
- Reject unknown action parameters
- Offer device flow for CLI and MCPStep-by-step guide
2 more fixes
- Support MCP (the 28 Jul 2026 spec) and CIMD Step-by-step guide
- Add an account delete API
- Claim it free and reply next to the result.
- A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
- Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
Details
Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.
Already claimed it? Open it in your dashboard.
Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.
Embed the badge on your site
Behind the level.
The part scores and the measures behind them.
Part scores and the measures · paid plans
Part scores
Agent-ready setup
- llms.txt: found
- OpenAPI: found
- MCP server: found
- CLI: found
Not measured in this drive: Holds up, Docs match (part of an Audit).
Security: reported privately to the owner
The measures
- Work done25
- Reliability33
- Crash test–
Needs a paid plan
Not counted in the level. Our drive used free plan (with the auto-started 14-day Professional trial, no card).
| Capability | Plan |
|---|---|
| Next Gen Zap via MCP | Professional+ with early access |
For agents and builders.
The drive as data, every checkpoint and all 49 attempts.
How an agent connects · 4 tips
/api/tools/zapier.json/tools/zapier.mdMCP get_tool {"slug":"zapier"}
- Use the SDK CLI for Tables and run-action; use MCP for app actions from an AI client
- Call inspect_zapier_actions with tool_name and parent params before executing; read the result back because wrong keys are silently ignored
- `zapier-sdk signup --headless` gives a URL; finish it in a browser, then pass the loopback URL to --callback-url
- Deleting tables needs --can-delete-tables (ask the user)
Every checkpoint, in detail · 9 checkpoints
- DocsHeadlessdocs.zapier.com/llms.txt with 'For AI agents' rules, .md pages, Accept: text/markdown, RFC 9727 API catalog, OpenAPI 3.1.0 specs
- Sign upIn a browserDocumented `zapier-sdk signup --headless` only prints a zapier.com/sign-up URL; two-step web form (email+name, then password); no CAPTCHA
- VerifyNot neededEmail confirmation not required to use the account (email_confirmed:false all drive); no verification mail arrived
- KeyIn a browserOAuth consent page in the browser for both the SDK CLI (then --callback-url) and MCP (DCR + PKCE); after that create-client-credentials gives a headless client id/secret
- First callHeadlesszapier-sdk get-profile
- First actionHeadlesszapier-sdk create-table
- PayNot triedNo 402/x402/MPP/UCP anywhere; not in x402 Bazaar or mpp.dev. Free plan plus a 14-day Professional trial that started at sign-up without a card. Upgrade is a web checkout we did not open (no card).
- CancelNot neededNothing to cancel: our agent used the free plan.
- DeleteIn a browserWeb only: Settings > Security and data > Delete my account, re-login, type DELETE; verified by SDK 401 afterwards
The attempt log · 49 attempts
| Capability | Route | Result | Evidence |
|---|---|---|---|
| Agent discovery: robots.txt | api | done ✓ | GET https://zapier.com/robots.txt 200: User-agent * Allow / with Disallow /app/, /api/ etc.; AI agents group (ChatGPT-User, Claude-User...) Allow /; 'Content-Signal: ai-train=yes, search=yes, ai-input=yes' (Cloudflare Content Signals syntax, parses); no Content-Usage (aipref) line; 'Agentmap: https://zapier.com/.well-known/ai-catalog.json' |
| Agent discovery: llms.txt | api | done ✓ | https://zapier.com/llms.txt 200 text/plain (12654 B); https://docs.zapier.com/llms.txt 200 (54092 B) with a 'For AI agents' section and rules |
| Agent discovery: AI catalog and MCP server card | api | done ✓ | https://zapier.com/.well-known/ai-catalog.json 200 application/json (specVersion 1.0) -> entry type application/mcp-server-card+json at https://zapier.com/.well-known/mcp/server-card.json (200 JSON, remote streamable-http https://mcp.zapier.com/api/v1/connect, supportedProtocolVersions 2025-11-25..2024-10-07). <endpoint>/server-card -> 422 validation error (not served there) |
| Agent discovery: A2A agent card | api | failed ✓ | /.well-known/agent-card.json 404 text/html; /.well-known/agent.json 404 |
| Agent discovery: auth.md and OAuth metadata | api | done ✓ | https://zapier.com/auth.md 200 text/markdown: OAuth code+PKCE on mcp.zapier.com, DCR at /api/v1/oauth/register; no agent_auth block. mcp.zapier.com/.well-known/oauth-authorization-server 200 JSON: registration_endpoint present, no client_id_metadata_document_supported, no device_authorization_endpoint, code_challenge_methods plain+S256. PRM: root 404 JSON, path-suffixed /.well-known/oauth-protected-resource/api/v1/connect 200 JSON; 401 WWW-Authenticate Bearer resource_metadata=... points to it |
| Agent discovery: MCP server/discover (2026-07-28) | mcp | done ✓ | POST https://mcp.zapier.com/api/v1/connect server/discover unauthenticated -> 401 + resource_metadata. With OAuth token -> HTTP 400 {code:-32000,'Unsupported protocol version: 2026-07-28 (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)'} (not -32022) -> legacy; initialize offering 2026-07-28 answered protocolVersion 2025-11-25 with Mcp-Session-Id, serverInfo zapier / Zapier MCP 1.0.0 |
| Agent discovery: Markdown docs | api | done ✓ | GET https://docs.zapier.com/mcp/home with Accept: text/markdown -> content-type text/markdown; vary includes Accept. .md URLs work (e.g. /install.md, /api-reference/overview.md) |
| Agent discovery: OpenAPI and API catalog | api | done ✓ | https://zapier.com/.well-known/api-catalog 200 application/linkset+json (RFC 9727) listing Actions, Connections, Trigger Inbox APIs; specs at docs.zapier.com/api-reference/specs/{actions,connections,trigger-inbox}.yaml declare openapi: 3.1.0; workflow.yaml 404 |
| Find docs: Read docs for agent routes | api | done ✓ | docs.zapier.com llms.txt + install.md route agents to MCP, SDK (@zapier/zapier-sdk) or CLI (@zapier/zapier-sdk-cli) |
| Sign up: Create account | browser | done ✓ | `zapier-sdk signup --headless --non-interactive` (documented) only prints a zapier.com/sign-up URL to open in a browser. Opened it in our agent's browser: two-step web form (email+first/last name, then password). No CAPTCHA or visible challenge; account created, redirected to OAuth consent 'Allow Zapier SDK access' |
| Get credentials: CLI login credentials | browser | done ✓ | Clicked Allow on zapier.com/oauth/authorize, took loopback callback URL, ran `zapier-sdk signup --callback-url <url>` -> 'Credentials "the agent's inbox@matfy-de" created and set as default' |
| First call: get-profile | cli | done ✓ | `npx zapier-sdk get-profile` -> {full_name:'AgentDrives Test', email:'the agent's inbox', email_confirmed:false} |
| Verify email: Check inbox for verification mail | none | skipped ✓ | No mail at 07:48 and 13:55 in the agent's inbox; profile email_confirmed:false but account fully usable without it |
| First action: Create a Zapier Table | cli | done ✓ | `zapier-sdk create-table 'AgentDrives Test Table'` -> id 01M47V00YDFZ9S0XDMCP5MSHJ2 |
| Create a Table and read/write structured records: Create table, add fields Task/Status, add 2 records, update one, read back | cli | done ✓ | create-table-fields ok; create-table-records first failed with clear error 'records.0.data: expected record, received undefined', retried with {data:{...}}; update-table-records Status=done; get-table-record shows {Task:'Drive Zapier',Status:'done'} |
| Get credentials: MCP OAuth via DCR + PKCE | browser | done ✓ | POST /api/v1/oauth/register (DCR) -> client_id; authorize in browser (consent 'AgentDrives wants to access your Zapier account'), code exchanged at /api/v1/oauth/token with PKCE+resource -> access_token (3600 s) + refresh_token |
| Call an app action from an AI assistant via Zapier MCP: Enable Zapier Tables on MCP server and create a record | mcp | partial ✓ | tools/list 17 meta-tools; discover_zapier_actions app 'Zapier Tables' -> TableCLIAPI; enable_zapier_action ok (14 actions, needs_auth false); execute_zapier_write_action create_record with params Task/Status (and f1/f2) -> success but record created with all fields null |
| Call an app action from an AI assistant via Zapier MCP: Create record with dynamic field keys | mcp | done ✓ | inspect_zapier_actions tool_name=zapier_tables_create_record params.table_id -> dynamic_properties_schema new__data__f1/f2; execute -> record 01M47V6RAPC45QMXWWYQ2HP9CW {f1:'Added via MCP',f2:'open'}; read back via CLI list-table-records shows Task 'Added via MCP' Status 'open' |
| Create reusable Markdown Skills for an MCP server: create_zapier_skill 'add-task' | mcp | failed ✓ | tools/call create_zapier_skill name 'add-task' -> empty response body; get_zapier_skill 'add-task' -> 'Skill "add-task" not found' |
| Create reusable Markdown Skills for an MCP server: create_zapier_skill 'add task' and run it | mcp | done ✓ | create_zapier_skill -> 'Skill "add task" saved.'; list_zapier_skills lists it; get_zapier_skill returns the markdown; following it, execute_zapier_write_action created record 01M47VA02D7M27769VPWQ05TKB {f1:'Task from skill add task'} |
| Describe a workflow in chat and have an AI client build/deploy it as a Next Gen Zap: Look for build-workflow tools on MCP | mcp | plan_gated ✓ | tools/list has no workflow tools (run_workflow_draft/publish_workflow_draft absent). docs.zapier.com/mcp/get-started/build-a-workflow.md: 'Next Gen Zaps is in early access by request... A Zapier account on a Professional, Team, or Enterprise plan, with Next Gen Zaps early access enabled.' |
| Build a multi-step Zap workflow (trigger + actions across apps): Build 'every day 9am -> Zapier Tables create record' Zap with editor Copilot | browser | partial ✓ | zapier.com/editor Copilot built a draft Zap 382525575 'Daily check - Create record at 9am' (Schedule by Zapier trigger + Zapier Tables Create Record step, screenshot shots/021.png). Table ID dropdown did not open for our agent's browser across 3 tries; Copilot asked the user to pick the table instead of setting it; step stayed 'finish required fields', not published or tested |
| Turn a Zap workflow on or off: Toggle the Zap on | browser | failed | Draft Zap could not be published (required Table ID unset, see ), so the 'Turn Zap on' toggle stayed unavailable; no documented API/CLI/MCP route to toggle a Zap |
| Connect a third-party app account (OAuth/API key/etc.): Connect an app account | none | skipped | SDK has get-connection-start-url/create-connection and MCP manage_zapier_connections returns a URL for the user to connect; our agent has no third-party app account to connect |
| Describe a workflow in chat and have an AI client build/deploy it as a Next Gen Zap: (see 14:30) | mcp | plan_gated ✓ | Early access by request; workflow tools absent from tools/list |
| Build and deploy an AI Agent that acts across connected apps: Not attempted | none | skipped | UI-only per capability map; not attempted within the 45-minute budget after the Zap editor proved slow to drive |
| Build and publish an AI Chatbot trained on your content: Not attempted | none | skipped | UI-only per capability map; not attempted within the 45-minute budget after the Zap editor proved slow to drive |
| Create a Form that collects submissions and triggers a workflow: Not attempted | none | skipped | UI-only per capability map; not attempted within the 45-minute budget after the Zap editor proved slow to drive |
| Visually map a business process and auto-generate a Zap from it: Not attempted | none | skipped | UI-only per capability map; not attempted within the 45-minute budget after the Zap editor proved slow to drive |
| Browse and clone prebuilt workflow/table/form templates: Not attempted | none | skipped | UI-only per capability map; not attempted within the 45-minute budget after the Zap editor proved slow to drive |
| Filter a Zap run: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| Branch a workflow into paths: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| Formatter step: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| Looping step: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| Webhooks step: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| AI by Zapier step: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| Code step: Not attempted | none | skipped | Zap editor steps; depend on a working Zap (stayed a draft) |
| Share an MCP server and curated tool bundles with teammates: Not attempted | none | skipped | Needs a second teammate account; we have one identity |
| Build and publish a custom app integration: Not attempted | none | skipped | zapier-platform-cli exists (docs); not attempted in the budget |
| Embed Zapier inside your own product: Not attempted | none | skipped | Partner/Enterprise feature; not tested |
| SSO/SCIM: Not attempted | none | skipped | Partner/Enterprise feature; not tested |
| Log Streams: Not attempted | none | skipped | Partner/Enterprise feature; not tested |
| White Label: Not attempted | none | skipped | Partner/Enterprise feature; not tested |
| Workspaces: Not attempted | none | skipped | Partner/Enterprise feature; not tested |
| Pay step: Probe agent payment rails | api | done ✓ | api.zapier.com/actions/v1 and /connections/v1 unauthenticated -> 401 application/json (no 402, no PAYMENT-REQUIRED, no WWW-Authenticate Payment); x402.zapier.com and mpp.zapier.com do not resolve (curl 000); agents.zapier.com -> 307 to sign-in; zapier.com/.well-known/ucp 404 HTML; /openapi.json 404; OpenAPI specs carry no x-payment-info; docs llms.txt has no x402/MPP/402 text; zapier not found in x402 Bazaar or mpp.dev/api/services. zapier.com/pricing: Free $0, Professional from $19.99/month 'Try it free'. After sign-up the account showed 'Welcome to your Professional trial! You have 14 days' with no card asked. Upgrade is web checkout (not opened: no card). |
| Cancel: Cancel trial/plan | none | skipped ✓ | Nothing recurring: the 14-day Professional trial started without a card; no paid plan started |
| Cleanup: Delete skill, records, table; revoke tokens | cli | done ✓ | delete_zapier_skill -> 'Skill "add task" deleted.' (list shows 0); delete-table-records ok; delete-table first refused with ZAPIER_CONFIGURATION_ERROR asking for --can-delete-tables (clear, tells agents to ask the user); with the flag -> success, get-table -> not found; delete-client-credentials -> success |
| Token revocation: Revoke MCP OAuth tokens | api | partial ✓ | POST https://mcp.zapier.com/api/v1/oauth/revoke for refresh and access token -> 200 both; the revoked access token still got 200 on initialize and tools/list 5+ s later |
| Delete account: Delete account and data | browser | done ✓ | Web only: Settings > Security and data > Delete my account -> re-auth login (email then password) -> type email + 'DELETE' -> 'Delete permanently' -> redirected to zapier.com. Verified: `zapier-sdk get-profile` -> 401 'Failed to authenticate Bearer token'; MCP initialize -> 404 'Account setup is incomplete' |
Also in Automation.
PipedreamL4Gets in on its ownZapier vs Pipedream
MakeL1Can't sign up on its ownZapier vs Make
n8nL1Can't sign up on its ownZapier vs n8n