On This Page

Introducing the Sendbird Connector for Vercel Connect

Sendbird vercel connect hero
Nov 2, 2026
Jacob kim
Jacob Kim
Engineering Manager, Web Frontend, Client Platform
On This Page

Boost ops efficiency, drive revenue, & save big with omnichannel messaging

Build real-time chat and voice or video calling into your app with help from an AI coding agent. When your backend runs on Vercel, the Sendbird connector gives that backend access to the Sendbird API credential it needs.

The Sendbird service in Vercel Connect supports API-key connections. Pair it with Sendbird CLI for app setup and Sendbird Client plugins for SDK implementation guidance in Claude Code or Codex.

This article follows the Next.js integration guide: an app with sign-in, a server route that issues Chat session tokens, and a React chat screen powered by Sendbird UIKit. Calling features require a separate Calls SDK integration.

Build your Sendbird integration with an AI coding agent

Use Sendbird CLI to create or select an app and manage supported settings. The CLI plugin helps your agent work through those CLI tasks. Sendbird Client plugins provide SDK guidance for implementing Chat, Chat UIKit, and 1-to-1 voice and video calls.

For a Next.js application, your request could look like this:

The agent uses Client plugin guidance for SDK code and the integration guide for backend responsibilities. You still issue the secondary API token in Sendbird Dashboard and enter it in Vercel Connect. Keep the token out of prompts.

These tools help you build the integration. In the running app, the SDKs and your backend perform the messaging, calling, and authentication work.

Connect your Vercel backend to Sendbird

Create the connector using API key → Shared API key. Store a Sendbird secondary API token in Vercel Connect, link the connector to your Vercel project and selected environments, and retrieve the credential from server code with getToken().

There is no separate Sendbird OAuth approval step in this connection flow. The secondary API token stays out of source code, browser bundles, and your project's environment-variable files. The App ID and connector UID can remain in environment variables because they are not secrets.

For Chat, the runtime flow is:

  1. A signed-in user opens Chat in your app.
  2. Your backend checks the user's authenticated session and retrieves the secondary API token from Vercel Connect.
  3. Your backend calls the Sendbird Platform API to issue a short-lived session token for that user.
  4. Chat UIKit or the Chat SDK receives the user's session token and connects to Sendbird.
  5. When the session token expires, the client asks your backend for a new one.

Messages travel directly between the Chat SDK and Sendbird. The connector supplies the server credential used by your backend.

Watch Sendbird CLI and Vercel Connect in action

See the workflow from CLI setup to a Vercel-connected Chat app, with an AI coding agent helping implement the integration.

For your own integration, follow the guide's checks: send and receive messages between two signed-in test accounts, reload to check history, verify that signed-out requests are rejected, and test session-token refresh. Repeat the messaging and access checks at your Vercel Preview URL. A linked connector or a successful token request alone doesn't prove that chat works.

Set up the Sendbird Vercel integration

1. Prepare your app and token

Start with a Next.js app that already has sign-in, a Vercel project, and a Sendbird development app. You need permission to manage that Sendbird app's settings and issue its API tokens.

Set the Sendbird app's token policy to Token required using the guide. Check existing clients first, because clients connecting without a token will stop working. Generate a secondary API token in Sendbird Dashboard under Settings → Application → General → API tokens. Use the App ID from the same app, and check the token's permissions and IP allowlist.

2. Create and link the connector

Open Sendbird in Vercel Connect, choose API key → Shared API key, and enter the secondary API token. One connector holds the token for one Sendbird app.

Link it explicitly to Development and Preview. Set NEXT_PUBLIC_SENDBIRD_APP_ID and SENDBIRD_CONNECTOR for those environments. For local development, the guide uses Vercel's environment download to obtain these values and a short-lived VERCEL_OIDC_TOKEN. That OIDC token lets the local server use Connect; it is not your Sendbird secondary API token. Keep the local environment file out of Git.

3. Retrieve the credential on the server

Your server retrieves the credential through @vercel/connect:

import 'server-only';
import { getToken } from '@vercel/connect';

export async function getSendbirdApiToken() {
  const connector = process.env.SENDBIRD_CONNECTOR;
  if (!connector) throw new Error('Set SENDBIRD_CONNECTOR.');

  return getToken(connector, {
    subject: { type: 'app' },
  });
}

Server only · SENDBIRD_CONNECTOR is your connector's exact UID, such as sendbird/my-chat-dev.

Use the returned token in the Api-Token header for server-side Sendbird Platform API requests. The full server example creates the matching Sendbird user and issues a one-hour Chat session token. Read the user ID from the authenticated server session, never from a request body's user ID.

4. Connect the client and verify messaging

Pass the public App ID, signed-in user's ID, and session token to Chat UIKit. Use its SessionHandler to request a new session token from your backend when needed. No secondary API token belongs in the browser.

The guide's first test puts all test users in one shared channel. It is a starting point for verification; add channel creation and membership rules for the conversations your service needs.

Extend from Chat to calling features

Sendbird Client plugins also guide AI coding agents through 1-to-1 voice and video calling. Enable Calls for the Sendbird app and check its permissions and plan before using Calls APIs.

The connector can supply the same app's secondary API token for Calls Platform API requests, such as listing direct calls. Chat and Calls use different API base URLs, which are listed in the integration guide.

The guide's working example focuses on Chat. Authenticating a Calls SDK user and completing an actual voice or video call require separate implementation and testing; a successful Calls Platform API response doesn't establish either.

Prepare for production

Use a separate production Sendbird app, secondary API token, and connector, then link that connector to Vercel's Production environment. Match each App ID to its token and connector when switching apps.

Replace the shared test channel with your service's access rules. Add permission checks, rate limits, and failure tracking to the session route, and test both messaging and token refresh.

You still issue, replace, and revoke secondary API tokens in Sendbird Dashboard. Updating the token in Vercel Connect doesn't require a new deployment, but running server processes may continue using the previous credential until the SDK's cached entry expires. Follow the guide's replacement checks before revoking the old token. Deleting a connector does not revoke the Sendbird token.

Check Vercel billing and production requirements as well. Vercel can bill your team for Connect token requests; the SDK caches tokens, so these are separate from Chat message usage.

What are the preferred communication channels of modern customers?