Vercel connector
OAuth 2.0 developer_toolsConnect to Vercel. Access user profile, teams, projects, deployments, and environment settings.
Vercel connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Set up the connector
Section titled “Set up the connector”Register your Vercel credentials with Scalekit so it handles the token lifecycle. You do this once per environment.
Dashboard setup steps
Register your Scalekit environment with the Vercel connector so Scalekit handles the OAuth flow and token lifecycle for your users. Follow every step below from start to finish — by the end you will have a working connection.
-
Create a Vercel OAuth integration
You need a Vercel OAuth integration to get the Client ID and Client Secret that Scalekit will use to authorize your users.
Go to the Vercel Integrations Console:
-
Open vercel.com/dashboard/integrations/console in your browser and sign in.
-
Click Create Integration (top right of the page).
-
Fill in the form:
Field What to enter Integration Name A recognizable name, e.g. My Vercel AI AgentURL Slug Auto-generated from the name — you can leave it as-is Website URL Your app’s public URL. For testing you can use https://localhostShort Description Brief description of your integration -
Leave the Redirects section empty for now. You will add the Scalekit callback URL in the next step.
-
Click Create →.
After the integration is created, Vercel takes you to the integration’s settings page. Keep this tab open.

-
-
Copy the redirect URI from Scalekit
Scalekit gives you a callback URL that Vercel will redirect users back to after they authorize your app. You need to register this URL in your Vercel integration.
In the Scalekit dashboard:
- Go to app.scalekit.com and sign in.
- In the left sidebar, click AgentKit > Connections > Create Connection.
- Search for Vercel and click Create.
- A connection details panel opens. Find the Redirect URI field — it looks like:
https://<YOUR_ENV>.scalekit.cloud/sso/v1/oauth/conn_<ID>/callback
- Click the copy icon next to the Redirect URI to copy it to your clipboard.

-
Add the redirect URI and copy credentials from Vercel
Switch back to the Vercel integration tab you left open.
Register the redirect URI:
- In the left sidebar of your integration settings, click Credentials.
- Scroll down to the Redirect URIs section.
- Paste the redirect URI you copied from Scalekit into the input field.
- Click Add URI — the URI appears highlighted in the list.
- Click Save Changes.
Copy your credentials:
- Scroll up to the OAuth Credentials section.
- Client ID — shown in plain text. Click Copy ID to copy it.
- Client Secret — click Reveal to show the secret, then copy it.
Paste both values somewhere safe (a password manager or secrets vault). You will enter them into Scalekit in the next step.

-
Configure permissions in Vercel
Permissions (scopes) control which Vercel API resources your integration can access on behalf of the user.
-
In the Vercel integration settings sidebar, click Permissions.
-
Enable the scopes your integration needs:
Scope Access granted openidRequired to issue an ID token for user identification emailUser’s email address profileUser’s name, username, and profile picture offline_accessRefresh token for long-lived access without re-authorization -
Click Save Changes.
-
-
Add credentials in Scalekit
Switch back to the Scalekit dashboard tab.
-
Go to AgentKit > Connections and click the Vercel connection you created in Step 2.
-
Fill in the credentials form:
Field Value Client ID Paste the Client ID from Step 3 Client Secret Paste the Client Secret from Step 3 Scopes Enter the scopes you enabled in Step 4, e.g. openid profile email offline_access -
Click Save.

