Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Zapier MCP connector

OAuth 2.0 AutomationProductivityDeveloper Tools

Connect to Zapier MCP to automate workflows and integrate with thousands of apps directly from your AI agent.

Zapier MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'zapiermcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Zapier MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'zapiermcp_get_configuration_url',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Execute actions across 8,000+ apps — run read (search/retrieve) and write (create/modify) actions in any app connected to Zapier
  • Discover and enable app actions — search Zapier’s catalog for any app, enable its actions on this MCP server, and disable them when no longer needed
  • Auto-provision from existing connections — automatically set up the MCP server based on the user’s already-connected Zapier accounts
  • Manage Zapier Skills — create, retrieve, update, and delete named reusable workflow documents that define how to accomplish multi-step tasks
  • List enabled actions — inspect which apps and action keys are currently active so the agent always uses correct, up-to-date identifiers
  • Get configuration URL — surface the Zapier MCP configuration page so users can add, edit, or remove connected apps and actions
Auto-provision from existing Zapier connections

The fastest way to get started is to auto-provision the MCP server based on apps the user has already connected in Zapier.

// Auto-provisions actions based on the user's existing Zapier accounts
const result = await actions.executeTool({
toolName: 'zapiermcp_auto_provision_mcp',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: {},
});
console.log(result.data?.result);

After provisioning, call zapiermcp_list_enabled_zapier_actions to see which apps and action keys are now active.

Discover and enable an app

Search Zapier’s catalog for an app, then enable its actions on the MCP server so the agent can use them.

// Search for apps by name
const apps = await actions.executeTool({
toolName: 'zapiermcp_discover_zapier_actions',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: { app: 'slack' },
});
// Enable all actions for the app
const enabled = await actions.executeTool({
toolName: 'zapiermcp_enable_zapier_action',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: { app: 'slack' },
});
console.log(enabled.data?.result);

Pass a specific action key alongside app to enable only one action instead of all.

List enabled actions and execute a read action

Always list enabled actions first to get the exact app and action keys before calling execute tools.

// List all enabled actions
const actions_list = await actions.executeTool({
toolName: 'zapiermcp_list_enabled_zapier_actions',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: {},
});
// Execute a read action using natural language instructions
const result = await actions.executeTool({
toolName: 'zapiermcp_execute_zapier_read_action',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: {
app: 'gmail',
action: 'find_email',
instructions: 'Find the latest email from noreply@example.com',
output: 'subject and body of the email',
},
});
console.log(result.data?.result);
Execute a write action

Use zapiermcp_execute_zapier_write_action to create or modify data in a connected app. The instructions and output fields accept natural language.

const result = await actions.executeTool({
toolName: 'zapiermcp_execute_zapier_write_action',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: {
app: 'slack',
action: 'send_channel_message',
instructions: 'Send a message to #general saying the weekly report is ready',
output: 'confirmation that the message was sent',
},
});
console.log(result.data?.result);
Create and reuse a Zapier Skill

Skills are named, versioned markdown documents that define how to accomplish a multi-step task. Save a workflow once and execute it by name in future calls.

// Save a skill
await actions.executeTool({
toolName: 'zapiermcp_create_zapier_skill',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: {
name: 'weekly-report',
description: 'Sends the weekly summary to Slack and logs it in Google Sheets',
skillDefinition: '1. Execute slack/send_channel_message to #reports\n2. Execute google-sheets/create_spreadsheet_row',
},
});
// Retrieve and execute the skill later
const skill = await actions.executeTool({
toolName: 'zapiermcp_get_zapier_skill',
connectionName: 'zapiermcp',
identifier: 'user_123',
toolInput: { name: 'weekly-report' },
});
console.log(skill.data?.result);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

zapiermcp_auto_provision_mcp # Automatically set up this MCP server based on the user's existing connected accounts in Zapier. 0 params

Automatically set up this MCP server based on the user's existing connected accounts in Zapier.

zapiermcp_create_zapier_skill # Save a workflow as a reusable Zapier Skill. A skill is a named, versioned markdown document that defines how to accomplish a task using Zapier actions. 3 params

Save a workflow as a reusable Zapier Skill. A skill is a named, versioned markdown document that defines how to accomplish a task using Zapier actions.

Name Type Required Description
description string required One-sentence description of what this skill does
name string required Short, unique name for this skill (e.g. 'create jira ticket', 'daily standup'). Names are case-insensitive.
skillDefinition string required Full markdown content of the skill. IMPORTANT: Before creating, ask the user about their specific configuration — project keys, channel names, default assignees, recurring parameters — so those get baked in as fixed values. Reference each MCP tool the skill uses with a ```mcp-tool\n<tool_name>\n``` code fence. Include step-by-step instructions and any fixed parameter values.
zapiermcp_delete_zapier_skill # Permanently delete a Zapier Skill by name. 1 param

