Trigger.dev is an open-source platform for writing background tasks and AI workflows in TypeScript. Tasks are defined in your own codebase with the SDK, version-controlled and tested like the rest of your code, then deployed to the managed cloud or a self-hosted instance.
The execution model is built for long-running work: tasks run without timeouts, survive failures through checkpointing and automatic retries, and are ordered by queues with configurable concurrency and idempotency. Runs can pause at waitpoints until a person approves, rejects, or gives feedback, and durable cron schedules can be created and attached for periods of up to a year.
Each run carries full tracing and logs, with tags, run metadata that updates as a run progresses, bulk actions for replaying or cancelling many runs, and configurable alerts by email, Slack, or webhook. A realtime layer lets a frontend subscribe to runs and stream model responses, with React hooks for the client side.
Deployments are atomically versioned so a new version does not affect running tasks, and DEV, PREVIEW, STAGING, and PROD environments are supported alongside preview branches that integrate with Vercel and git workflows. Build extensions hook into the build system to add system packages, so a task can run browsers, Python scripts, or FFmpeg, and machine sizes set the vCPU and RAM available to a task. Self-hosting is supported through Docker Compose or a Helm chart for Kubernetes.
Features
- TypeScript SDK: tasks are written and exported in your own codebase, with structured input and output schemas
- No timeouts: long-running tasks execute without the duration limits of typical serverless platforms
- Durability: checkpointing, automatic retries, queues, and idempotency across failures
- Human-in-the-loop: waitpoints pause a run until a person approves, rejects, or responds
- Realtime: subscribe to runs and stream model output to a frontend, with React hooks
- Scheduling: durable cron and interval schedules attachable for up to a year
- Build extensions: add system packages so tasks can run browsers, Python, FFmpeg, and more
- Environments and branches: DEV, PREVIEW, STAGING, and PROD, plus preview branches tied to git and Vercel
- Versioning: atomic deploy versions leave in-flight runs untouched
- Observability: per-run traces, logs, tags, run metadata, and configurable failure alerts
- Bulk actions: replay or cancel many runs at once from the dashboard
- Self-hosting: Docker Compose and an official Helm chart for Kubernetes
