Installation
Set up the Zapier MCP server in Gumloop
Do this once to provision your hosted server URL.
Create a Gumloop account
To use this MCP, you need a Gumloop account. If you don't have one yet, sign up and start a 14-day free trial.
Add and authorize the Zapier server
In Gumloop, open Connectors and add Zapier. Depending on the app, you'll either sign in via OAuth or paste an API key. Either way, the credential is stored securely in Gumloop.
Then use it in your client
Use in GumloopUse Zapier in an agent
Once Zapier is set up, just open any Gumloop agent, add Zapier as a connector, and start chatting with the agent.
Tools (17)
Discover Zapier Actions
Search 9,000+ apps to find actions you can enable. For authenticated services (Google Docs, Gmail, Sheets, Notion, Slack, Outlook, etc.), check here FIRST - generic web fetch tools cannot authenticate with these services. ALWAYS call this before saying 'I can't access X' or 'that app isn't available'. Use when user mentions ANY app not in inspect_zapier_actions. After finding what you need, use enable_zapier_action to add it.
Enable Zapier Action
Enable an app's actions on this MCP server. Use discover_zapier_actions first to get the exact selected_api ID, then pass it here. Always pass app_display_name from the app field returned by discover_zapier_actions so confirmations show a friendly name rather than the raw selected_api ID. Returns action details including the execute tool to use (execute_zapier_read_action or execute_zapier_write_action) and parameters. If authentication is required, also returns a URL to authenticate the app.
Disable Zapier Action
Remove an app's actions from this MCP server. Use inspect_zapier_actions to see which apps are enabled and their selected_api values. Always pass app_display_name (the human-readable app name from inspect_zapier_actions) so confirmations show a friendly name rather than the raw selected_api ID. Optionally specify an action key to remove only that specific action.
Inspect Zapier Actions
CALL THIS FIRST before any execute_zapier_read_action or execute_zapier_write_action call. Inspects all enabled apps and their actions with everything you need to build an execute call: the exact `app`, `action`, and `tool_name` identifiers plus parameter schema. These apps handle OAuth automatically — use them instead of generic URL fetching for authenticated services. Use `tool_name` for exact action details. For a parameter flagged `is_dynamic_enum: true`, call this tool again with `tool_name`, `enum_property`, and any parent values in `params` to resolve values. For actions with `dynamic_properties_depends_on`, settle those parameters first, then call this tool again with `tool_name` and `params` to get `dynamic_properties_schema`. If you don't find the app or action you need, you MUST call discover_zapier_actions next — NEVER say 'I can't do that' without checking discover_zapier_actions first. When you resolve a value from the user's request, matching a single record is not proof it is the one they meant: if their input is partial or ambiguous (e.g. a first name, or a search with several close matches), enumerate the candidates and let the user pick before passing a value to an execute call. Each app's `connections.default` names the account its actions run against. If that account doesn't fit the apparent context of the request (e.g. a personal address on a work task), flag it to the user before executing and note the account can be switched per action by passing a different `connection_id` (list the options with list_zapier_connections, or connect the right account via manage_zapier_connections) — do this even when only one account is connected.
Execute Zapier Read Action
Execute a search or read action to get data from a connected app. REQUIRED: You MUST call inspect_zapier_actions first to get the exact action key, tool_name, and parameter schema. NEVER guess action names — they are NOT intuitive and WILL fail. If the app isn't enabled, use discover_zapier_actions then enable_zapier_action first. Pass exact argument values in `params`. For dynamic enum parameters, call inspect_zapier_actions again with `tool_name`, `enum_property`, and parent values in `params`. For actions with `dynamic_properties_depends_on`, call inspect_zapier_actions again with `tool_name` and settled parent params to learn `dynamic_properties_schema`. Before executing, be confident that every value in `params` correctly and uniquely identifies what the user asked for — especially fields naming a person, recipient, channel, account, record, or file. If the user gave only partial or ambiguous information (e.g. just a first name, or a term that could match several entities), do NOT assume a lookup that returns a single match is the right one: many lookups return one 'best' match even when others exist. Enumerate the candidates first — prefer a search or list action that can return multiple matches, or widen your query — and when more than one plausibly fits, present the options and let the user choose rather than guessing.
Execute Zapier Write Action
Execute a write or create action in a connected app. REQUIRED: You MUST call inspect_zapier_actions first to get the exact action key, tool_name, and parameter schema. NEVER guess action names — they are NOT intuitive and WILL fail. If the app isn't enabled, use discover_zapier_actions then enable_zapier_action first. Pass exact argument values in `params`. For dynamic enum parameters, call inspect_zapier_actions again with `tool_name`, `enum_property`, and parent values in `params`. For actions with `dynamic_properties_depends_on`, call inspect_zapier_actions again with `tool_name` and settled parent params to learn `dynamic_properties_schema`. Before executing, be confident that every value in `params` correctly and uniquely identifies what the user asked for — especially fields naming a person, recipient, channel, account, record, or file. If the user gave only partial or ambiguous information (e.g. just a first name, or a term that could match several entities), do NOT assume a lookup that returns a single match is the right one: many lookups return one 'best' match even when others exist. Enumerate the candidates first — prefer a search or list action that can return multiple matches, or widen your query — and when more than one plausibly fits, present the options and let the user choose rather than guessing. Write actions have real, often irreversible side effects (sending messages, creating or modifying records), so confirm the target whenever there is any doubt.
List Zapier Connections
List the Zapier connections (authenticated accounts) available for an app. Use the `selected_api` from discover_zapier_actions or the action-listing tool. Returns each connection's `connection_id`, which you can pass to execute_zapier_read_action / execute_zapier_write_action to run with that specific account. By default only the user's own connections are returned; pass `include_shared: true` to also return connections shared with them, but only show the user their shared connections if they explicitly ask for it. Paginated via `cursor`.
Manage Zapier Connections
Manage an app's Zapier connections. Returns a URL the user can open to connect a new account, and optionally sets the app's default connection. An app REQUIRES a default connection before any of its actions can run. If the user has no default connection for the app they want to use, share the returned `auth_url` with them and ask them to tell you once they have added the connection; after they confirm, call list_zapier_connections to find the new connection_id, then call this tool again with that connection_id as `default_connection_id` to set it as the default. `selected_api` MUST come verbatim from discover_zapier_actions or inspect_zapier_actions — never guess or construct it (e.g. Gmail is `GoogleMailV2CLIAPI`, not `GmailCLIAPI`). If you don't already have it, call discover_zapier_actions first. To set the default account every action for this app should use, pass `default_connection_id` (look it up with list_zapier_connections). Share the returned `auth_url` with the user; after they finish, call list_zapier_connections to see the new connection.
Send Feedback
Send feedback about your experience with Zapier MCP to the Zapier team.
Auto Provision Mcp
Automatically set up this MCP server based on the user's existing connected accounts. Finds apps the user has authenticated, enables their actions, and binds authentication — all in one call. Also returns the user's top Zap workflow titles so you can suggest relevant skills. Run this when the user has no tools enabled yet, or when they ask to set up their MCP server quickly.
List Zapier Skills
Lists the user's saved Zapier Skills with descriptions. Skills are reusable markdown instructions for tasks the user runs through their connected apps — useful when a request resembles a known workflow (e.g. 'onboard me'). The catalog is dynamic and may have changed since a previous call. Pair with get_zapier_skill to load a skill's full content, or create_zapier_skill to save a new workflow.
Get Zapier Skill
Returns the full markdown definition of a saved Zapier Skill by name, along with any appended execution instructions. Typically paired with list_zapier_skills, which surfaces available skill names. The catalog includes an "zapier:onboarding" skill that walks new users through setting up their Zapier MCP server.
Ship Zapier agents in minutes
Connect any AI agent to 100+ MCP servers, zero setup.