Permanently delete a Zapier Skill by name.

Name Type Required Description
name string required The exact name of the skill to delete
zapiermcp_disable_zapier_action # Remove an app's actions from this MCP server. Use list_enabled_zapier_actions to see which apps are currently enabled. 2 params

Remove an app's actions from this MCP server. Use list_enabled_zapier_actions to see which apps are currently enabled.

Name Type Required Description
app string required App name to remove (e.g., 'gmail', 'jira', 'slack'). Accepts short names or full IDs. Use list_enabled_zapier_actions to see enabled apps.
action string optional Specific action key to remove. If omitted, all actions for the app are removed.
zapiermcp_discover_zapier_actions # Search 8,000+ Zapier apps to find actions you can enable. Returns app IDs and action keys to use with enable_zapier_action. 1 param

Search 8,000+ Zapier apps to find actions you can enable. Returns app IDs and action keys to use with enable_zapier_action.

Name Type Required Description
app string optional Search for apps by name. Omit to see popular apps. Search 8,000+ available apps.
zapiermcp_enable_zapier_action # Enable an app's actions on this MCP server. Use discover_zapier_actions to find the app name first. 2 params

Enable an app's actions on this MCP server. Use discover_zapier_actions to find the app name first.

Name Type Required Description
app string required App name or identifier (e.g., 'gmail', 'jira', 'slack'). Accepts short names or full IDs from discover_zapier_actions.
action string optional Specific action key to enable. If omitted or '*', all actions for the app are enabled.
zapiermcp_execute_zapier_read_action # Execute a search or read action to retrieve data from a connected app. Call list_enabled_zapier_actions first to get the app name and action key. 5 params

Execute a search or read action to retrieve data from a connected app. Call list_enabled_zapier_actions first to get the app name and action key.

Name Type Required Description
action string required Action key to execute. Use list_enabled_zapier_actions to get exact keys.
app string required App identifier. Use list_enabled_zapier_actions to see available apps.
instructions string required Natural language instructions for the action
output string required Natural language description of what data you want from the results. Example: 'just the title and created date' or 'only items with status active'. A filter will be automatically generated to extract this data.
params object optional Optional direct parameter values to pass to the action
zapiermcp_execute_zapier_write_action # Execute a write or create action in a connected app. Call list_enabled_zapier_actions first to get the app name and action key. 5 params

Execute a write or create action in a connected app. Call list_enabled_zapier_actions first to get the app name and action key.

Name Type Required Description
action string required Action key to execute. Use list_enabled_zapier_actions to get exact keys.
app string required App identifier. Use list_enabled_zapier_actions to see available apps.
instructions string required Natural language instructions for the action
output string required Natural language description of what data you want from the results. Example: 'just the title and created date' or 'only items with status active'. A filter will be automatically generated to extract this data.
params object optional Optional direct parameter values to pass to the action
zapiermcp_get_configuration_url # Get the URL where users can configure this MCP server — adding, editing, or removing actions and connecting accounts. 0 params

Get the URL where users can configure this MCP server — adding, editing, or removing actions and connecting accounts.

zapiermcp_get_zapier_skill # Fetch the full markdown content of a Zapier Skill by name. Call this before executing a skill. 1 param

Fetch the full markdown content of a Zapier Skill by name. Call this before executing a skill.

Name Type Required Description
name string required The exact name of the skill to retrieve
zapiermcp_list_enabled_zapier_actions # List all apps and actions currently enabled on this Zapier MCP server. Pass an app name to see its available action keys. Use action keys with execute_zapier_read_action and execute_zapier_write_action. 2 params

List all apps and actions currently enabled on this Zapier MCP server. Pass an app name to see its available action keys. Use action keys with execute_zapier_read_action and execute_zapier_write_action.

Name Type Required Description
action string optional Filter by action key. Omit to list all actions.
app string optional Filter by app name (e.g., 'gmail', 'jira', 'slack'). Omit to list all apps.
zapiermcp_list_zapier_skills # List all saved Zapier Skills with their names and descriptions. 0 params

List all saved Zapier Skills with their names and descriptions.

zapiermcp_send_feedback # Send feedback about your Zapier MCP experience to the Zapier team. 2 params

Send feedback about your Zapier MCP experience to the Zapier team.

Name Type Required Description
feedback string required Feedback message to send to the Zapier MCP team
feedback_positive boolean required Whether this is positive feedback (true) or negative (false)
zapiermcp_update_zapier_skill # Update an existing Zapier Skill's description or content by name. 3 params

Update an existing Zapier Skill's description or content by name.

Name Type Required Description
name string required The exact name of the skill to update
description string optional Updated one-sentence description (optional)
skillDefinition string optional Updated full markdown content (optional)