This guide will show you how to setup Trigger.dev in your existing Next.js project, test an example task, and view the run.
Run the CLI `init` command
/trigger folder and give you an example task.Run this command in the root of your project to get started:trigger.config.ts file in the root of your project./trigger directory./trigger directory with an example task, /trigger/example.[ts/js].Run the CLI `dev` command
dev command runs a server for your tasks. It watches for changes in your /trigger directory and communicates with the Trigger.dev platform to register your tasks, perform runs, and send data back and forth.It can also update your @trigger.dev/* packages to prevent version mismatches and failed deploys. You will always be prompted first.Perform a test run using the dashboard
dev command spits out various useful URLs. Right now we want to visit the Test page .You should see our Example task in the list , select it. Most tasks have a “payload” which you enter in the JSON editor , but our example task doesn’t need any input.Press the “Run test” button .
View your run
If you go back to your terminal you’ll see that the dev command also shows the task status and links to the run log.
package.json:TRIGGER_SECRET_KEY environment variable in your .env.local file if using the Next.js App router or .env file if using Pages router. This key is used to authenticate with Trigger.dev, so you can trigger runs from your Next.js app. Visit the API Keys page in the dashboard and select the DEV secret key.
For more information on authenticating with Trigger.dev, see the API keys page.
Create a Route Handler
route.ts file (or route.js file) in the app/api directory like this: app/api/hello-world/route.ts.Add your task
route.ts file which imports your task along with NextResponse to handle the API route response:Trigger your task
Visit the Trigger.dev dashboard to see your run.syncVercelEnvVars build extension to your trigger.config.ts file.
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. Make sure the scope of the token covers
the project with the environment variables you want to sync.process.env.MY_ENV_VAR.
In the sidebar select the “Environment Variables” page, then press the “New environment variable”
button.
You can add values for your local dev environment, staging and prod.
You can also add environment variables in code by following the steps on the Environment Variables page.
trigger directory has changes in it. Follow this guide to set up GitHub Actions.revalidate event. This is an API route that you can add to your Next.js app.
This handler will run the revalidatePath function from Next.js, which purges the cache for the given path.
The handlers are slightly different for the App and Pages router:
app/api/revalidate/path/route.ts:
pages/api/revalidate/path.ts:
path as a payload and will revalidate the path you specify, using the handler you set up previously.
REVALIDATION_SECRET environment variable in your .env.local file (or .env file if using Pages router).To run this task in production, you will need to set the REVALIDATION_SECRET environment variable in Vercel, in your project settings, and also in your environment variables in the Trigger.dev dashboard.onClick prop. This is because the function may require specific arguments or context that are not available when the event occurs. By wrapping the function call in an arrow function, you ensure that the handler is called with the correct context and any necessary arguments. For example:
This works: