> ## Documentation Index
> Fetch the complete documentation index at: https://trigger-docs-mcp-readonly-runtime-flag.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to the Trigger.dev docs

> Find all the resources and guides you need to get started

<CardGroup cols={2}>
  <Card title="Quick start" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-quickstart.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=130a43d30ac0bd3a477431e8f0bece8e" href="/quick-start" width="480" height="280" data-path="images/intro-quickstart.jpg">
    Get started with Trigger.dev and run your first task in 3 minutes
  </Card>

  <Card title="Guides, frameworks & examples" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-examples.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=0605028c24b47bb1f750f05b5aefe91d" href="/guides/introduction#example-tasks" width="480" height="280" data-path="images/intro-examples.jpg">
    Browse our wide range of guides, frameworks and example projects
  </Card>

  <Card title="Building with AI" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-ai.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=701d4feebb5e6377c08d6a1235ba4b6a" href="/building-with-ai" width="480" height="280" data-path="images/intro-ai.jpg">
    Learn how to build Trigger.dev projects using AI coding assistants
  </Card>

  <Card title="Video walkthrough" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-video.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=e5e183d4d8ad2ff61ded2f0286d5f3ca" href="/video-walkthrough" width="480" height="280" data-path="images/intro-video.jpg">
    Watch an end-to-end demo of Trigger.dev in 10 minutes
  </Card>
</CardGroup>

## What is Trigger.dev?

Trigger.dev is an open source background jobs framework that lets you write reliable workflows in plain async code. Run long-running AI tasks, handle complex background jobs, and build AI agents with built-in queuing, automatic retries, and real-time monitoring. No timeouts, elastic scaling, and zero infrastructure management required.

