---
title: "Bird tokens on demand"
canonical: "https://bird.com/integrations/vercel-connect"
---

[Integrations](/integrations)

# Bird tokens on demand

Vercel Connect gives your deployed agents and services short-lived access to Bird without a key in your environment. Add the Bird connector once at the team level, let the projects you choose use it, and ask for a token at the moment your code needs one.

[Add the connector](https://vercel.com/connect/bird)

[See the setup](#setup)

## One connector, no stored secret

The connector authorises Bird for the user it acts on behalf of. Your code authenticates to Connect with the OIDC token Vercel injects into every deployment, Connect exchanges the authorisation with Bird, and your code receives a short, scoped token. Nothing to rotate, nothing to leak.

**Vercel CLI**

- Create: vercel connect create bird --name acme-bird
- Install: npm install @vercel/connect

The same connector can be created from the dashboard.

**Vercel**

Connect → acme-bird → Projects

- Project: acme-web
- Environments: Preview · Production

Requests from unlinked projects are refused.

**app/api/route.ts**

- import: { getToken } from '@vercel/connect'
- token: await getToken('bird/acme-bird', { subject })
- Authorization: Bearer ${token}

Short-lived and scoped to the subject you pass.

## What the connector gives you. Credentials at runtime, and a clear line to the Marketplace integration.

- Credentials on demand. No Bird key in environment variables. Each deployment proves who it is with Vercel's OIDC token and receives a Bird token that expires on its own.
- The right subject. Ask for a token that acts as a specific signed-in user, or as your service, from the same connector.
- When to use the other one. If your project just needs a Bird key in its environment variables, the Marketplace integration writes it for you. [See the Marketplace integration.](/integrations/vercel)

### Worth building

- Let a support agent send an SMS as the signed-in operator.
- Verify a phone number from a Route Handler without storing a Bird key.
- Give an MCP client Bird access that expires with the session.
- Run the same agent against Preview and Production with separate authorisations.
- Email a daily digest from a cron job as your service.
- Trace a message back to the token request that sent it.



## Related resources

- [Workflow automation](/automate/workflows) (product)
- [How do I use Bird from a low-code tool like n8n or Zapier?](/explained/platform/how-do-i-use-bird-from-a-low-code-tool-like-n8n-or-zapier) (answer)

[Get an implementation brief](/learn/workspace?topic=integrations)
