Vercel
OAuth 2.0 developer_toolsVercel
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
Authentication
Section titled “Authentication”This connector uses OAuth 2.0. Scalekit acts as the OAuth client: it redirects your user to Vercel, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a connectionName and a user identifier.
You supply your Vercel Connected App credentials (Client ID + Secret) once per environment in the Scalekit dashboard.
Set up the connector
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 Agent Auth.
- Click 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 Agent Auth → 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.
-
Code examples
Connect a user’s Vercel account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.
You can interact with Vercel in two ways — via direct proxy API calls or via Scalekit optimized tool calls. Scroll down to see the list of available Scalekit tools.
Proxy API calls
import { ScalekitClient } from '@scalekit-sdk/node';import 'dotenv/config';
const connectionName = 'vercel'; // get your connection name from connection configurationsconst identifier = 'user_123'; // your unique user identifier
// Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsconst scalekit = new ScalekitClient( process.env.SCALEKIT_ENV_URL, process.env.SCALEKIT_CLIENT_ID, process.env.SCALEKIT_CLIENT_SECRET);const actions = scalekit.actions;
// Authenticate the userconst { link } = await actions.getAuthorizationLink({ connectionName, identifier,});console.log('Authorize Vercel:', link);process.stdout.write('Press Enter after authorizing...');await new Promise(r => process.stdin.once('data', r));
// Make a request via Scalekit proxyconst result = await actions.request({ connectionName, identifier, path: '/v2/user', method: 'GET',});console.log(result);import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "vercel" # get your connection name from connection configurationsidentifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsscalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
# Authenticate the userlink_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier)# present this link to your user for authorization, or click it yourself for testingprint("Authorize Vercel:", link_response.link)input("Press Enter after authorizing...")
# Make a request via Scalekit proxyresult = actions.request( connection_name=connection_name, identifier=identifier, path="/v2/user", method="GET")print(result)Scalekit tools
Tool list
Section titled “Tool list” 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.