Skip to main content

Quick start

Go from zero to your first task in 3 minutes.

Build AI agents

Durable, multi-turn agents with chat.agent, from your frontend to Slack and Linear.

AI coding assistants

Let Claude Code, Cursor and Windsurf write correct Trigger.dev code with the MCP server, Skills and rules.

Guides & examples

Frameworks like Next.js, worked example projects, and step-by-step how-to guides.

Set up with AI

Copy this prompt into your AI coding assistant from your app’s directory:
Your agent guides you through login, choosing or creating an organization and project, and running your first task locally. You authorize login yourself, and the agent asks when a choice is ambiguous. Read the full setup instructions before running.

What is Trigger.dev?

Trigger.dev is the open source platform for building and running durable AI agents and workflows in TypeScript. You write tasks and agents in your existing codebase, and they run on Trigger.dev with retries, queues, waits, full tracing, and elastic scaling. There’s no execution timeout, and no queue or worker infrastructure for you to build. Trigger.dev’s core is Apache-2.0 licensed. Self-host it on your own infrastructure, or let Trigger.dev Cloud run it for you.

Build agents with chat.agent

A chat.agent runs each conversation as one durable task. It wakes when a message arrives and idles between turns, and its state survives page refreshes, deploys, and crashes. Turn lifecycle, resuming a stream mid-reply, and approvals are handled for you, and your frontend connects with the AI SDK’s useChat, with no API routes to write.
trigger/chat.ts

Agent quick start

Build a chat agent and its frontend end to end.

Sessions

Each conversation’s durable state and two-way stream, across all its runs.

Tools

Declare tools on your agent and get them back typed in run().

Human in the loop

Pause a tool call for approval and resume when a person decides.

Slack agents

Turn an agent into a native Slack agent with @trigger.dev/slack.

Linear agents

Assign Linear issues to an agent with @trigger.dev/linear.
Version your prompts in code and change them from the dashboard, and see every model step and tool call, with tokens, cost and latency, in AI observability.

Run work

Writing tasks

The durable functions at the core of Trigger.dev, written in your existing codebase.

Triggering tasks

Trigger a task from your backend, your frontend, or another task.

Runs

Every execution of a task is a run, with its status, retries, logs and trace.

Realtime

Stream run status and LLM output to your frontend with React hooks.

React to events

Webhooks

Hosted, verified endpoints for Stripe, GitHub and more, delivered to your tasks and agents.

Scheduled tasks

Run a task on a cron schedule, with timezone support.

Webhook waiters

Pause a run until a matching webhook arrives, like a payment confirmation.

Waits

Pause a run for a duration, until a date, or until a token is completed. A waiting run doesn’t use compute.

Run in production

Queues & concurrency

Control how many runs execute at once, globally or per tenant.

Machines

Choose the CPU and memory each task runs on.

Deployment

Atomic, versioned deploys, with preview branches and environments.

Errors & retries

Retry failed attempts automatically, and decide what happens when a task throws.

Logs, traces & metrics

A full trace of every run, with your logs and spans.

Query & dashboards

Query your runs with TRQL, and build dashboards from the results.

Frequently asked questions

Can I use Trigger.dev for background jobs, not just AI? Yes. The same durable tasks, queues, retries, and cron schedules run any background job or workflow, with or without AI. How long can a run take? As long as it needs. Runs have no maximum duration by default, and you can set a maxDuration for a project, a task, or a single run to cap it. Do my serverless function timeouts apply? No. Tasks run on Trigger.dev, not inside your serverless functions, so your platform’s function timeout isn’t in the execution path. Your backend triggers the task and returns. Can I receive webhooks without running a server? Yes. Declare a webhook endpoint in your code, and Trigger.dev hosts its URL, verifies each request, and delivers the event to your tasks and agents. How do I add human-in-the-loop approval? Pause the run on a waitpoint until a person approves, or use a chat agent’s approvals for tool calls. A waiting run doesn’t use compute, so it can wait minutes or days. Does Trigger.dev support tool calling and MCP? Yes. Agents call the tools you define, and the MCP server lets AI coding assistants trigger tasks, deploy, and read run traces. Can I self-host? Yes. Trigger.dev is open source. Read the self-hosting overview, or set it up with Docker or Kubernetes.

Getting help

We’d love to hear from you or give you a hand getting started. Here are some ways to get in touch with us.

Join our Discord server

Our Discord is the best place to get help with any questions about Trigger.dev.

Follow us on X

Follow us to get the latest updates and news.

Schedule a call

Arrange a call with one of the founders to get help with any questions.

Give us a star on GitHub

Check out our GitHub repo, and give us a star if you like what we’re doing.