> ## Documentation Index
> Fetch the complete documentation index at: https://trigger.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Syncing environment variables from your Vercel projects

> This example demonstrates how to sync environment variables from your Vercel project to Trigger.dev.

> [!WARNING]
>
> **Deprecated when using the Vercel integration.** If you are using the [Vercel
> integration](https://trigger.dev/docs/vercel-integration.md), do not use `syncVercelEnvVars` — the integration handles env
> var syncing natively and using both together can cause env vars to be incorrectly populated.
>
> If you are **not** using the Vercel integration, `syncVercelEnvVars` is still supported. Continue
> with the configuration below.

## Build configuration

If you are not using the [Vercel integration](https://trigger.dev/docs/vercel-integration.md), you can sync environment variables manually by adding the `syncVercelEnvVars` build extension to your `trigger.config.ts` file. This extension will run automatically every time you deploy your Trigger.dev project.

> [!NOTE]
>
> You need to set the `VERCEL_ACCESS_TOKEN` and `VERCEL_PROJECT_ID` environment variables, or pass
> in the token and project ID as arguments to the `syncVercelEnvVars` build extension. If you're
> working with a team project, you'll also need to set `VERCEL_TEAM_ID`, which can be found in your
> team settings. You can find / generate the `VERCEL_ACCESS_TOKEN` in your Vercel
> [dashboard](https://vercel.com/account/settings/tokens). Make sure the scope of the token covers
> the project with the environment variables you want to sync.

> [!NOTE]
>
> When running the build from a Vercel build environment (e.g., during a Vercel deployment), the
> environment variable values will be read from `process.env` instead of fetching them from the
> Vercel API. This is determined by checking if the `VERCEL` environment variable is present. The
> API is still used to determine which environment variables are configured for your project, but
> the actual values come from the local environment.

```ts trigger.config.ts theme={"theme":"css-variables"}
import { defineConfig } from "@trigger.dev/sdk";
import { syncVercelEnvVars } from "@trigger.dev/build/extensions/core";

export default defineConfig({
  project: "<project ref>",
  // Your other config settings...
  build: {
    // Add the syncVercelEnvVars build extension
    extensions: [
      syncVercelEnvVars({
        // A personal access token created in your Vercel account settings
        // Used to authenticate API requests to Vercel
        // Generate at: https://vercel.com/account/tokens
        vercelAccessToken: process.env.VERCEL_ACCESS_TOKEN,
        // The unique identifier of your Vercel project
        // Found in Project Settings > General > Project ID
        projectId: process.env.VERCEL_PROJECT_ID,
        // Optional: The ID of your Vercel team
        // Only required for team projects
        // Found in Team Settings > General > Team ID
        vercelTeamId: process.env.VERCEL_TEAM_ID,
      }),
    ],
  },
});
```

> [!NOTE]
>
> [Build extensions](https://trigger.dev/docs/config/extensions/overview.md) allow you to hook into the build system and
> customize the build process or the resulting bundle and container image (in the case of
> deploying). You can use pre-built extensions or create your own.

## Running the sync operation

To sync the environment variables, all you need to do is run our `deploy` command. You should see some output in the console indicating that the environment variables have been synced, and they should now be available in your Trigger.dev dashboard.

```bash theme={"theme":"css-variables"}
npx trigger.dev@latest deploy
```

## Learn more about Next.js and Trigger.dev

### Walk-through guides from development to deployment

> [card] [Next.js - setup guide](https://trigger.dev/docs/guides/frameworks/nextjs.md)
>
> Learn how to setup Trigger.dev with Next.js, using either the pages or app router.

> [card] [Next.js - triggering tasks using webhooks](https://trigger.dev/docs/guides/frameworks/nextjs-webhooks.md)
>
> Learn how to create a webhook handler for incoming webhooks in a Next.js app, and trigger a task from it.

### Task examples

> [card] [Fal.ai with Realtime in Next.js](https://trigger.dev/docs/guides/examples/fal-ai-realtime.md)
>
> Generate an image from a prompt using Fal.ai and Trigger.dev Realtime.

> [card] [Generate a cartoon using Fal.ai in Next.js](https://trigger.dev/docs/guides/examples/fal-ai-image-to-cartoon.md)
>
> Convert an image to a cartoon using Fal.ai.

> [card] [Vercel sync environment variables](https://trigger.dev/docs/guides/examples/vercel-sync-env-vars.md)
>
> Learn how to automatically sync environment variables from your Vercel projects to Trigger.dev.

> [card] [Vercel AI SDK](https://trigger.dev/docs/guides/examples/vercel-ai-sdk.md)
>
> Learn how to use the Vercel AI SDK, which is a simple way to use AI models from different
> providers, including OpenAI, Anthropic, Amazon Bedrock, Groq, Perplexity etc.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.