We provide everything you need to build and manage background tasks: a CLI and SDK for writing tasks in your existing codebase, support for both [regular](/tasks/overview) and [scheduled](/tasks/scheduled) tasks, full observability through our dashboard, and a [Realtime API](/realtime) with [React hooks](/realtime/react-hooks#realtime-hooks) for showing task status in your frontend. You can use [Trigger.dev Cloud](https://cloud.trigger.dev) or [self-host](/self-hosting/overview) on your own infrastructure.

## Learn the concepts

<CardGroup cols={2}>
  <Card title="Writing tasks" icon="wand-magic-sparkles" href="/tasks/overview" color="#3B82F6">
    Tasks are the core of Trigger.dev. Learn what they are and how to write them.
  </Card>

  <Card title="Triggering tasks" icon="bullseye-pointer" href="/triggering" color="#fbbf24">
    Learn how to trigger tasks from your codebase.
  </Card>

  <Card title="Runs" icon="person-running" href="/runs" color="#EA189E">
    Runs are the instances of tasks that are executed. Learn how they work.
  </Card>

  <Card title="API keys" icon="key" href="/apikeys" color="#EAEA08">
    API keys are used to authenticate requests to the Trigger.dev API. Learn how to create and use
    them.
  </Card>
</CardGroup>

## Explore by feature

<CardGroup>
  <Card title="Scheduled tasks (cron)" icon="clock" href="/tasks/scheduled" color="#EAEA08">
    Scheduled tasks are a type of task that is scheduled to run at a specific time.
  </Card>

  <Card title="Realtime API" icon="loader" href="/realtime" color="#22C55E">
    The Realtime API allows you to trigger tasks and get the status of runs.
  </Card>

  <Card title="React hooks" icon="react" href="/realtime/react-hooks" color="#3B82F6">
    React hooks are a way to show task status in your frontend.
  </Card>

  <Card title="Waits" icon="calendar-clock" href="/wait" color="#F59E0B">
    Waits are a way to wait for a task to finish before continuing.
  </Card>

  <Card title="Errors and retries" icon="message-exclamation" href="/errors-retrying" color="#F43F5E">
    Learn how to handle errors and retries.
  </Card>

  <Card title="Concurrency & Queues" icon="line-height" href="/queue-concurrency" color="#D946EF">
    Configure what you want to happen when there is more than one run at a time.
  </Card>

  <Card title="Wait for token (human-in-the-loop)" icon="hand" href="/wait-for-token" color="#EAEA08">
    Pause runs until a token is completed via an approval workflow.
  </Card>

  <Card title="Build extensions" icon="gear" href="/config/extensions/overview" color="#22C55E">
    Customize the build process or the resulting bundle and container image.
  </Card>
</CardGroup>

## Explore by build extension

| Extension             | What it does                                                 | Docs                                                   |
| :-------------------- | :----------------------------------------------------------- | :----------------------------------------------------- |
| prismaExtension       | Use Prisma with Trigger.dev                                  | [Learn more](/config/extensions/prismaExtension)       |
| pythonExtension       | Execute Python scripts in Trigger.dev                        | [Learn more](/config/extensions/pythonExtension)       |
| playwright            | Use Playwright with Trigger.dev                              | [Learn more](/config/extensions/playwright)            |
| puppeteer             | Use Puppeteer with Trigger.dev                               | [Learn more](/config/extensions/puppeteer)             |
| lightpanda            | Use Lightpanda with Trigger.dev                              | [Learn more](/config/extensions/lightpanda)            |
| ffmpeg                | Use FFmpeg with Trigger.dev                                  | [Learn more](/config/extensions/ffmpeg)                |
| aptGet                | Install system packages with aptGet                          | [Learn more](/config/extensions/aptGet)                |
| additionalFiles       | Copy additional files to the build directory                 | [Learn more](/config/extensions/additionalFiles)       |
| additionalPackages    | Include additional packages in the build                     | [Learn more](/config/extensions/additionalPackages)    |
| syncEnvVars           | Automatically sync environment variables to Trigger.dev      | [Learn more](/config/extensions/syncEnvVars)           |
| esbuildPlugin         | Add existing or custom esbuild plugins to your build process | [Learn more](/config/extensions/esbuildPlugin)         |
| emitDecoratorMetadata | Support for the emitDecoratorMetadata TypeScript compiler    | [Learn more](/config/extensions/emitDecoratorMetadata) |
| audioWaveform         | Support for Audio Waveform in your project                   | [Learn more](/config/extensions/audioWaveform)         |

## Explore by example

<CardGroup cols={3}>
  <Card title="FFmpeg" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-ffmpeg.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=c825b8c67e1e3d49158d0719521054a8" href="/guides/examples/ffmpeg-video-processing" width="300" height="160" data-path="images/intro-ffmpeg.jpg" />

  <Card title="Fal.ai" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-fal.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=41518bf51e4a492827ac1eaa281be3f5" href="/guides/examples/fal-ai-image-to-cartoon" width="300" height="160" data-path="images/intro-fal.jpg" />

  <Card title="Puppeteer" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-puppeteer.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=f907d5497523ce8fef3d9d1c6f65304a" href="/guides/examples/puppeteer" width="300" height="160" data-path="images/intro-puppeteer.jpg" />

  <Card title="LibreOffice" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-libreoffice.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=6388866de8faffded2f8d6767ffce66c" href="/guides/examples/libreoffice-pdf-conversion" width="300" height="160" data-path="images/intro-libreoffice.jpg" />

  <Card title="OpenAI" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-openai.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=62309eb3bf7ffa20e8f71cb6fb2760a7" href="/guides/examples/open-ai-with-retrying" width="300" height="160" data-path="images/intro-openai.jpg" />

  <Card title="Browserbase" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-browserbase.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=992444db58ddd290554a913abbce9e12" href="/guides/examples/scrape-hacker-news" width="300" height="160" data-path="images/intro-browserbase.jpg" />

  <Card title="Sentry" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-sentry.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=3517e5c1aaa4bd2f158ad09ae0051304" href="/guides/examples/sentry-error-tracking" width="300" height="160" data-path="images/intro-sentry.jpg" />

  <Card title="Resend" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-resend.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=00bf3b1fa794cfd6dd1ed9e0455842a9" href="/guides/examples/resend-email-sequence" width="300" height="160" data-path="images/intro-resend.jpg" />

  <Card title="Vercel AI SDK" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-vercel.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=55aa8b82161d07533aac1deedecb8700" href="/guides/examples/vercel-ai-sdk" width="300" height="160" data-path="images/intro-vercel.jpg" />

  <Card title="Sharp" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-sharp.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=9f14ab9798d34a35ff6cde9d3578249b" href="/guides/examples/sharp-image-processing" width="300" height="160" data-path="images/intro-sharp.jpg" />

  <Card title="Deepgram" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-deepgram.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=5a27e0cc35371468b1514efc79d82d98" href="/guides/examples/deepgram-transcribe-audio" width="300" height="160" data-path="images/intro-deepgram.jpg" />

  <Card title="Supabase" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-supabase.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=f4fccc57fe79d80b52e1e5d567786fe1" href="/guides/examples/supabase-database-operations" width="300" height="160" data-path="images/intro-supabase.jpg" />

  <Card title="DALL•E" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-openai.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=62309eb3bf7ffa20e8f71cb6fb2760a7" href="/guides/examples/dall-e3-generate-image" width="300" height="160" data-path="images/intro-openai.jpg" />

  <Card title="Firecrawl" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-firecrawl.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=361a3374b0e5bb152fe023d1da6ba907" href="/guides/examples/firecrawl-url-crawl" width="300" height="160" data-path="images/intro-firecrawl.jpg" />

  <Card title="Lightpanda" img="https://mintcdn.com/trigger-docs-mcp-readonly-runtime-flag/PyFnix3EMI1cou3O/images/intro-lightpanda.jpg?fit=max&auto=format&n=PyFnix3EMI1cou3O&q=85&s=1b85dd730352f45679bddd8ea4732050" href="/guides/examples/lightpanda" width="300" height="160" data-path="images/intro-lightpanda.jpg" />
</CardGroup>

## 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.

<CardGroup>
  <Card title="Join our Discord server" icon="discord" href="https://discord.gg/kA47vcd8P6" color="#5865F2">
    Our Discord is the best place to get help with any questions about Trigger.dev.
  </Card>

  <Card
    title="Follow us on X (Twitter)"
    icon={
  <svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 512 512">
    <path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" />
  </svg>
}
    href="https://twitter.com/triggerdotdev"
    color="#1DA1F2"
  >
    Follow us to get the latest updates and news.
  </Card>

  <Card title="Schedule a call" icon="phone" iconType="solid" color="#22C55E" href="https://cal.com/team/triggerdotdev/founders-call">
    Arrange a call with one of the founders to get help with any questions.
  </Card>

  <Card title="Give us a star on GitHub" icon="star" iconType="solid" href="https://github.com/triggerdotdev/trigger.dev" color="#fbbf24">
    Check us out our GitHub repo and give us a star if you like what we're doing.
  </Card>
</CardGroup>
