# Trigger.dev ## Docs - [API keys](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/apikeys.md): How to authenticate with Trigger.dev so you can trigger tasks. - [Architecture: How it works](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/architecture-how-it-works.md): An overview of how Trigger.dev v3 works under the hood. - [Architecture: Multi-tenant queue](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/architecture-multi-tenant-queue.md): We built a reliable and fair multi-tenant queue that controls triggering all tasks. - [Architecture: Reliability](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/architecture-reliability.md): How reliability is achieved with Trigger.dev. - [Automated tests](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/automated-tests.md): Write automated tests of your tasks. - [Changelog](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/changelog.md) - [CLI deploy command](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/cli-deploy.md): The `trigger.dev deploy` command can be used to manually deploy. - [CLI dev command](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/cli-dev.md): The `trigger.dev dev` command is used to run your tasks locally. - [Community](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/community.md) - [Dashboard: environment variables](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/dashboard-environment-variables.md): Add, edit and delete Environment Variables from the Dashboard. - [Dashboard: overview](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/dashboard-overview.md): The dashboard has many features including: managing your projects, viewing run logs, editing environment variables and more. - [Dashboard: runs](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/dashboard-runs.md): Find runs and view the detailed traces and logs for each run. - [Dashboard: tests](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/dashboard-tests.md): Test your tasks in Dev, Staging and Prod from the dashboard. - [Environment Variables](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/deploy-environment-variables.md): Any environment variables used in your tasks need to be added so the deployed code will run successfully. - [Errors & Retrying](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/errors-retrying.md): How to deal with errors and write reliable tasks. - [Feature matrix](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/feature-matrix.md): What features are currently available in the Developer Preview - [GitHub Actions](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/github-actions.md): You can easily deploy your tasks with GitHub actions. - [GitHub repo](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/github-repo.md) - [Email us](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/help-email.md) - [Frequently Asked Questions](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/help-faqs.md) - [Slack](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/help-slack.md) - [Uptime status](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/help-uptime-status.md) - [Idempotency](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/idempotency.md): An API call or operation is “idempotent” if it has the same result when called more than once. - [Introduction](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/introduction.md): Welcome to the Trigger.dev v3 documentation. - [Limits & Performance](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/limits-performance.md) - [Logging and tracing](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/logging.md): How to use the built-in logging and tracing system. - [Machines](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/machines.md): Configure the number of vCPUs and GBs of RAM you want the task to use. - [Activate Schedule](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-activate-schedule.md): Activate a schedule by its ID. - [Cancel run](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-cancel-run.md): Cancels a run. - [Create Schedule](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-create-schedule.md): Create a new schedule based on the specified options. - [Deactivate Schedule](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-deactivate-schedule.md): Deactivate a schedule by its ID. - [Delete Schedule](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-delete-schedule.md): Delete a schedule by its ID. - [Get run](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-get-run.md): Get a run using the Task id. - [Get runs](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-get-runs.md): Get runs using a Task id. - [List Schedules](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-list-schedules.md): List all schedules. - [Replay run](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-replay-run.md): Creates a new run with the same payload and options as the original run. - [Retrieve Schedule](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-retrieve-schedule.md): Get a schedule by its ID. - [Start run](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-start-run.md): Start a run using the Task id, payload and options. - [Update Schedule](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/management-update-schedule.md): Update a schedule by its ID. - [Middleware](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/middleware.md): This function is called before the `run` function, it allows you to wrap the run function with custom code. - [Notifications](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/notifications.md): Send and receive notifications from your tasks to make your other systems aware of changes. For example, you can live-update your website as a task progresses. - [Contributing](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/open-source-contributing.md): You can contribute to Trigger.dev in many ways. - [Self-hosting](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/open-source-self-hosting.md): You can self-host Trigger.dev on your own infrastructure. - [Concurrency & Queues](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/queue-concurrency.md): Configure what you want to happen when there is more than one run at a time. - [Quick start](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/quick-start.md): How to get started in 3 minutes using the CLI and SDK. - [Reattempting & Replaying](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reattempting-replaying.md): You can reattempt a task that has failed all of its attempts. You can also replay a task with a new version of your code. - [trigger.dev build](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-build.md): This command will build your tasks. - [trigger.dev deploy](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-deploy.md): This command will deploy your tasks. - [trigger.dev dev](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-dev.md): This command runs your tasks locally. - [trigger.dev init](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-init.md): This command will setup your v3 project. - [trigger.dev login](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-login.md): This command will log you in to the CLI. Required to run any other command. - [trigger.dev logout](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-logout.md): This command will log you out of the CLI. - [trigger.dev update](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-update.md): This command can be used to update all of your trigger.dev packages to the latest versions. - [trigger.dev whoami](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cli-who-am-i.md): This command will return information about you, the logged in user. - [Context](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-context.md): The Context object is part of the `run` function parameter and provides information about the current run. - [cron.dynamic()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cron-dynamic.md): Trigger a task with many different CRON schedules. For example you can use this to let your users select when they want a reminder. - [cron.task()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-cron-task.md): Trigger a task on a recurring schedule using a CRON expression. - [interval.dynamic()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-interval-dynamic.md): Trigger a task with many different interval schedules. For example you can use this to let your users select how often they want a reminder. - [interval.task()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-interval-task.md): Trigger a task on a recurring schedule using the time interval you want between runs. - [notification.catalog()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-notification-catalog.md): Create a set of events that can be emitted from your tasks. These can be subscribed to from your application to provide real-time updates to your users. - [notify()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-notify.md): Send a notification from your tasks. These can be subscribed to from your application to provide real-time updates to your users. - [queue()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-queue.md): Create queue settings that can be used when triggering a task. - [retry.fetch()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-retry-fetch.md): Inside a task, do a fetch request that will retry (you can specify the retry conditions). - [retry.interceptFetch()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-retry-intercept-fetch.md): Useful when writing automated tests – it will intercept matching HTTP requests and respond with what you provide. - [retry.onThrow()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-retry-on-throw.md): Inside a task, retry the wrapped code if it throws an error. - [task()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-task.md): The task() function is the simplest way to create a long-running task. - [task.batchTrigger()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-task-batch-trigger.md): Trigger a task many times at once from your code. - [task.batchTriggerAndWait()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-task-batch-trigger-and-wait.md): Trigger a task many times at once from inside another task, and wait for all the results. - [task.trigger()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-task-trigger.md): Trigger a task from your code. - [task.triggerAndWait()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-task-trigger-and-wait.md): Trigger a task from inside another task, and wait for the result. - [wait.for()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-wait-for.md): Inside a task, wait for a period of time before continuing. - [wait.forEvent()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-wait-for-event.md): Inside a task, wait until a specific event is received before continuing. - [wait.forRequest()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-wait-for-request.md): Inside a task, wait until a specific request is received before continuing. - [wait.until()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-wait-until.md): Inside a task, wait until the specified date before continuing. - [zod.catalog()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-zod-catalog.md): Create a set of events with names and payloads that are parsed using Zod schemas. - [zod.task()](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/reference-zod-task.md): A task where the payload is parsed using a zod schema. - [Rollbacks](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/rollbacks.md): You can rollback changes when errors happen, to give transactional guarantees to your operations. - [Run tests](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/run-tests.md): You can use the dashboard to run a test of your tasks. - [Tasks: Overview](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/tasks-overview.md): Tasks are functions that can run for a long time and provide strong resilience to failure. - [Regular tasks](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/tasks-regular.md): The simplest type of task which can be triggered from elsewhere in your code. - [Scheduled tasks](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/tasks-scheduled.md): A task that is triggered on a recurring schedule using CRON syntax. - [Webhook tasks](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/tasks-webhooks.md): A task that is triggered when a webhook is received from an API. - [Zod tasks](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/tasks-zod.md): You can use Zod to define a catalog of events and then attach those events to your tasks. - [The trigger.config.ts file](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/trigger-config.md): This file is used to configure your project and how it's bundled. - [Trigger filters](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/trigger-filters.md): You can add filters to your tasks so they're only triggered when certain conditions are met. - [/trigger folders](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/trigger-folder.md): Your tasks live inside /trigger folders. Code in these is bundled and deployed together. - [Triggering](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/triggering.md): Tasks need to be triggered to run. - [Upgrading from v2](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/upgrading-from-v2.md): How to upgrade v2 jobs to v3 tasks, and how to use them together. - [Using APIs](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/using-apis.md): You can use any Node.js library inside the run function, or do HTTP requests. - [Vercel integration](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/vercel-integration.md): When you deploy to Vercel, automatically deploy your associated tasks. - [Versioning](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/versioning.md): We use atomic versioning to ensure that started tasks are not affected by changes to the task code. - [Wait: Overview](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/wait.md): During your run you can wait for a period of time or for something to happen. - [Wait for](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/wait-for.md): Wait for a period of time, then continue execution. - [Wait for event](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/wait-for-event.md): Wait until an event has been received, then continue execution. - [Wait for request](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/wait-for-request.md): Wait until a `Request` has been received at the provided URL, then continue execution. - [Wait until](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/wait-until.md): Wait until a date, then continue execution. - [Writing tasks: Introduction](https://trigger-v3-trigger-api-redesign.mintlify.app/v3/writing-tasks-introduction.md): Tasks are the core of Trigger.dev. They are long-running processes that are triggered by events. ## OpenAPI Specs - [openapi](https://trigger-v3-trigger-api-redesign.mintlify.app/openapi.yml) - [v3-openapi](https://trigger-v3-trigger-api-redesign.mintlify.app/v3-openapi.json) ## Optional - [v2](https://trigger.dev/docs/documentation)