Your Vercel connection is now configured. Scalekit will use these credentials to run the OAuth flow whenever a user connects their Vercel account.
-
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'vercel'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Vercel:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'vercel_aliases_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "vercel"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Vercel:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="vercel_aliases_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Create env var, edge config, project — Creates a new environment variable for a Vercel project with the specified key, value, and target environments
- Add domain, project domain — Adds a domain to the authenticated user or team’s Vercel account
- Delete team, deployment, alias — Permanently deletes a Vercel team and all its associated resources
- List domains, team members, deployments — Returns all domains registered or added to the authenticated user or team’s Vercel account
- Get team, user, alias — Returns details of a specific Vercel team by its ID or slug
- Update edge config items, env var, project — Creates, updates, or deletes items in an Edge Config store using a list of patch operations
Common workflows
Section titled “Common workflows”Proxy API call
const result = await actions.request({ connectionName: 'vercel', identifier: 'user_123', path: '/v2/user', method: 'GET',});console.log(result);result = actions.request( connection_name='vercel', identifier='user_123', path="/v2/user", method="GET")print(result)Execute a tool
const result = await actions.executeTool({ connector: 'vercel', identifier: 'user_123', toolName: 'vercel_alias_create', toolInput: {},});console.log(result);result = actions.execute_tool( tool_input={}, tool_name='vercel_alias_create', connection_name='vercel', identifier='user_123',)print(result)Tool list
Section titled “Tool list”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.
vercel_alias_create
#
Assigns an alias (custom domain) to a Vercel deployment. 3 params
Assigns an alias (custom domain) to a Vercel deployment.
alias string required The alias hostname to assign. deployment_id string required The deployment ID to assign the alias to. team_id string optional Team ID if the deployment belongs to a team. vercel_alias_delete
#
Removes an alias from a Vercel deployment. 2 params
Removes an alias from a Vercel deployment.
alias_or_id string required The alias hostname or ID to delete. team_id string optional Team ID if the alias belongs to a team. vercel_alias_get
#
Returns information about a specific alias by its ID or hostname. 2 params
Returns information about a specific alias by its ID or hostname.
alias_or_id string required The alias hostname or ID. team_id string optional Team ID if the alias belongs to a team. vercel_aliases_list
#
Returns all aliases for the authenticated user or team, with optional domain and deployment filtering. 4 params
Returns all aliases for the authenticated user or team, with optional domain and deployment filtering.
domain string optional Filter aliases by domain. limit integer optional Maximum number of aliases to return. since integer optional Timestamp in ms for pagination. team_id string optional Team ID to list aliases for. vercel_check_create
#
Creates a new check on a Vercel deployment. Used by integrations to report status of external checks like test suites or audits. 5 params
Creates a new check on a Vercel deployment. Used by integrations to report status of external checks like test suites or audits.
blocking boolean required If true, this check must pass before deployment is considered ready. deployment_id string required The deployment ID to create a check for. name string required Display name for the check. detailsUrl string optional URL where users can view check details. team_id string optional Team ID if the deployment belongs to a team. vercel_check_update
#
Updates the status and conclusion of a deployment check. Used to report check results back to Vercel. 6 params
Updates the status and conclusion of a deployment check. Used to report check results back to Vercel.
check_id string required The check ID to update. deployment_id string required The deployment ID the check belongs to. conclusion string optional Check conclusion: succeeded, failed, skipped, canceled. detailsUrl string optional URL where users can view check details. status string optional Check status: running, completed. team_id string optional Team ID if the deployment belongs to a team. vercel_checks_list
#
Returns all checks attached to a Vercel deployment (e.g. from third-party integrations). 2 params
Returns all checks attached to a Vercel deployment (e.g. from third-party integrations).
deployment_id string required The deployment ID to list checks for. team_id string optional Team ID if the deployment belongs to a team. vercel_deployment_aliases_list
#
Returns all aliases assigned to a specific Vercel deployment. 2 params
Returns all aliases assigned to a specific Vercel deployment.
deployment_id string required The deployment ID to get aliases for. team_id string optional Team ID if the deployment belongs to a team. vercel_deployment_cancel
#
Cancels a Vercel deployment that is currently building or queued. 2 params
Cancels a Vercel deployment that is currently building or queued.
deployment_id string required The deployment ID to cancel. team_id string optional Team ID if the deployment belongs to a team. vercel_deployment_create
#
Creates a new Vercel deployment for a project, optionally from a Git ref or with inline files. 4 params
Creates a new Vercel deployment for a project, optionally from a Git ref or with inline files.
name string required The project name to deploy. git_source string optional JSON object with Git source info, e.g. {"type":"github","ref":"main","repoId":"123"}. target string optional Deployment target: production or preview. Default is preview. team_id string optional Team ID if deploying to a team project. vercel_deployment_delete
#
Deletes a Vercel deployment by its ID. 2 params
Deletes a Vercel deployment by its ID.
deployment_id string required The deployment ID to delete. team_id string optional Team ID if the deployment belongs to a team. vercel_deployment_events_list
#
Returns build log events for a Vercel deployment. Useful for debugging build errors. 4 params
Returns build log events for a Vercel deployment. Useful for debugging build errors.
deployment_id string required The deployment ID to get events for. limit integer optional Maximum number of log events to return. since integer optional Timestamp in ms to fetch events after. team_id string optional Team ID if the deployment belongs to a team. vercel_deployment_get
#
Returns details of a specific Vercel deployment by its ID or URL, including build status, target, and metadata. 2 params
Returns details of a specific Vercel deployment by its ID or URL, including build status, target, and metadata.
id_or_url string required The deployment ID (dpl_xxx) or deployment URL. team_id string optional Team ID if the deployment belongs to a team. vercel_deployments_list
#
Returns a list of deployments for the authenticated user or a specific project/team, with filtering and pagination. 6 params
Returns a list of deployments for the authenticated user or a specific project/team, with filtering and pagination.
from integer optional Timestamp in ms for pagination cursor. limit integer optional Maximum number of deployments to return. project_id string optional Filter deployments by project ID or name. state string optional Filter by deployment state: BUILDING, ERROR, INITIALIZING, QUEUED, READY, CANCELED. target string optional Filter by target environment: production or preview. team_id string optional Filter deployments by team ID. vercel_dns_record_create
#
Creates a new DNS record for a domain managed by Vercel. Supports A, AAAA, CNAME, TXT, MX, SRV, and CAA records. 7 params
Creates a new DNS record for a domain managed by Vercel. Supports A, AAAA, CNAME, TXT, MX, SRV, and CAA records.
domain string required The domain to create the DNS record for. name string required Subdomain name, or empty string for root domain. type string required Record type: A, AAAA, CNAME, TXT, MX, SRV, CAA. value string required The record value (IP address, hostname, text, etc.). mx_priority integer optional Priority for MX records. team_id string optional Team ID if the domain belongs to a team. ttl integer optional Time-to-live in seconds. Default is 60. vercel_dns_record_delete
#
Deletes a DNS record from a domain managed by Vercel. 3 params
Deletes a DNS record from a domain managed by Vercel.
domain string required The domain the DNS record belongs to. record_id string required The ID of the DNS record to delete. team_id string optional Team ID if the domain belongs to a team. vercel_dns_records_list
#
Returns all DNS records for a domain managed by Vercel. 4 params
Returns all DNS records for a domain managed by Vercel.
domain string required The domain to list DNS records for. limit integer optional Maximum number of records to return. since integer optional Timestamp in ms for pagination. team_id string optional Team ID if the domain belongs to a team. vercel_domain_add
#
Adds a domain to the authenticated user or team's Vercel account. 2 params
Adds a domain to the authenticated user or team's Vercel account.
name string required The domain name to add. team_id string optional Team ID to add the domain to. vercel_domain_delete
#
Removes a domain from the authenticated user or team's Vercel account. 2 params
Removes a domain from the authenticated user or team's Vercel account.
domain string required The domain name to delete. team_id string optional Team ID if the domain belongs to a team. vercel_domain_get
#
Returns information about a specific domain including verification status, nameservers, and registrar. 2 params
Returns information about a specific domain including verification status, nameservers, and registrar.
domain string required The domain name to look up. team_id string optional Team ID if the domain belongs to a team. vercel_domains_list
#
Returns all domains registered or added to the authenticated user or team's Vercel account. 3 params
Returns all domains registered or added to the authenticated user or team's Vercel account.
limit integer optional Maximum number of domains to return. since integer optional Timestamp in ms for pagination. team_id string optional Team ID to list domains for. vercel_edge_config_create
#
Creates a new Edge Config store for storing read-only configuration data close to users at the edge. 2 params
Creates a new Edge Config store for storing read-only configuration data close to users at the edge.
slug string required A unique slug for the Edge Config store. team_id string optional Team ID to create the Edge Config under. vercel_edge_config_delete
#
Permanently deletes an Edge Config store and all its items. 2 params
Permanently deletes an Edge Config store and all its items.
edge_config_id string required The Edge Config store ID to delete. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_get
#
Returns details of a specific Edge Config store by its ID. 2 params
Returns details of a specific Edge Config store by its ID.
edge_config_id string required The Edge Config store ID. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_item_get
#
Returns the value of a specific item from an Edge Config store by key. 3 params
Returns the value of a specific item from an Edge Config store by key.
edge_config_id string required The Edge Config store ID. item_key string required The key of the item to retrieve. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_items_list
#
Returns all key-value items stored in an Edge Config store. 2 params
Returns all key-value items stored in an Edge Config store.
edge_config_id string required The Edge Config store ID. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_items_update
#
Creates, updates, or deletes items in an Edge Config store using a list of patch operations. 3 params
Creates, updates, or deletes items in an Edge Config store using a list of patch operations.
edge_config_id string required The Edge Config store ID. items string required JSON array of patch operations. Each item has 'operation' (create/update/upsert/delete), 'key', and optionally 'value'. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_token_create
#
Creates a new read token for an Edge Config store to be used in application code. 3 params
Creates a new read token for an Edge Config store to be used in application code.
edge_config_id string required The Edge Config store ID. label string required A descriptive label for the token. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_tokens_delete
#
Deletes one or more read tokens from an Edge Config store. 3 params
Deletes one or more read tokens from an Edge Config store.
edge_config_id string required The Edge Config store ID. tokens string required JSON array of token IDs to delete. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_config_tokens_list
#
Returns all read tokens for an Edge Config store. 2 params
Returns all read tokens for an Edge Config store.
edge_config_id string required The Edge Config store ID. team_id string optional Team ID if the Edge Config belongs to a team. vercel_edge_configs_list
#
Returns all Edge Config stores for the authenticated user or team. 1 param
Returns all Edge Config stores for the authenticated user or team.
team_id string optional Team ID to list Edge Configs for. vercel_env_var_create
#
Creates a new environment variable for a Vercel project with the specified key, value, and target environments. 6 params
Creates a new environment variable for a Vercel project with the specified key, value, and target environments.
id_or_name string required The project ID or name. key string required The environment variable key. value string required The environment variable value. target string optional JSON array of targets: production, preview, development. Defaults to all. team_id string optional Team ID if the project belongs to a team. type string optional Variable type: plain or secret. Default is plain. vercel_env_var_delete
#
Deletes an environment variable from a Vercel project. 3 params
Deletes an environment variable from a Vercel project.
env_id string required The environment variable ID to delete. id_or_name string required The project ID or name. team_id string optional Team ID if the project belongs to a team. vercel_env_var_update
#
Updates an existing environment variable for a Vercel project. 5 params
Updates an existing environment variable for a Vercel project.
env_id string required The environment variable ID to update. id_or_name string required The project ID or name. target string optional JSON array of new targets: production, preview, development. team_id string optional Team ID if the project belongs to a team. value string optional New value for the environment variable. vercel_env_vars_list
#
Returns all environment variables for a Vercel project, including their targets (production, preview, development) and encryption status. 3 params
Returns all environment variables for a Vercel project, including their targets (production, preview, development) and encryption status.
id_or_name string required The project ID or name. decrypt boolean optional If true, returns decrypted values for sensitive variables. team_id string optional Team ID if the project belongs to a team. vercel_project_create
#
Creates a new Vercel project with a given name, framework, and optional Git repository. 5 params
Creates a new Vercel project with a given name, framework, and optional Git repository.
name string required The name of the project. framework string optional Framework preset, e.g. nextjs, vite, gatsby, nuxtjs, create-react-app. git_repository string optional JSON object with 'type' (github/gitlab/bitbucket) and 'repo' (owner/name) fields. root_directory string optional Root directory of the project within the repository. team_id string optional Team ID to create the project under. vercel_project_delete
#
Permanently deletes a Vercel project and all its deployments, domains, and environment variables. 2 params
Permanently deletes a Vercel project and all its deployments, domains, and environment variables.
id_or_name string required The project ID or name to delete. team_id string optional Team ID if the project belongs to a team. vercel_project_domain_add
#
Assigns a domain to a Vercel project with an optional redirect target. 5 params
Assigns a domain to a Vercel project with an optional redirect target.
id_or_name string required The project ID or name. name string required The domain name to assign to the project. git_branch string optional Git branch to associate this domain with for preview deployments. redirect string optional Redirect target domain if this domain should redirect. team_id string optional Team ID if the project belongs to a team. vercel_project_domain_delete
#
Removes a domain assignment from a Vercel project. 3 params
Removes a domain assignment from a Vercel project.
domain string required The domain name to remove from the project. id_or_name string required The project ID or name. team_id string optional Team ID if the project belongs to a team. vercel_project_domains_list
#
Returns all domains assigned to a specific Vercel project. 3 params
Returns all domains assigned to a specific Vercel project.
id_or_name string required The project ID or name. production boolean optional Filter to production domains only. team_id string optional Team ID if the project belongs to a team. vercel_project_get
#
Returns details of a specific Vercel project including its framework, Git repository, environment variables summary, and domains. 2 params
Returns details of a specific Vercel project including its framework, Git repository, environment variables summary, and domains.
id_or_name string required The project ID or name. team_id string optional Team ID if the project belongs to a team. vercel_project_update
#
Updates a Vercel project's name, framework, build command, output directory, or other settings. 7 params
Updates a Vercel project's name, framework, build command, output directory, or other settings.
id_or_name string required The project ID or name to update. build_command string optional Custom build command override. framework string optional Framework preset to apply. install_command string optional Custom install command override. name string optional New project name. output_directory string optional Custom output directory override. team_id string optional Team ID if the project belongs to a team. vercel_projects_list
#
Returns all projects for the authenticated user or team, with optional search and pagination. 4 params
Returns all projects for the authenticated user or team, with optional search and pagination.
from integer optional Timestamp in ms for pagination cursor. limit integer optional Maximum number of projects to return. search string optional Filter projects by name search query. team_id string optional Team ID to list projects for. Omit for personal projects. vercel_team_create
#
Creates a new Vercel team with the specified slug and optional name. 2 params
Creates a new Vercel team with the specified slug and optional name.
slug string required A unique URL-friendly identifier for the team. name string optional Display name for the team. vercel_team_delete
#
Permanently deletes a Vercel team and all its associated resources. 1 param
Permanently deletes a Vercel team and all its associated resources.
team_id string required The team ID or slug to delete. vercel_team_get
#
Returns details of a specific Vercel team by its ID or slug. 1 param
Returns details of a specific Vercel team by its ID or slug.
team_id string required The team ID or slug. vercel_team_member_invite
#
Invites a user to a Vercel team by email address with a specified role. 3 params
Invites a user to a Vercel team by email address with a specified role.
email string required Email address of the user to invite. team_id string required The team ID or slug. role string optional Role to assign: OWNER, MEMBER, VIEWER, DEVELOPER, BILLING. vercel_team_member_remove
#
Removes a member from a Vercel team by their user ID. 2 params
Removes a member from a Vercel team by their user ID.
team_id string required The team ID or slug. user_id string required The user ID of the member to remove. vercel_team_members_list
#
Returns all members of a Vercel team including their roles and join dates. 4 params
Returns all members of a Vercel team including their roles and join dates.
team_id string required The team ID or slug. limit integer optional Maximum number of members to return. role string optional Filter by role: OWNER, MEMBER, VIEWER, DEVELOPER, BILLING. since integer optional Timestamp in ms to fetch members joined after this time. vercel_team_update
#
Updates a Vercel team's name, slug, description, or other settings. 4 params
Updates a Vercel team's name, slug, description, or other settings.
team_id string required The team ID or slug to update. description string optional New description for the team. name string optional New display name for the team. slug string optional New URL-friendly slug for the team. vercel_teams_list
#
Returns all teams the authenticated user belongs to, with pagination support. 3 params
Returns all teams the authenticated user belongs to, with pagination support.
limit integer optional Maximum number of teams to return. since integer optional Timestamp in milliseconds to fetch teams created after this time. until integer optional Timestamp in milliseconds to fetch teams created before this time. vercel_user_get
#
Returns the authenticated user's profile including name, email, username, and account details. 0 params
Returns the authenticated user's profile including name, email, username, and account details.
vercel_webhook_create
#
Creates a new webhook that sends event notifications to the specified URL for Vercel deployment and project events. 4 params
Creates a new webhook that sends event notifications to the specified URL for Vercel deployment and project events.
events string required JSON array of event types to subscribe to, e.g. ["deployment.created","deployment.succeeded"]. url string required The HTTPS endpoint URL to receive webhook payloads. project_ids string optional JSON array of project IDs to scope this webhook to. Omit for all projects. team_id string optional Team ID to create the webhook for. vercel_webhook_delete
#
Permanently deletes a Vercel webhook. 2 params
Permanently deletes a Vercel webhook.
webhook_id string required The webhook ID to delete. team_id string optional Team ID if the webhook belongs to a team. vercel_webhook_get
#
Returns details of a specific Vercel webhook by its ID. 2 params
Returns details of a specific Vercel webhook by its ID.
webhook_id string required The webhook ID. team_id string optional Team ID if the webhook belongs to a team. vercel_webhooks_list
#
Returns all webhooks configured for the authenticated user or team. 1 param
Returns all webhooks configured for the authenticated user or team.
team_id string optional Team ID to list webhooks for.