vercel integration
The vercel integration command manages marketplace integrations. Use it to provision resources, browse available integrations, view setup guides, check billing balances, and manage individual resources with the nested resource subcommand.
It supports the following subcommands:
add: Provision a new resource from a marketplace integrationaccept-terms: Accept marketplace legal terms and install an integration on the teamlist: List installed resourcesinstallations: List marketplace integration installations for the teamdiscover: Browse available marketplace integrationsguide: View getting started guides and code snippetsbalance: Check balances and thresholdsopen: Open a provider's dashboard via SSOupdate: Update a marketplace integration installationremove: Uninstall an integrationresource: Manage individual resources (connect, disconnect, remove, create-threshold, claim)
For the <integration-name> in commands below, use the integration's URL slug. You can find the slug in the Marketplace URL. For example, for https://vercel.com/marketplace/neon, the slug is neon. You can also browse available integrations with the integration discover command.
This command provisions a new resource from a marketplace integration. If the integration isn't installed on your team yet, it installs it first.
Also available as vercel install (alias: vercel i).
In a terminal, this command prompts for choices like billing plan and metadata. You can provide options as flags to reduce prompts. In non-interactive environments (CI pipelines, scripted usage), provide required options via flags. The command detects non-interactive terminals and skips interactive prompts.
vercel integration add <integration-name>Provision a new resource from a marketplace integration.
You can target a specific product from a multi-product integration using the slash syntax:
vercel integration add <integration>/<product>Provision a specific product from a multi-product integration.
Run vercel integration add <integration-name> --help to see available
products, metadata options, and billing plans an integration offers.
| Option | Shorthand | Description |
|---|---|---|
--name | -n | Custom name for the resource. Auto-generated if not provided. |
--metadata | -m | Metadata as KEY=VALUE. Can be repeated for multiple keys. |
--plan | -p | Billing plan ID to use for the resource. |
--environment | -e | Environments to connect: production, preview, development. Can be repeated. Defaults to all three. |
--prefix | Prefix for environment variable names. The prefix is used as-is, so include a trailing underscore if you want a separator (e.g., --prefix NEON2_ creates NEON2_DATABASE_URL). Must start with a letter and contain only letters, digits, and underscores. | |
--format | -F | Output format. Use json for machine-readable output. |
--no-connect | Skip connecting the resource to the current project. Also skips env pull. | |
--no-env-pull | Skip running vercel env pull after provisioning. | |
--installation-id | Installation ID to use when multiple installations exist for the same integration. | |
--claim | If the new resource is a sandbox, claim it immediately after provisioning without prompting. Mutually exclusive with --no-claim. | |
--no-claim | If the new resource is a sandbox, skip the offer to claim it and instead print a hint about how to claim it later. Mutually exclusive with --claim. |
Passing both --claim and --no-claim exits with code 1 and the error
Cannot use both --claim and --no-claim.. In non-interactive environments,
if you provision a sandbox resource without --claim or --no-claim, the
command prints a hint pointing to claim instead of prompting.
After provisioning a resource, the command:
- Prints a link to the resource in the Vercel dashboard
- Connects the resource to the currently linked project (unless
--no-connectis set) - Runs
vercel env pullto sync environment variables (unless--no-env-pullor--no-connectis set)
# Provision a resource interactively
vercel integration add neon
# Target a specific product from a multi-product integration
vercel integration add acme/acme-redis
# Provision with a custom resource name
vercel integration add neon --name my-database
# Provision with metadata options
vercel integration add neon --metadata region=us-east-1
vercel integration add neon -m region=us-east-1 -m version=16
# Provision with a specific billing plan
vercel integration add neon --plan pro
# Connect to specific environments only
vercel integration add neon --environment production
vercel integration add neon -e production -e preview
# Provision without connecting to the current project
vercel integration add neon --no-connect
# Provision without pulling environment variables
vercel integration add neon --no-env-pull
# Use a prefix for environment variable names
vercel integration add neon --prefix NEON2_
# Skip the claim offer when provisioning a sandbox resource (good for CI)
vercel integration add shopify --no-claim
# Show available products and metadata keys
vercel integration add neon --helpThis command accepts a marketplace integration's legal terms and installs the integration on the current team without provisioning a product resource. Use this when you only need the team-level installation; add installs the integration and provisions a resource in one step.
This command requires an interactive terminal and human confirmation. It does not replace integrations that require a browser flow or device attestation.
vercel integration accept-terms <integration>Accept marketplace terms and install an integration on the team.
| Argument | Required | Description |
|---|---|---|
integration | Yes | Integration slug (for example, neon) or ID. |
| Option | Shorthand | Description |
|---|---|---|
--format | -F | Output format. Use json for machine-readable output. |
# Accept terms interactively and install on the team
vercel integration accept-terms neon
# Output result as JSON
vercel integration accept-terms neon --format=jsonThis command lists installed resources with their associated integrations. By default, shows resources for the currently linked project.
Alias: vercel integration ls
vercel integration list [project]List integration resources for the current project.
The output includes the name, status, product, integration, and connected projects for each resource. Unclaimed sandbox marketplace resources are marked with a yellow [SANDBOX] tag in the Status column. When the listing contains one or more sandbox resources, a hint below the table shows how many can be claimed and points to claim.
When you pass --format=json, each sandbox resource includes a claim_status: "sandbox" field. The field is omitted for non-sandbox resources.
| Argument | Required | Description |
|---|---|---|
project | No | Project name to filter resources by, for example my-app (the name shown in the dashboard and vercel project ls). Uses the linked project if omitted. |
| Option | Shorthand | Description |
|---|---|---|
--integration | -i | Filter resources to a specific integration. |
--all | -a | List all resources regardless of project. Cannot be used with [project]. |
--format | -F | Output format. Use json for machine-readable output. |
# List resources for the current project
vercel integration list
# Filter to a specific project by name
vercel integration list my-app
# Filter to a specific integration
vercel integration list --integration neon
vercel integration list -i upstash
# List all resources across the team
vercel integration list --all
# Output as JSON
vercel integration list --format=jsonThis command lists marketplace integration installations for the current team. Use this when you need to see the team-level account-scope state (what integrations are installed) rather than the project-scope resources that list shows.
vercel integration installations [options]List marketplace integration installations for the team.
Alias: vercel integration installation.
| Option | Shorthand | Description |
|---|---|---|
--integration | -i | Limit to installations of this integration. Accepts a slug or ID. |
--format | -F | Output format. Use json for machine-readable output. |
# List all marketplace installations for the team
vercel integration installations
# Filter by integration slug
vercel integration installations --integration neon
# JSON output
vercel integration installations --format jsonThis command lists available marketplace integrations and their products. Use this to find integrations you can install. Pass an optional query to filter results.
vercel integration discover [query]Browse available marketplace integrations.
For multi-product integrations, each product appears separately with a compound slug (for example, aws/aws-dynamodb). Single-product integrations where the product slug matches the integration slug show only the integration slug.
| Argument | Required | Description |
|---|---|---|
query | No | Filter integrations by substring against the integration slug, product slug, name, or description. |
| Option | Shorthand | Description |
|---|---|---|
--format | -F | Output format. Use json for machine-readable output. |
# Browse all available integrations
vercel integration discover
# Filter by search term
vercel integration discover postgres
vercel integration discover aws
# Output as JSON
vercel integration discover --format=jsonThis command shows getting started guides and code snippets for using a marketplace integration in your project.
vercel integration guide <integration-name>View setup guides for a marketplace integration.
You can also target a specific product from a multi-product integration:
vercel integration guide <integration>/<product>| Option | Shorthand | Description |
|---|---|---|
--framework | -f | Select a framework guide without prompts (e.g., nextjs, remix, astro, nuxtjs, sveltekit). |
# View guides for an integration
vercel integration guide neon
# View guides for a specific product
vercel integration guide aws/aws-dynamodb
# View the Next.js guide without prompts
vercel integration guide neon --framework nextjsThis command shows the balances and thresholds for a marketplace integration, including prepayment details.
vercel integration balance <integration-name>View billing balances and auto-recharge thresholds for a marketplace integration.
This command only applies to integrations that support prepayment billing plans.
| Option | Shorthand | Description |
|---|---|---|
--format | -F | Output format. Use json for machine-readable output. |
# View balances for an integration
vercel integration balance neon
# Output as JSON
vercel integration balance neon --format=jsonThis command opens the provider's dashboard for an integration or a specific resource via SSO.
vercel integration open <integration-name> [resource-name]Open the provider's dashboard via single sign-on.
When called without a resource name, it opens the integration's dashboard. When called with a resource name, it opens the dashboard for that specific resource.
| Option | Shorthand | Description |
|---|---|---|
--format | -F | Output format. Use json to get the SSO link as JSON. |
# Open the integration's dashboard
vercel integration open neon
# Open a specific resource's dashboard
vercel integration open neon my-neon-database
# Get the SSO link as JSON (useful in scripts)
vercel integration open neon --format=jsonThis command updates an existing marketplace integration installation. Use it to change the billing plan or the set of projects that can access the integration.
update does not handle install, remove, or connect flows. Use integration add to install, integration remove to uninstall, and integration-resource, env pull, or related commands to manage resources. UI-only flows (browser OAuth, consent screens, marketplace purchase) may not map one-to-one to a single CLI flag; pass --plan and --authorization-id when the product requires them for billing changes.
vercel integration update <integration> [options]Update an existing marketplace integration installation.
| Argument | Required | Description |
|---|---|---|
integration | Yes | Integration slug (for example, neon) or ID. |
| Option | Shorthand | Description |
|---|---|---|
--plan | -p | Billing plan ID for integrations that support installation-level billing plans. |
--authorization-id | - | Billing authorization ID when the platform requires it for plan changes. |
--projects | - | Project ID allowed to use this installation. Pass all for all projects. Repeatable. |
--installation-id | - | Configuration ID when multiple marketplace installations exist for this integration. |
--format | -F | Output format. Use json for machine-readable output. |
# Grant all team projects access to the integration
vercel integration update neon --projects all
# Limit access to specific projects
vercel integration update neon --projects prj_abc --projects prj_def
# Change installation billing plan
vercel integration update acme --plan pro
# Select installation when several exist
vercel integration update neon --installation-id icfg_xxx --projects all
# Output result as JSON
vercel integration update neon --projects all --format=json
# Non-interactive (JSON success and errors on stdout)
vercel integration update neon --projects all --non-interactiveUninstalls a marketplace integration from your team. You must remove all resources from the integration before running this command.
vercel integration remove <integration-name>Uninstall a marketplace integration.
| Option | Shorthand | Description |
|---|---|---|
--yes | -y | Skip the confirmation prompt. |
--format | -F | Output format. Use json for machine-readable output. |
Non-interactive environments and JSON output mode require the --yes flag.
# Uninstall an integration
vercel integration remove neon
# Uninstall without confirmation
vercel integration remove neon --yes
# Output as JSON
vercel integration remove neon --format=json --yesThe vercel integration resource command manages individual resources provisioned from marketplace integrations: connect resources to projects, disconnect them, remove them, configure auto-recharge thresholds, and claim sandbox resources.
vercel integration-resource <subcommand> and vc ir <subcommand> are backward-compatible aliases that route to the same handlers as the canonical nested form.
It supports the following subcommands:
connect: Connect a resource to a projectdisconnect: Disconnect a resource from a projectremove: Delete a resourcecreate-threshold: Set up auto-recharge for prepaid resourcesclaim: Claim a sandbox marketplace resource
In the examples below, <resource-name> (for example, my-database) is the name of a marketplace resource you've already provisioned — run vercel integration list to see the names of your resources. <project> (for example, my-project) is a project's name or ID — run vercel project ls to list them, or find a project's ID in the Vercel dashboard under Settings → General.
This command connects an existing marketplace resource to a project. If you don't specify a project, the command connects to the currently linked project.
vercel integration resource connect <resource-name> [project]Connect a marketplace resource to a project.
| Argument | Required | Description |
|---|---|---|
resource-name | Yes | Name of the resource to connect (for example, my-database). |
project | No | Project name (for example, my-project) or project ID (for example, prj_abc123) to connect to. Uses the linked project if omitted. |
| Option | Shorthand | Description |
|---|---|---|
--environment | -e | Environments to connect: production, preview, development. Can be repeated. Defaults to all three. |
--prefix | Prefix for environment variable names. The prefix is used as-is, so include a trailing underscore if you want a separator (e.g., --prefix NEON2_ creates NEON2_DATABASE_URL). Must start with a letter and contain only letters, digits, and underscores. | |
--yes | -y | Skip the confirmation prompt. |
--format | -F | Output format. Use json for machine-readable output. Requires --yes. |
Non-interactive environments and JSON output mode require the --yes flag.
When --yes is missing in a non-interactive environment, the command emits a
structured outputAgentError payload with reason: "confirmation_required"
and a next array containing the suggested command, then exits with code 1.
If connecting would create an environment variable name that already exists on the project, the command exits with an error that names the conflicting variable, the project, and the affected environments. The follow-up message suggests either passing a --prefix to namespace the new variables, or removing the existing variable with vercel env rm.
# Connect to the currently linked project across all environments
vercel integration resource connect my-database
# Connect to a specific project
vercel integration resource connect my-database my-project
# Limit to specific environments
vercel integration resource connect my-database --environment production
vercel integration resource connect my-database -e production -e preview
# Use a prefix to avoid environment variable collisions
vercel integration resource connect my-database --prefix NEON2_
# Output as JSON (requires --yes)
vercel integration resource connect my-database --yes --format=jsonThis command disconnects a resource from a project. If you don't specify a project, the command disconnects from the currently linked project.
vercel integration resource disconnect <resource-name> [project]Disconnect a resource from a project.
If the specified project is not currently connected to the resource, the command exits with code 1 and an error like Project <name> is not connected to resource <resource>. Run vercel integration list to see which projects are connected to each resource.
| Argument | Required | Description |
|---|---|---|
resource-name | Yes | Name of the resource to disconnect (for example, my-database). |
project | No | Project name (for example, my-project) or project ID (for example, prj_abc123) to disconnect from. Uses the linked project if omitted. |
| Option | Shorthand | Description |
|---|---|---|
--all | -a | Disconnect all projects from the resource. |
--yes | -y | Skip the confirmation prompt. |
--format | -F | Output format. Use json for machine-readable output. |
Non-interactive environments and JSON output mode require the --yes flag.
When --yes is missing in a non-interactive environment, the command emits a
structured outputAgentError payload with reason: "confirmation_required"
and a next array containing the suggested command, then exits with code 1.
# Disconnect from the currently linked project
vercel integration resource disconnect my-database
# Using the short alias
vc ir disconnect my-redis-cache
# Disconnect from a specific project
vercel integration resource disconnect my-database my-project
# Disconnect all projects from the resource
vercel integration resource disconnect my-database --all
# Disconnect all without confirmation
vercel integration resource disconnect my-database -a -y
# Output as JSON
vercel integration resource disconnect my-database -a -y --format=jsonThis command deletes an integration resource permanently.
Alias: vercel integration resource rm
vercel integration resource remove <resource-name>Delete an integration resource.
If the resource has connected projects, you must disconnect them first or use the --disconnect-all flag.
| Option | Shorthand | Description |
|---|---|---|
--disconnect-all | -a | Disconnect all projects from the resource before deletion. |
--yes | -y | Skip the confirmation prompt. |
--format | -F | Output format. Use json for machine-readable output. |
Non-interactive environments and JSON output mode require the --yes flag.
# Remove a resource
vercel integration resource remove my-database
# Remove with the short alias
vc ir rm my-cache
# Disconnect all projects and remove in one step
vercel integration resource remove my-database --disconnect-all
# Remove without confirmation
vc ir rm my-cache --disconnect-all --yes
# Output as JSON
vc ir rm my-cache -a -y --format=jsonSets up an auto-recharge threshold for a prepaid resource. When the resource's balance drops below the minimum, it automatically purchases additional credit.
If the resource uses installation-level billing, the threshold applies to all resources under that installation.
vercel integration resource create-threshold <resource-name> <minimum> <spend> <limit>Configure auto-recharge for a prepaid resource.
| Argument | Required | Description |
|---|---|---|
resource-name | Yes | Name of the resource to configure. |
minimum | Yes | Dollar amount that triggers a recharge (e.g., 50 for $50.00). Decimals supported (e.g., 5.75). |
spend | Yes | Dollar amount to purchase when the threshold is triggered (e.g., 100 for $100.00). Decimals supported. |
limit | Yes | Maximum spend per billing period in dollars (e.g., 2000 for $2,000.00). Decimals supported. |
| Option | Shorthand | Description |
|---|---|---|
--yes | -y | Skip the confirmation prompt. |
Non-interactive environments require the --yes flag.
- All amounts must be non-negative numbers.
minimummust be less than or equal tospend.minimummust be less than or equal tolimit.limitmust be greater than or equal tospend.- The
spendamount must fall within the billing plan's allowed range.
# Set up auto-recharge: top up $100 when balance drops below $50, max $2000/period
vercel integration resource create-threshold my-database 50 100 2000
# Skip confirmation
vc ir create-threshold my-database 50 100 2000 --yesThis command claims a sandbox marketplace resource by opening the provider's claim URL in your browser and polling until ownership transfers from sandbox to your team.
vercel integration resource claim [resource-name]Claim a sandbox marketplace resource.
When you omit the resource name, the command picks the right resource based on how many sandbox resources exist on the current project:
| Sandbox resources | Behavior |
|---|---|
| 0 | Prints No sandbox resources to claim in the current project. and exits with code 0. |
| 1 | Prompts to confirm claiming that resource. Skip the prompt with --yes. |
| 2 or more | Shows an interactive picker. |
After the browser opens, the command polls for up to five minutes for ownership to transfer. Pressing Ctrl-C cancels the wait and exits with code 130.
| Argument | Required | Description |
|---|---|---|
resource-name | No | Name of the sandbox resource to claim. If omitted, the command picks interactively (see above). |
| Option | Shorthand | Description |
|---|---|---|
--yes | -y | When exactly one sandbox resource exists and no name was passed, skip the single-resource confirmation prompt. Does not affect the multi-resource picker. |
--no-wait | Print the claim URL and exit immediately without opening the browser or polling for completion. | |
--format | -F | Output format. Use json for machine-readable output. |
In non-interactive environments, the command emits a structured
outputActionRequired payload with
reason: "integration_sandbox_claim_required" and verification_uri set to
the claim URL, then exits with code 1.
After claiming, run vercel integration list to confirm the resource's ownership has transferred. You can also have vercel integration add start the claim flow automatically with --claim.
# Pick a sandbox resource interactively
vercel integration resource claim
# Claim a specific resource
vercel integration resource claim my-stripe-sandbox
# Get the claim URL without waiting (useful in scripts and CI)
vercel integration resource claim my-stripe-sandbox --no-wait
# Output the URL as JSON
vercel integration resource claim my-stripe-sandbox --no-wait --format=jsonThe following global options can be passed when using the vercel integration 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?