# Trigger.dev ## Docs - [API keys](https://trigger.dev/docs/apikeys): How to authenticate with Trigger.dev so you can trigger tasks. - [Changelog](https://trigger.dev/docs/changelog) - [CLI deploy command](https://trigger.dev/docs/cli-deploy): The `trigger.dev deploy` command can be used to deploy your tasks to our infrastructure. - [CLI deploy options](https://trigger.dev/docs/cli-deploy-commands): Use these options to help deploy your tasks to Trigger.dev. - [CLI dev command](https://trigger.dev/docs/cli-dev): The `trigger.dev dev` command is used to run your tasks locally. - [CLI dev command](https://trigger.dev/docs/cli-dev-commands): The `trigger.dev dev` command is used to run your tasks locally. - [CLI init command](https://trigger.dev/docs/cli-init-commands): Use these options when running the CLI `init` command. - [Introduction](https://trigger.dev/docs/cli-introduction): The Trigger.dev CLI has a number of options and commands to help you develop locally, self host, and deploy your tasks. - [CLI list-profiles command](https://trigger.dev/docs/cli-list-profiles-commands): Use these options when using the `list-profiles` CLI command. - [CLI login command](https://trigger.dev/docs/cli-login-commands): Use these options when logging in to Trigger.dev using the CLI. - [CLI logout command](https://trigger.dev/docs/cli-logout-commands): Use these options when using the `logout` CLI command. - [CLI update command](https://trigger.dev/docs/cli-update-commands): Use these options when using the `update` CLI command. - [CLI whoami command](https://trigger.dev/docs/cli-whoami-commands): Use these options to display the current logged in user and project details. - [Discord Community](https://trigger.dev/docs/community) - [The trigger.config.ts file](https://trigger.dev/docs/config/config-file): This file is used to configure your project and how it's built. - [Build extensions](https://trigger.dev/docs/config/extensions/overview): Customize how your project is built and deployed to Trigger.dev with build extensions - [Context](https://trigger.dev/docs/context): Get the context of a task run. - [Environment Variables](https://trigger.dev/docs/deploy-environment-variables): Any environment variables used in your tasks need to be added so the deployed code will run successfully. - [Errors & Retrying](https://trigger.dev/docs/errors-retrying): How to deal with errors and write reliable tasks. - [Overview & Authentication](https://trigger.dev/docs/frontend/overview): Using the Trigger.dev SDK from your frontend application. - [React hooks](https://trigger.dev/docs/frontend/react-hooks): Using the Trigger.dev v3 API from your React application. - [GitHub Actions](https://trigger.dev/docs/github-actions): You can easily deploy your tasks with GitHub actions. - [GitHub repo](https://trigger.dev/docs/github-repo) - [Creating a project](https://trigger.dev/docs/guides/dashboard/creating-a-project): This guide will show you how to create a new Trigger.dev project. - [Generate an image using DALL·E 3](https://trigger.dev/docs/guides/examples/dall-e3-generate-image): This example will show you how to generate an image using DALL·E 3 and text using GPT-4o with Trigger.dev. - [Transcribe audio using Deepgram](https://trigger.dev/docs/guides/examples/deepgram-transcribe-audio): This example will show you how to transcribe audio using Deepgram's speech recognition API with Trigger.dev. - [Convert an image to a cartoon using Fal.ai](https://trigger.dev/docs/guides/examples/fal-ai-image-to-cartoon): This example task generates an image from a URL using Fal.ai and uploads it to Cloudflare R2. - [Generate an image from a prompt using Fal.ai and Trigger.dev Realtime](https://trigger.dev/docs/guides/examples/fal-ai-realtime): This example task generates an image from a prompt using Fal.ai and shows the progress of the task on the frontend using Trigger.dev Realtime. - [Video processing with FFmpeg](https://trigger.dev/docs/guides/examples/ffmpeg-video-processing): These examples show you how to process videos in various ways using FFmpeg with Trigger.dev. - [Crawl a URL using Firecrawl](https://trigger.dev/docs/guides/examples/firecrawl-url-crawl): This example demonstrates how to crawl a URL using Firecrawl with Trigger.dev. - [Convert documents to PDF using LibreOffice](https://trigger.dev/docs/guides/examples/libreoffice-pdf-conversion): This example demonstrates how to convert documents to PDF using LibreOffice with Trigger.dev. - [Call OpenAI with retrying](https://trigger.dev/docs/guides/examples/open-ai-with-retrying): This example will show you how to call OpenAI with retrying using Trigger.dev. - [Turn a PDF into an image using MuPDF](https://trigger.dev/docs/guides/examples/pdf-to-image): This example will show you how to turn a PDF into an image using MuPDF and Trigger.dev. - [Puppeteer](https://trigger.dev/docs/guides/examples/puppeteer): These examples demonstrate how to use Puppeteer with Trigger.dev. - [Generate a PDF using react-pdf and save it to R2](https://trigger.dev/docs/guides/examples/react-pdf): This example will show you how to generate a PDF using Trigger.dev. - [Send a sequence of emails using Resend](https://trigger.dev/docs/guides/examples/resend-email-sequence): This example will show you how to send a sequence of emails over several days using Resend with Trigger.dev. - [Scrape the top 3 articles from Hacker News and email yourself a summary every weekday](https://trigger.dev/docs/guides/examples/scrape-hacker-news): This example demonstrates how to scrape the top 3 articles from Hacker News using BrowserBase and Puppeteer, summarize them with ChatGPT and send a nicely formatted email summary to yourself every weekday using Resend. - [Track errors with Sentry](https://trigger.dev/docs/guides/examples/sentry-error-tracking): This example demonstrates how to track errors with Sentry using Trigger.dev. - [Process images using Sharp](https://trigger.dev/docs/guides/examples/sharp-image-processing): This example demonstrates how to process images using the Sharp library with Trigger.dev. - [Trigger a task from Stripe webhook events](https://trigger.dev/docs/guides/examples/stripe-webhook): This example demonstrates how to handle Stripe webhook events using Trigger.dev. - [Supabase database operations using Trigger.dev](https://trigger.dev/docs/guides/examples/supabase-database-operations): These examples demonstrate how to run basic CRUD operations on a table in a Supabase database using Trigger.dev. - [Uploading files to Supabase Storage](https://trigger.dev/docs/guides/examples/supabase-storage-upload): This example demonstrates how to upload files to Supabase Storage using Trigger.dev. - [Using the Vercel AI SDK](https://trigger.dev/docs/guides/examples/vercel-ai-sdk): This example demonstrates how to use the Vercel AI SDK with Trigger.dev. - [Syncing environment variables from your Vercel projects](https://trigger.dev/docs/guides/examples/vercel-sync-env-vars): This example demonstrates how to sync environment variables from your Vercel project to Trigger.dev. - [Bun guide](https://trigger.dev/docs/guides/frameworks/bun): This guide will show you how to setup Trigger.dev with Bun - [Drizzle setup guide](https://trigger.dev/docs/guides/frameworks/drizzle): This guide will show you how to set up Drizzle ORM with Trigger.dev - [Next.js setup guide](https://trigger.dev/docs/guides/frameworks/nextjs): This guide will show you how to setup Trigger.dev in your existing Next.js project, test an example task, and view the run. - [Triggering tasks with webhooks in Next.js](https://trigger.dev/docs/guides/frameworks/nextjs-webhooks): Learn how to trigger a task from a webhook in a Next.js app. - [Node.js setup guide](https://trigger.dev/docs/guides/frameworks/nodejs): This guide will show you how to setup Trigger.dev in your existing Node.js project, test an example task, and view the run. - [Prisma setup guide](https://trigger.dev/docs/guides/frameworks/prisma): This guide will show you how to set up Prisma with Trigger.dev - [Remix setup guide](https://trigger.dev/docs/guides/frameworks/remix): This guide will show you how to setup Trigger.dev in your existing Remix project, test an example task, and view the run. - [Triggering tasks with webhooks in Remix](https://trigger.dev/docs/guides/frameworks/remix-webhooks): Learn how to trigger a task from a webhook in a Remix app. - [Sequin database triggers](https://trigger.dev/docs/guides/frameworks/sequin): This guide will show you how to trigger tasks from database changes using Sequin - [Triggering tasks from Supabase edge functions](https://trigger.dev/docs/guides/frameworks/supabase-edge-functions-basic): This guide will show you how to trigger a task from a Supabase edge function, and then view the run in our dashboard. - [Triggering tasks from Supabase Database Webhooks](https://trigger.dev/docs/guides/frameworks/supabase-edge-functions-database-webhooks): This guide shows you how to trigger a transcribing task when a row is added to a table in a Supabase database, using a Database Webhook and Edge Function. - [Supabase overview](https://trigger.dev/docs/guides/frameworks/supabase-guides-overview): Guides and examples for using Supabase with Trigger.dev. - [Using webhooks with Trigger.dev](https://trigger.dev/docs/guides/frameworks/webhooks-guides-overview): Guides for using webhooks with Trigger.dev. - [Frameworks, guides and examples overview](https://trigger.dev/docs/guides/introduction): An ever growing list of guides and examples to help you get setup with Trigger.dev. - [Upgrading from v2](https://trigger.dev/docs/guides/use-cases/upgrading-from-v2): How to upgrade v2 jobs to v3 tasks, and how to use them together. - [Email us](https://trigger.dev/docs/help-email) - [Slack support](https://trigger.dev/docs/help-slack) - [How it works](https://trigger.dev/docs/how-it-works): Understand how Trigger.dev works and how it can help you. - [Idempotency](https://trigger.dev/docs/idempotency): An API call or operation is “idempotent” if it has the same result when called more than once. - [Introduction](https://trigger.dev/docs/introduction): Welcome to the Trigger.dev v3 documentation. - [Limits](https://trigger.dev/docs/limits): There are some hard and soft limits that you might hit. - [Logging and tracing](https://trigger.dev/docs/logging): How to use the built-in logging and tracing system. - [Machines](https://trigger.dev/docs/machines): Configure the number of vCPUs and GBs of RAM you want the task to use. - [Create Env Var](https://trigger.dev/docs/management/envvars/create): Create a new environment variable for a specific project and environment. - [Delete Env Var](https://trigger.dev/docs/management/envvars/delete): Delete a specific environment variable for a specific project and environment. - [Import Env Vars](https://trigger.dev/docs/management/envvars/import): Upload mulitple environment variables for a specific project and environment. - [List Env Vars](https://trigger.dev/docs/management/envvars/list): List all environment variables for a specific project and environment. - [Retrieve Env Var](https://trigger.dev/docs/management/envvars/retrieve): Retrieve a specific environment variable for a specific project and environment. - [Update Env Var](https://trigger.dev/docs/management/envvars/update): Update a specific environment variable for a specific project and environment. - [Overview & Authentication](https://trigger.dev/docs/management/overview): Using the Trigger.dev v3 management API - [List runs](https://trigger.dev/docs/management/projects/runs): List runs in a project, across multiple environments, using Personal Access Token auth. You can filter the runs by status, created at, task identifier, version, and more. - [Cancel run](https://trigger.dev/docs/management/runs/cancel): Cancels an in-progress run. If the run is already completed, this will have no effect. - [List runs](https://trigger.dev/docs/management/runs/list): List runs in a specific environment. You can filter the runs by status, created at, task identifier, version, and more. - [Replay run](https://trigger.dev/docs/management/runs/replay): Creates a new run with the same payload and options as the original run. - [Reschedule run](https://trigger.dev/docs/management/runs/reschedule): Updates a delayed run with a new delay. Only valid when the run is in the DELAYED state. - [Retrieve run](https://trigger.dev/docs/management/runs/retrieve): Retrieve information about a run, including its status, payload, output, and attempts. If you authenticate with a Public API key, we will omit the payload and output fields for security reasons. - [Update metadata](https://trigger.dev/docs/management/runs/update-metadata): Update the metadata of a run. - [Activate Schedule](https://trigger.dev/docs/management/schedules/activate): Activate a schedule by its ID. This will only work on `IMPERATIVE` schedules that were created in the dashboard or using the imperative SDK functions like `schedules.create()`. - [Create Schedule](https://trigger.dev/docs/management/schedules/create): Create a new `IMPERATIVE` schedule based on the specified options. - [Deactivate Schedule](https://trigger.dev/docs/management/schedules/deactivate): Deactivate a schedule by its ID. This will only work on `IMPERATIVE` schedules that were created in the dashboard or using the imperative SDK functions like `schedules.create()`. - [Delete Schedule](https://trigger.dev/docs/management/schedules/delete): Delete a schedule by its ID. This will only work on `IMPERATIVE` schedules that were created in the dashboard or using the imperative SDK functions like `schedules.create()`. - [List Schedules](https://trigger.dev/docs/management/schedules/list): List all schedules. You can also paginate the results. - [Retrieve Schedule](https://trigger.dev/docs/management/schedules/retrieve): Get a schedule by its ID. - [Get timezones](https://trigger.dev/docs/management/schedules/timezones): Get all supported timezones that schedule tasks support. - [Update Schedule](https://trigger.dev/docs/management/schedules/update): Update a schedule by its ID. This will only work on `IMPERATIVE` schedules that were created in the dashboard or using the imperative SDK functions like `schedules.create()`. - [Batch trigger](https://trigger.dev/docs/management/tasks/batch-trigger): Batch trigger a task with up to 100 payloads. - [Trigger](https://trigger.dev/docs/management/tasks/trigger): Trigger a task by its identifier. - [Contributing](https://trigger.dev/docs/open-source-contributing): You can contribute to Trigger.dev in many ways. - [Self-hosting](https://trigger.dev/docs/open-source-self-hosting): You can self-host Trigger.dev on your own infrastructure. - [Concurrency & Queues](https://trigger.dev/docs/queue-concurrency): Configure what you want to happen when there is more than one run at a time. - [Quick start](https://trigger.dev/docs/quick-start): How to get started in 3 minutes using the CLI and SDK. - [Realtime overview](https://trigger.dev/docs/realtime/overview): Using the Trigger.dev v3 realtime API - [runs.subscribeToRun](https://trigger.dev/docs/realtime/subscribe-to-run): Subscribes to all changes to a run. - [runs.subscribeToRunsWithTag](https://trigger.dev/docs/realtime/subscribe-to-runs-with-tag): Subscribes to all changes to runs with a specific tag. - [useRealtimeRun](https://trigger.dev/docs/realtime/use-realtime-run): Subscribes to all changes to a run in a React component. - [useRealtimeRunsWithTag](https://trigger.dev/docs/realtime/use-realtime-runs-with-tag): Subscribes to all changes to runs with a specific tag in a React component. - [Replaying](https://trigger.dev/docs/replaying): A replay is a copy of a run with the same payload but against the latest version in that environment. This is useful if something went wrong and you want to try again with the latest version of your code. - [Request a feature](https://trigger.dev/docs/request-feature) - [Roadmap](https://trigger.dev/docs/roadmap) - [Run tests](https://trigger.dev/docs/run-tests): You can use the dashboard to run a test of your tasks. - [Usage](https://trigger.dev/docs/run-usage): Get compute duration and cost from inside a run, or for a specific block of code. - [Runs](https://trigger.dev/docs/runs): Understanding the lifecycle of task run execution in Trigger.dev - [Max duration](https://trigger.dev/docs/runs/max-duration): Set a maximum duration for a task to run. - [Run metadata](https://trigger.dev/docs/runs/metadata): Attach a small amount of data to a run and update it as the run progresses. - [Tags](https://trigger.dev/docs/tags): Tags allow you to easily filter runs in the dashboard and when using the SDK. - [Tasks: Overview](https://trigger.dev/docs/tasks/overview): Tasks are functions that can run for a long time and provide strong resilience to failure. - [Scheduled tasks (cron)](https://trigger.dev/docs/tasks/scheduled): A task that is triggered on a recurring schedule using cron syntax. - [schemaTask](https://trigger.dev/docs/tasks/schemaTask): Define tasks with a runtime payload schema and validate the payload before running the task. - [Triggering](https://trigger.dev/docs/triggering): Tasks need to be triggered in order to run. - [Common problems](https://trigger.dev/docs/troubleshooting): Some common problems you might experience and their solutions - [Alerts](https://trigger.dev/docs/troubleshooting-alerts): Get alerted when runs or deployments fail, or when deployments succeed. - [GitHub Issues](https://trigger.dev/docs/troubleshooting-github-issues) - [Uptime Status](https://trigger.dev/docs/troubleshooting-uptime-status) - [Upgrade to new build system](https://trigger.dev/docs/upgrading-beta): How to update to 3.0.0 from the beta - [How to upgrade the Trigger.dev packages](https://trigger.dev/docs/upgrading-packages): When we release fixes and new features we recommend you upgrade your Trigger.dev packages. - [Vercel integration](https://trigger.dev/docs/vercel-integration): When you deploy to Vercel, automatically deploy your associated tasks. - [Versioning](https://trigger.dev/docs/versioning): We use atomic versioning to ensure that started tasks are not affected by changes to the task code. - [Video walkthrough](https://trigger.dev/docs/video-walkthrough): Go from zero to a working task in your Next.js app in 10 minutes. - [Wait: Overview](https://trigger.dev/docs/wait): During your run you can wait for a period of time or for something to happen. - [Wait for](https://trigger.dev/docs/wait-for): Wait for a period of time, then continue execution. - [Wait for event](https://trigger.dev/docs/wait-for-event): Wait until an event has been received, then continue execution. - [Wait for request](https://trigger.dev/docs/wait-for-request): Wait until a `Request` has been received at the provided URL, then continue execution. - [Wait until](https://trigger.dev/docs/wait-until): Wait until a date, then continue execution. - [Writing tasks: Introduction](https://trigger.dev/docs/writing-tasks-introduction): Tasks are the core of Trigger.dev. They are long-running processes that are triggered by events.