vercel connect
The vercel connect command manages Vercel Connect connectors. Use it to create connectors, attach them to projects, request runtime tokens, and remove them.
It supports the following subcommands:
create: Create a new connectorlist: List connectors for your team or projecttoken: Get a runtime token from a connectorattach: Attach a project to a connectordetach: Detach a project from a connectorupdate: Update connector brandingremove: Delete a connectoropen: Open a connector in the Vercel dashboard
Connectors are identified by their ID (for example, scl_abc123) or their UID (for example, slack/my-bot).
Creates a new connector for a service.
vercel connect create <service>Pass a service name such as slack, notion, or okta, or the URL of an OAuth or MCP server such as mcp.linear.app.
vercel connect create slack --name acme-slackacme-slack.For a known service, the CLI reads the connection methods that Vercel publishes for it and prompts you for what the connector needs, so you can finish setup in the terminal. It opens your browser only when the provider requires you to sign in or install an app.
Depending on the service, the CLI asks you for:
- Product: which part of the service to connect to, such as its API or its MCP server. You only see this when a service exposes more than one.
- Connection method: how to authenticate, such as
oauthorapi-key. Each method shows whether Vercel registers the application with the provider for you (automatic registration) or whether you supply your own credentials (bring your own credentials). - Setup values: values the method needs to reach your account, such as an Okta domain.
- Credentials: a client ID, client secret, or API key, when the method needs them. The CLI masks secret values as you type them.
When a service publishes a single connection method, the CLI asks you to confirm it instead of showing a list. Pass --yes to skip that confirmation.
For a service that publishes no connection methods, such as an OAuth server URL that Vercel doesn't recognize, Vercel sets up what it can and opens your browser for the remaining steps.
Run --help against a service to list its products, its connection methods, the credentials and setup values each method needs, and a runnable example for each:
vercel connect create notion --helpTo create a connector from a script or in CI, pass your choices as flags. Use --connection-method to pick the method, --target to pick the product, --param KEY=VALUE for setup values, and --data for credentials:
vercel connect create okta --connection-method custom-server \
--param domain=acme.okta.com --param auth_server_id=default \
--name okta --data @credentials.jsonPass --data @<path> to read credentials from a file, or --data @- to read them from stdin. Inline --data values leak into your shell history and into process listings, so use a file or stdin for anything secret.
| Option | Shorthand | Description |
|---|---|---|
--name <NAME> | -n | Name for the connector. |
--connection-method <METHOD> | How to connect to the service (for example, oauth, api-key, mcp). Omit it to choose interactively. | |
--target <TARGET> | Which of the service's products to connect to (for example, api, mcp). Only needed when a service exposes more than one. | |
--param <KEY=VALUE> | Value for a setup field on the connection method (for example, domain=acme.okta.com). Repeatable. | |
--data <JSON> | JSON object of credentials and configuration for the connector. Pass @<path> to read from a file or @- to read from stdin. | |
--connector-type <TYPE> | Connector type to create. Only valid with --data. By default, Vercel resolves the type from the service. | |
--triggers | Enable webhook trigger forwarding for this connector. | |
--trigger-event <EVENT> | Webhook event to receive. Repeatable. Requires --triggers, and replaces the provider's default events. | |
--yes | -y | Skip the confirmation prompt shown when a service has a single connection method. |
--icon <PATH> | Path to a PNG or JPEG image to use as the connector icon. | |
--background-color <HEX> | Background color for the connector icon (for example, #1A2B3C). | |
--accent-color <HEX> | Accent color for the connector icon (for example, #FF0066). | |
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect create slack
vercel connect create notion --help
vercel connect create notion --connection-method mcp --name notion-mcp
vercel connect create notion --target api --connection-method oauth --name notion --data @credentials.json
vercel connect create notion --connection-method api-key --name notion --data @key.json
vercel connect create okta --connection-method custom-server --param domain=acme.okta.com --name okta --data @credentials.json
vercel connect create slack --name my-bot --triggers
vercel connect create mcp.linear.app --name linear-connector
vercel connect create slack --name my-bot --icon ./logo.png --background-color '#1A2B3C'
vercel connect create slack --format=jsonLists connectors for your team or project, with optional filtering by type, service, or search text. Also available as vercel connect ls.
vercel connect listBy default, only connectors linked to the currently linked project are shown. Use --all-projects to list every connector in the team.
vercel connect list --all-projects| Option | Shorthand | Description |
|---|---|---|
--all-projects | List every connector in the team, regardless of project link. | |
--type <TYPE> | Filter by connector type (slack, github, oauth, custom). Repeatable. | |
--service <NAME> | Filter by service name (for example, slack, mcp.linear.app). Repeatable. | |
--search <TEXT> | Search connectors by name or UID. | |
--limit <COUNT> | Number of connectors to return per page. | |
--next <CURSOR> | Cursor for the next page of results. | |
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect list --all-projects
vercel connect list --type slack
vercel connect list --type oauth --type github
vercel connect list --service mcp.linear.app
vercel connect list --search prod
vercel connect list --limit 10
vercel connect list --format=jsonRequests a runtime token from a connector. Plain output is the raw token value, suitable for TOKEN=$(vercel connect token ...).
vercel connect token <connector>By default the command requests a user token (acting on behalf of you). Use --subject app to request an app token using the connector's default installation.
vercel connect token slack/my-bot --subject appIf authorization or installation is required and the session is interactive, the CLI opens your browser and polls for the result. Pass --yes to allow this in non-interactive contexts.
| Option | Shorthand | Description |
|---|---|---|
--subject <TYPE> | -s | Subject type: user (default) or app. |
--installation-id <ID> | Target a specific installation. Only applies with --subject app. | |
--scopes <SCOPES> | Scopes for the token request. Comma- or space-separated. | |
--yes | -y | Allow opening the browser automatically if authorization or installation is required. |
--format <FORMAT> | -F | Specify the output format (json). JSON output includes expiresAt, installationId, and other fields. |
vercel connect token scl_abc123
vercel connect token slack/my-bot
vercel connect token scl_abc123 --subject app
vercel connect token scl_abc123 --subject app --installation-id inst_1
vercel connect token scl_abc123 --scopes channels:read,chat:write
vercel connect token scl_abc123 --yes
vercel connect token scl_abc123 --format=jsonAttaches a Vercel project to a connector for one or more environments, so the project can request tokens from that connector at runtime.
vercel connect attach <connector>production), Preview (preview), and Development (development).vercel connect attach scl_abc123 -e production -e previewPassing --environment replaces the built-in environment defaults. The example command below enables only the qa Custom Environment for a project with no existing trigger destinations to other Custom Environments:
vercel connect attach scl_abc123 --environment qaqa Custom Environment.If the project already has trigger destinations that target other Custom Environments, the CLI preserves those environments on the project link.
Use --triggers to also register the project as a trigger destination. When registered, the connector forwards verified incoming webhooks to the project. A connector can have up to three trigger destinations.
vercel connect attach scl_abc123 --triggersIf you do not pass --trigger-branch or --trigger-environment, the destination targets Production.
If you omit --trigger-path, Vercel derives the receiver path from the connector and project framework. Pass --trigger-path to select the receiver path explicitly.
Use --trigger-environment to forward incoming webhooks to a Custom Environment:
vercel connect attach scl_abc123 --environment qa --triggers \
--trigger-environment qa --trigger-path /api/slack-eventsqa and forward webhooks to it.The CLI combines the environments passed to --environment with the trigger target. For a project with no existing trigger destinations, the example above produces a project link that contains only qa. Existing trigger destinations remain registered, and the CLI preserves any Custom Environments they require on the project link. If you omit --environment, the CLI links production, preview, and development, adds qa because it is the trigger target, and preserves Custom Environments required by existing destinations.
| Option | Shorthand | Description |
|---|---|---|
--project <NAME_OR_ID> | -p | Project name or ID. Defaults to the currently linked project. |
--environment <ENV> | -e | Environments to enable by built-in name or Custom Environment slug. Repeatable and comma-separated. Defaults to production, preview, and development. |
--triggers | Register this project as a trigger destination for incoming webhooks. | |
--trigger-branch <BRANCH> | Git branch for the trigger destination. Mutually exclusive with --trigger-environment and only valid with --triggers. | |
--trigger-environment <ENV> | Custom Environment slug for the trigger destination. Mutually exclusive with --trigger-branch and only valid with --triggers. | |
--trigger-path <PATH> | Path on the project that receives forwarded webhooks. Only valid with --triggers. | |
--yes | -y | Skip the confirmation prompt. |
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect attach scl_abc123
vercel connect attach scl_abc123 -e production -e preview
vercel connect attach scl_abc123 -e qa
vercel connect attach slack/my-bot --project my-app
vercel connect attach scl_abc123 --triggers
vercel connect attach scl_abc123 --triggers --trigger-branch staging --trigger-path /slack
vercel connect attach scl_abc123 -e qa --triggers --trigger-environment qa --trigger-path /slack
vercel connect attach scl_abc123 --yes --format=jsonDetaches a Vercel project from a connector. The project can no longer request tokens from that connector.
vercel connect detach <connector>vercel connect detach slack/my-bot --project my-app| Option | Shorthand | Description |
|---|---|---|
--project <NAME_OR_ID> | -p | Project name or ID. Defaults to the currently linked project. |
--yes | -y | Skip the confirmation prompt. |
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect detach scl_abc123
vercel connect detach slack/my-bot --project my-app
vercel connect detach scl_abc123 --yes --format=jsonUpdates connector branding: icon and colors.
vercel connect update <connector>| Option | Shorthand | Description |
|---|---|---|
--icon <PATH> | Path to a PNG or JPEG image to use as the connector icon. | |
--background-color <HEX> | Background color for the connector icon (for example, #1A2B3C). | |
--accent-color <HEX> | Accent color for the connector icon (for example, #FF0066). | |
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect update scl_abc123 --icon ./logo.png
vercel connect update scl_abc123 --background-color '#1A2B3C' --accent-color '#FF0066'
vercel connect update scl_abc123 --icon ./logo.png --format=jsonDeletes a connector. By default the command prompts for confirmation. Also available as vercel connect rm.
vercel connect remove <connector>If the connector still has projects attached, the deletion fails unless you pass --disconnect-all to detach all projects first.
vercel connect remove scl_abc123 --disconnect-all --yes| Option | Shorthand | Description |
|---|---|---|
--disconnect-all | -a | Disconnect all projects from the connector before deletion. |
--yes | -y | Skip the confirmation prompt. |
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect remove scl_abc123
vercel connect remove slack/my-bot
vercel connect remove scl_abc123 --disconnect-all
vercel connect remove scl_abc123 --yes
vercel connect remove scl_abc123 --disconnect-all --yes --format=jsonOpens a connector in the Vercel dashboard. With --format=json, prints the dashboard URL instead of opening a browser.
vercel connect open <connector>| Option | Shorthand | Description |
|---|---|---|
--format <FORMAT> | -F | Specify the output format (json). |
vercel connect open scl_abc123
vercel connect open slack/my-bot
vercel connect open scl_abc123 --format=jsonThe following global options can be passed when using the vercel connect command:
--cwd--debug--global-config--help--local-config--no-color--non-interactive--scope--team--token--version
For more information on global options and their usage, refer to the options section.
Was this helpful?