Reliable background jobs without the headache of managing servers
Trigger.dev has no timeouts, gives you control over concurrency, includes built-in monitoring, and scales to handle an elastic workload. You get all this and more without managing servers yourself.
Observability & monitoring
Concurrency & queues
Durable cron schedules
No infrastructure to manage
Advanced filtering
AI features
Automatic retries
Bulk replaying
Tag your tasks
Real-time alerts
Write normal code
Batch triggers
Long-running tasks
Checkpointing
AI agents
Build and deploy production-ready AI agents that scale on our elastic infrastructure. Create agents using familiar programming models and get durability, retrying, human-in-the-loop capabilities, and observability out of the box.
Learn more
Trigger.dev Realtime
Realtime is the bridge between your background tasks running on Trigger.dev and your frontend applications. Subscribe to your runs and get live status updates, stream responses from LLMs to your frontend, and more.
Learn more
Observability & monitoring
Our live run page, powered by OpenTelemetry, provides a real-time trace view of each run as it executes. This is great for viewing detailed logs of your task and debuging errors if they occur.
Learn more
Concurrency & queues
Set concurrency rules to manage how multiple tasks execute. Run tasks sequentially or in parallel, and create custom queues for different users or tiers using concurrency keys.
Learn more
Build extensions
Hook into the build system and customize the build process, or the resulting bundle and container image. Add additional files, dependencies, esbuild plugins, system packages, run browsers, run Python scripts, use FFmpeg, and more.
Learn more
Durable cron schedules
Create and attach recurring schedules of up to a year, which never hit a function timeout. These can be either created in your task code, or added in our dashboard.
Learn more
Explore the full set of powerful features
Write tasks in regular code
With Trigger.dev, you just write your usual async code, and it works seamlessly. No need to split your code into chunks to avoid serverless timeouts, as you deploy your tasks to our long-running servers. Tasks docs
React hooks
Interact with the Trigger.dev API using our React hooks package. You can use these to fetch runs, batches and subscribe to real-time updates.
Max duration
Set maximum execution time for tasks to prevent runaway processes and ensure resource management.
Batch triggering
Use batchTrigger()
to initiate multiple runs of a task with custom payloads and options. For fanning-out scenarios, batchTriggerAndWait()
allows you to trigger multiple task instances and wait for all results before proceeding. Batch triggering docs
Structured inputs / outputs
The schemaTask
function allows you to define precise data schemas for your tasks with runtime payload validation. This ensures consistent, predictable interactions. Perfect for AI agents and API integrations.
Waits
You can add waits to your tasks to pause execution for a specified duration. This is useful for writing complex tasks without having to schedule them manually or poll for changes.
Waitpoints
With waitpoints you can add human judgment at critical decision points without disrupting the overall workflow.
Long-running tasks
Trigger.dev makes it easy to run background jobs that take a long time to complete. So you can handle resource-heavy tasks like AI content generation, video processing, audio manipulation, PDF conversion, or large CSV processing all without timeouts.
Multiple environments
Trigger.dev supports DEV
, STAGING
, and PROD
environments, allowing your team to test and deploy your tasks in different environments without interrupting production.
Preview branches
Create isolated environments for each of your git branches. Each branch has all the features from your other environments (like staging or production). Seamlessly integrates with Vercel - just modify your build
script to auto-deploy on every preview. Learn more
No infrastructure to manage
Your tasks are deployed to our elastic infrastructure, which auto-scales resources up and down as needed. Focus on building without worrying about managing infrastructure or hitting any serverless timeouts.
Automatic retries
If your task encounters an uncaught error, we automatically attempt to run it again. You can combine and nest tasks, triggering them from one another, with each task maintaining its own retry behavior. Retrying docs
Checkpointing
Tasks are inherently durable, thanks to our checkpointing feature. It allows the state of your task to be saved and resumed later, ensuring reliability. We also freeze tasks during waits meaning you only pay for task execution time.
Versioning
Atomic versioning allows you to deploy new versions of your code without affecting currently running tasks.
Machines
Configure the number of vCPUs and GBs of RAM you want the task to use. Perfect for resource-intensive AI workloads and compute-heavy tasks.
Logging & tracing
Comprehensive logging and tracing powered by OpenTelemetry to help you debug and monitor your tasks.
Tags
Attach up to five tags to each run – strings between 1 and 64 characters – to serve as powerful identifiers. Use them to filter and organize your runs through both the dashboard and SDK. Tags docs
Advanced run filters
Easily sort and find tasks based on status, environment, tags , and creation date. You can filter from the dashboard and programmatically via the SDK using runs.list()
.
Run metadata
Attach a small amount of metadata to a run which updates as the run progresses. This data can be accessed from inside the run function, via the API, and in the dashboard.
Bulk actions
Perform actions like replaying, cancelling, or managing multiple runs simultaneously from the dashboard. This is particularly useful for replaying failed runs or testing updates across lots of tasks. Bulk actions docs
Real-time alerts
Choose your preferred notification method – email, Slack, or webhook – to stay updated on run failures, deployment issues, or successful deployments. We attempt runs multiple times based on your retry settings and alert you if an uncaught error occurs in any run. Alerts docs
Sandboxing (coming soon)
Generate code at runtime and execute it in secure cloud sandboxes.
Interruptions (coming soon)
Interrupt calls from external services mid-flow and clean up allocated resources.