Holded
Use Holded with AI apps and agents through Vercel Connect. Follow a complete setup guide for secure runtime access.
Install the skill
$ npx skills add vercel/vercel-plugin --skill vercel-connectConnect to
Holded$ vercel connect create holded --name acme-holdedUse its data in agents(opens in new tab) and apps(opens in new tab)
import { getToken } from '@vercel/connect';const userId = 'user_123';const token = await getToken('holded/acme-holded', {subject: { type: 'user', id: userId },});
Use Holded in apps and agents
Manage invoices, sales documents, services, and contacts.
Why use Vercel Connect with Holded?
Credentials on demand
Request Holded credentials only when your application or agent needs them instead of copying secrets into application code.
Access for the right subject
Support both user-authorized and app-scoped Holded access from the same connection layer.
Centralized credential management
Manage Holded credentials in one place and retrieve them through a consistent runtime API.
Vercel-native controls
Bind connections to the projects and environments that need them while Vercel OIDC authenticates each runtime request.
Use Holded with your stack
Follow a complete setup for the Connect SDK or a supported agent framework.
Add Holded to an existing Vercel application with the Connect SDK.
Install the Connect SDK
npm install @vercel/connectCreate the Holded connector
Run these commands from the project that will use the connection.
vercel linkvercel connect create holded --name acme-holdedvercel env pullRequest Holded credentials
app/api/route.tsimport { getToken } from '@vercel/connect';const userId = 'user_123';const token = await getToken('holded/acme-holded', {subject: { type: 'user', id: userId },});