> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What is a Zapier connector?

> A Zapier connector is an agent-native toolkit that gives AI agents direct access to an app.

A Zapier connector is an agent-native toolkit that gives AI agents direct access to an app. Connectors bundle executable code with structured schemas that help agents call the app reliably. Each connector combines the tools an app provides with the context an agent needs to use them correctly.

Connectors are portable across your AI stack and can be used with or without a Zapier account.

Every connector is a self-contained npm package that works in environments that support skills, MCP servers, or npm packages, including Claude Code, Cursor, Codex, and custom agent frameworks.

When a connector is installed, the agent invokes a single tool with a validated schema instead of generating raw API calls. This improves reliability, reduces implementation complexity, and helps ensure consistent behavior across agent frameworks.

Connectors can be combined to build multi-step automation workflows.

<Warning title="Prototype: not a stable contract">
  Zapier Connectors are a prototype. Interfaces can change in any release, and connectors are not recommended for production use yet. Before version 1.0, a breaking change ships as a minor version bump and a feature or fix ships as a patch. Pin with a caret (for example `^0.1.0`) to avoid picking up a breaking change automatically.
</Warning>

## Connector modes

A connector is distributed as a single npm package (for example, `@zapier/notion-connector`) and can be used in four different modes:

| Mode  | Command                                           |
| ----- | ------------------------------------------------- |
| Skill | `npx skills add zapier/connectors --skill notion` |
| MCP   | `npx @zapier/notion-connector mcp`                |
| CLI   | `npx @zapier/notion-connector run [tool]`         |
| Code  | `npm install @zapier/notion-connector`            |

All connectors are also available as source on GitHub at [github.com/zapier/connectors](https://github.com/zapier/connectors). Clone the repo if you prefer to work from source or want access to all connectors at once without installing each package individually.

## Ways to use connectors

You can use connectors in two ways, depending on your needs.

<Tabs>
  <Tab title="Without a Zapier account">
    You can install and use connectors without a Zapier account. No sign-up required. Just install and start building.

    With this option, you provide your own API credentials. The connector provides the tool logic and schemas, while authentication and execution happen in your environment. Since connectors are publicly available, you can install the corresponding packages or clone the repository and start using them immediately.
  </Tab>

  <Tab title="With a Zapier account">
    You can optionally connect through Zapier to take advantage of managed authentication and additional platform capabilities. When using this path, connectors also benefit from:

    * Authentication and credential management
    * Governance and observability (coming soon)
  </Tab>
</Tabs>

## Install a connector

When using a connector as a skill, you have two options:

* Install the connector directly from the npm registry.
* Clone the connector repository. Your agent reads the connector's `SKILL.md` to discover the available tools and how to run them. The repository is available at [github.com/zapier/connectors/tree/main/apps](https://github.com/zapier/connectors/tree/main/apps).

For example, to install the Notion connector as a skill:

```bash theme={null}
npx skills add zapier/connectors --skill notion
```

To install a connector globally (for example, Google Docs):

```bash theme={null}
npx skills add zapier/connectors --skill google-docs --global
```

## Use a connector

<Tabs>
  <Tab title="Skill">
    **How it works:** The agent reads the connector's `SKILL.md` to discover the available tools and how to run them. Once installed, you do not invoke the connector directly. Just describe what you need in natural language, and the agent will use the connector when it is relevant to your request.

    **Authentication**

    Without a Zapier account, make sure the agent has access to the API credentials via an environment variable:

    ```bash theme={null}
    export NOTION_TOKEN="<your_token_here>"
    ```

    With a Zapier account, create a Zapier connection and configure the connector to use your connection ID.

    **Example prompts**

    * "Give me all the Notion pages that talk about the company strategy."
    * "Pull onboarding notes from Notion, summarize them into a new Google Doc, and schedule a 10am MT review tomorrow on Calendar with the doc linked."
  </Tab>

  <Tab title="Local MCP server">
    **How it works:** The connector runs as a local MCP server, exposing its tools so your AI client discovers them automatically through the MCP protocol. Once configured, describe what you need in your AI client and it will invoke the connector's tools directly.

    **Setup:**

    ### From npm

    Register in your client's MCP configuration:

    ```json theme={null}
    {
      "notion": {
        "command": "npx",
        "args": ["-y", "@zapier/notion-connector", "mcp"],
        "env": {
          "NOTION_TOKEN": "<your_token_here>"
        }
      }
    }
    ```

    With Zapier, make sure the agent can find or knows the connection ID to use.

    ### From GitHub

    Register in your client's MCP configuration:

    ```json theme={null}
    {
      "notion": {
        "command": "node",
        "args": ["/Users/<your-user>/.agents/skills/notion/cli.js", "mcp"],
        "env": {
          "NOTION_TOKEN": "<your_token_here>"
        }
      }
    }
    ```

    With Zapier, make sure the agent can find or knows the connection ID to use.
  </Tab>

  <Tab title="CLI">
    **How it works:** Run connector commands directly from your terminal.

    ### From npm

    **Command structure:**

    ```bash theme={null}
    npx @zapier/[app]-connector run [tool] '[json-input]' --connection [reference]
    ```

    1. `npx @zapier/[app]-connector`: runs the connector from npm
    2. `run`: execute a tool
    3. `[tool-name]`: which tool (for example, search, createPage)
    4. `'[json-input]'`: JSON object with the tool's parameters
    5. `--connection [reference]`: how to authenticate

    **Example:**

    Search Notion for pages matching "roadmap".

    Without a Zapier account, use your own token:

    ```bash theme={null}
    npx @zapier/notion-connector run search '{"query":"roadmap"}' --connection env:NOTION_TOKEN
    ```

    With a Zapier account, use a Zapier connection:

    ```bash theme={null}
    npx @zapier/notion-connector run search '{"query":"roadmap"}' --connection zapier:<connection-id>
    ```

    ### From GitHub

    **Command structure:**

    ```bash theme={null}
    node ~/.agents/skills/[app]/cli.js run [tool] '[json-input]' --connection [reference]
    ```

    1. `node ~/.agents/skills/[app]/cli.js`: the connector CLI
    2. `run`: run a tool
    3. `[tool-name]`: which tool (for example, search, createPage)
    4. `'[json-input]'`: JSON object with the tool's parameters
    5. `--connection [reference]`: how to authenticate

    **Examples:**

    List all available tools and options:

    ```bash theme={null}
    node ~/.agents/skills/notion/cli.js --help
    ```

    Search Notion for pages matching "roadmap" using a Zapier connection for authentication:

    ```bash theme={null}
    node ~/.agents/skills/notion/cli.js run search '{"query":"roadmap"}' --connection zapier:25b42592-beb0-46fe-a979-1a8b2dea348f
    ```
  </Tab>

  <Tab title="Code package">
    **How it works:** Import the connector as a standard npm package into your Node.js application. You call tools directly as functions in your code, giving you full control over execution, error handling, and orchestration.

    **Installation:**

    ```bash theme={null}
    npm install @zapier/notion-connector
    ```

    **Example:**

    ```typescript theme={null}
    import { search } from "@zapier/notion-connector";

    const results = await search(
      { query: "roadmap" },
      { connection: "NOTION_TOKEN" },
      // with Zapier:
      // { connection: "25b42592-beb0-46fe-a979-1a8b2dea348f" },
    );
    ```
  </Tab>
</Tabs>
