This is a community developed package from @ian that uses Redis to rate limit Trigger.dev tasks.View the repo
Was this page helpful?
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Trigger.dev","description":"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.","colors":{"primary":"#A8FF53","light":"#A8FF53","dark":"#A8FF53"},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/trigger/logo/light.png","dark":"https://mintcdn.com/trigger/0bD0UfsjaINxS6Tw/logo/dark.png?fit=max\u0026auto=format\u0026n=0bD0UfsjaINxS6Tw\u0026q=85\u0026s=42d177f642319662a1d62d66af79e168","href":"https://trigger.dev"},"favicon":"https://mintcdn.com/trigger/uys6iMwf9B_ojh8r/images/favicon.png?fit=max\u0026auto=format\u0026n=uys6iMwf9B_ojh8r\u0026q=85\u0026s=a0941157a9b102cbf0db33280d518458","api":{"openapi":["openapi.yml","v3-openapi.yaml"],"playground":{"display":"simple"}},"appearance":{"default":"dark","strict":true},"background":{"color":{"light":"#fff","dark":"#121317"}},"navbar":{"primary":{"type":"github","href":"https://github.com/triggerdotdev/trigger.dev"}},"footer":{"socials":{"x":"https://twitter.com/triggerdotdev","github":"https://github.com/triggerdotdev","linkedin":"https://www.linkedin.com/company/triggerdotdev"},"links":[{"header":"Developers","items":[{"label":"Changelog","href":"https://trigger.dev/changelog"},{"label":"Contributing","href":"https://github.com/triggerdotdev/trigger.dev/blob/main/CONTRIBUTING.md"},{"label":"Open source","href":"https://github.com/triggerdotdev/trigger.dev?tab=Apache-2.0-1-ov-file"},{"label":"GitHub","href":"https://github.com/triggerdotdev/trigger.dev"},{"label":"OSS Friends","href":"https://trigger.dev/oss-friends"}]},{"header":"Product","items":[{"label":"Pricing","href":"https://trigger.dev/pricing"},{"label":"How it works","href":"https://trigger.dev/"},{"label":"Features","href":"https://trigger.dev/product"},{"label":"Roadmap","href":"https://feedback.trigger.dev/roadmap"},{"label":"FAQs","href":"https://trigger.dev/pricing"},{"label":"Uptime status","href":"https://status.trigger.dev/"}]},{"header":"Company","items":[{"label":"Blog","href":"https://trigger.dev/blog"},{"label":"Contact","href":"https://trigger.dev/contact"},{"label":"Careers","href":"https://trigger.dev/jobs"},{"label":"Privacy","href":"https://trigger.dev/legal/privacy"},{"label":"Terms of service","href":"https://trigger.dev/legal"}]}]},"styling":{"codeblocks":{"theme":"css-variables"},"latex":false},"contextual":{"options":["copy","view","claude"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"trigger","hasAudioNarration":false,"actualSubdomain":"trigger","customDomains":["trigger.dev"],"gitSource":{"type":"github","owner":"triggerdotdev","repo":"trigger.dev","deployBranch":"docs-live","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf964832d0dbb673cb3c1f","collectionId":"5d5df2df-8edb-479a-930e-1fe623c88b3d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf964832d0dbb673cb3c1f"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf964832d0dbb673cb3c1f","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Documentation","count":187},{"language":"default","tag":"API reference","count":99},{"language":"default","tag":"Guides \u0026 examples","count":87},{"language":"default","tag":"Agents","count":47},{"language":"default","tag":"Example tasks","count":24},{"language":"default","tag":"Writing tasks","count":22},{"language":"default","tag":"Guides","count":21},{"language":"default","tag":"Example projects","count":21},{"language":"default","tag":"CLI","count":16},{"language":"default","tag":"Configuration","count":16}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instinct-self-updating-docs","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"button~.absolute.peer-hover\\:opacity-100{color:#000}:root{--mint-color-background:#121317;--mint-color-text:#d4d4d4;--mint-token-constant:#9b99ff;--mint-token-string:#afec73;--mint-token-comment:#5f6570;--mint-token-keyword:#e888f8;--mint-token-parameter:#cccbff;--mint-token-function:#d9f07c;--mint-token-string-expression:#afec73;--mint-token-punctuation:#878c99;--mint-token-link:#826dff;--shiki-foreground:#d4d4d4;--shiki-background:#121317;--shiki-token-constant:#9b99ff;--shiki-token-string:#afec73;--shiki-token-comment:#5f6570;--shiki-token-keyword:#e888f8;--shiki-token-parameter:#cccbff;--shiki-token-function:#d9f07c;--shiki-token-string-expression:#afec73;--shiki-token-punctuation:#878c99;--shiki-token-link:#826dff}"}],"page":{"pagePath":"guides/community/rate-limiter","slug":"/guides/community/rate-limiter","pageMetadata":{"title":"Rate limiter","sidebarTitle":"Rate limiter","description":"A rate limiter for Trigger.dev.","icon":"gauge-simple-low","href":"/guides/community/rate-limiter"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"A rate limiter for Trigger.dev.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This is a community developed package from `,_jsx(_components.a,{href:`https://github.com/ian`,children:`@ian`}),` that uses Redis to rate limit Trigger.dev tasks.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://github.com/ian/trigger-rate-limiting`,children:`View the repo`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"Rate limiter","sidebarTitle":"Rate limiter","description":"A rate limiter for Trigger.dev.","icon":"gauge-simple-low","href":"/guides/community/rate-limiter"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"trigger","siteName":"Trigger.dev","title":"Rate limiter - Trigger.dev","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-23T18:07:51.417Z","originalFileLocation":"guides/community/rate-limiter.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"A rate limiter for Trigger.dev.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Trigger.dev\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Rate limiter - Trigger.dev\">\u003cmeta data-mint-head property=\"og:description\" content=\"A rate limiter for Trigger.dev.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Trigger.dev\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://trigger.dev/docs/guides/community/rate-limiter\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://trigger.mintlify.app/_mintlify/api/og/v2?division=Community+packages\u0026amp;title=Rate+limiter\u0026amp;description=A+rate+limiter+for+Trigger.dev.\u0026amp;theme=fb447d44d5d9e68b1bac2d58\u0026amp;signature=3924bfead655e648dcd1ba432ba5317512009706d9d307ae41a0a93d052f1ad8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Rate limiter - Trigger.dev\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A rate limiter for Trigger.dev.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://trigger.mintlify.app/_mintlify/api/og/v2?division=Community+packages\u0026amp;title=Rate+limiter\u0026amp;description=A+rate+limiter+for+Trigger.dev.\u0026amp;theme=fb447d44d5d9e68b1bac2d58\u0026amp;signature=3924bfead655e648dcd1ba432ba5317512009706d9d307ae41a0a93d052f1ad8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Trigger.dev\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A8FF53\">\u003clink data-mint-head rel=\"canonical\" href=\"https://trigger.dev/docs/guides/community/rate-limiter\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/community/rate-limiter.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://trigger.dev/#organization\",\"name\":\"Trigger.dev\",\"url\":\"https://trigger.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintlify.s3.us-west-1.amazonaws.com/trigger/logo/light.png\"}},{\"@type\":\"WebSite\",\"@id\":\"https://trigger.dev/docs#website\",\"name\":\"Trigger.dev\",\"url\":\"https://trigger.dev/docs\",\"publisher\":{\"@id\":\"https://trigger.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://trigger.dev/docs/guides/community/rate-limiter#webpage\",\"url\":\"https://trigger.dev/docs/guides/community/rate-limiter\",\"name\":\"Rate limiter\",\"description\":\"A rate limiter for Trigger.dev.\",\"dateModified\":\"2026-01-23T18:07:51.417Z\",\"isPartOf\":{\"@id\":\"https://trigger.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://trigger.dev/docs/guides/community/rate-limiter#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://trigger.dev/docs/guides/community/rate-limiter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Community packages\",\"item\":\"https://trigger.dev/docs/guides/community/dotenvx\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rate limiter\",\"item\":\"https://trigger.dev/docs/guides/community/rate-limiter\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://trigger.dev/docs/guides/community/rate-limiter#article\",\"headline\":\"Rate limiter\",\"name\":\"Rate limiter\",\"description\":\"A rate limiter for Trigger.dev.\",\"url\":\"https://trigger.dev/docs/guides/community/rate-limiter\",\"mainEntityOfPage\":{\"@id\":\"https://trigger.dev/docs/guides/community/rate-limiter#webpage\"},\"dateModified\":\"2026-01-23T18:07:51.417Z\",\"publisher\":{\"@id\":\"https://trigger.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://trigger.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Trigger.dev\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Trigger.dev","nav":{"global":null,"dropdowns":[{"dropdown":"Documentation","icon":"book-open","description":"Resources for Trigger.dev","groups":[{"group":"Getting started","pages":[{"title":"Trigger.dev docs","sidebarTitle":"Introduction","mode":"center","href":"/introduction"},{"title":"Quick start: add Trigger.dev to your project","sidebarTitle":"Quick start","href":"/quick-start"},{"title":"Manual setup","href":"/manual-setup"},{"title":"Video walkthrough","href":"/video-walkthrough"},{"title":"How Trigger.dev works","sidebarTitle":"How it works","href":"/how-it-works"},{"title":"Limits","href":"/limits"},{"title":"Migrating from v3","href":"/migrating-from-v3"}]},{"group":"Fundamentals","pages":[{"group":"Tasks","pages":[{"title":"Tasks: Overview","sidebarTitle":"Overview","href":"/tasks/overview"},{"title":"schemaTask","sidebarTitle":"Schema task","href":"/tasks/schemaTask"},{"title":"Scheduled tasks (cron)","href":"/tasks/scheduled"}]},{"title":"Triggering","href":"/triggering"},{"title":"Runs","href":"/runs"},{"group":"Runs","hidden":true,"searchable":true,"pages":[{"title":"Using runs.list() efficiently","sidebarTitle":"runs.list() best practices","href":"/runs/list-best-practices"}]},{"title":"API keys","href":"/apikeys"}]},{"group":"Building with AI","pages":[{"title":"Building with AI: overview","sidebarTitle":"Overview","href":"/building-with-ai"},{"group":"MCP Server","pages":[{"title":"MCP Introduction","sidebarTitle":"Introduction","href":"/mcp-introduction"},{"title":"MCP Tools","sidebarTitle":"Tools","href":"/mcp-tools"}]},{"title":"Skills","sidebarTitle":"Skills","href":"/skills"},{"title":"Agent rules","sidebarTitle":"Agent rules","href":"/mcp-agent-rules"}]},{"group":"Writing tasks","pages":[{"title":"Writing tasks: Overview","sidebarTitle":"Overview","href":"/writing-tasks-introduction"},{"title":"Logging, tracing \u0026 metrics","href":"/logging"},{"title":"Errors \u0026 Retrying","href":"/errors-retrying"},{"group":"Wait","pages":[{"title":"Wait: Overview","sidebarTitle":"Overview","href":"/wait"},{"title":"Wait for","href":"/wait-for"},{"title":"Wait until","href":"/wait-until"},{"title":"Wait for token","href":"/wait-for-token"}]},{"title":"Queues","href":"/queues"},{"title":"Concurrency","href":"/concurrency"},{"title":"Versioning","href":"/versioning"},{"title":"Machines","href":"/machines"},{"title":"Idempotency","href":"/idempotency"},{"title":"Max duration","sidebarTitle":"Max duration","href":"/runs/max-duration"},{"title":"Heartbeats","sidebarTitle":"Heartbeats","href":"/runs/heartbeats"},{"title":"Tags","href":"/tags"},{"title":"Run metadata","sidebarTitle":"Metadata","href":"/runs/metadata"},{"title":"Streaming data from tasks","sidebarTitle":"Streams","href":"/tasks/streams"},{"title":"Usage","href":"/run-usage"},{"title":"Context","href":"/context"},{"title":"Priority","href":"/runs/priority"},{"title":"Hidden tasks","href":"/hidden-tasks"},{"title":"Bulk actions with the SDK","sidebarTitle":"Bulk actions","href":"/runs/bulk-actions"}]},{"group":"Agents","pages":[{"title":"AI Agents","sidebarTitle":"Overview","href":"/ai-chat/overview"},{"title":"Quick Start","sidebarTitle":"Quick Start","href":"/ai-chat/quick-start"},{"title":"Migrate from an AI SDK route handler","sidebarTitle":"Migrate from a route handler","href":"/ai-chat/migrating-from-a-route-handler"},{"group":"Building agents","pages":[{"title":"Anatomy of an agent","sidebarTitle":"Anatomy","href":"/ai-chat/anatomy"},{"title":"Backend","sidebarTitle":"Backend","href":"/ai-chat/backend"},{"title":"Lifecycle hooks","sidebarTitle":"Lifecycle hooks","href":"/ai-chat/lifecycle-hooks"},{"title":"Tools","sidebarTitle":"Tools","href":"/ai-chat/tools"},{"title":"Frontend","sidebarTitle":"Frontend","href":"/ai-chat/frontend"},{"title":"Server-Side Chat","sidebarTitle":"Server-Side Chat","href":"/ai-chat/server-chat"},{"title":"Sessions","sidebarTitle":"Sessions","href":"/ai-chat/sessions"},{"title":"Side channels","sidebarTitle":"Side channels","href":"/ai-chat/side-channels"},{"title":"chat.local","sidebarTitle":"chat.local","href":"/ai-chat/chat-local"},{"title":"Types","sidebarTitle":"Types","href":"/ai-chat/types"},{"title":"Custom agents","sidebarTitle":"Custom agents","href":"/ai-chat/custom-agents"},{"title":"How the AI Agents SDK works","sidebarTitle":"How it works","href":"/ai-chat/how-it-works"}]},{"group":"Features","pages":[{"title":"Prompts","sidebarTitle":"Prompts","href":"/ai/prompts"},{"title":"LLM observability","sidebarTitle":"LLM observability","href":"/ai/observability"},{"title":"Fast starts","sidebarTitle":"Fast starts","href":"/ai-chat/fast-starts"},{"title":"Compaction","sidebarTitle":"Compaction","href":"/ai-chat/compaction"},{"title":"Prompt caching","sidebarTitle":"Prompt caching","href":"/ai-chat/prompt-caching"},{"title":"Pending Messages","sidebarTitle":"Pending Messages","href":"/ai-chat/pending-messages"},{"title":"Background injection","sidebarTitle":"Background injection","href":"/ai-chat/background-injection"},{"title":"Actions","sidebarTitle":"Actions","href":"/ai-chat/actions"},{"title":"Transcript storage","sidebarTitle":"Transcript storage","href":"/ai-chat/transcript-storage"},{"title":"Migrate from hydrateMessages to transcript storage","sidebarTitle":"Migrating from hydrateMessages","href":"/ai-chat/migrating-from-hydrate-messages"},{"title":"Error handling","sidebarTitle":"Error handling","href":"/ai-chat/error-handling"}]},{"group":"Patterns","pages":[{"title":"Sub-Agents","sidebarTitle":"Sub-Agents","href":"/ai-chat/patterns/sub-agents"},{"title":"Version upgrades","sidebarTitle":"Version upgrades","href":"/ai-chat/patterns/version-upgrades"},{"title":"Database persistence for chat","sidebarTitle":"Database persistence","href":"/ai-chat/patterns/database-persistence"},{"title":"Persistence and replay","sidebarTitle":"Persistence and replay","href":"/ai-chat/patterns/persistence-and-replay"},{"title":"Branching conversations","sidebarTitle":"Branching conversations","href":"/ai-chat/patterns/branching-conversations"},{"title":"Code execution sandbox","sidebarTitle":"Code sandbox","href":"/ai-chat/patterns/code-sandbox"},{"title":"Human-in-the-loop","sidebarTitle":"Human-in-the-loop","href":"/ai-chat/patterns/human-in-the-loop"},{"title":"Tool result auditing","sidebarTitle":"Tool result auditing","href":"/ai-chat/patterns/tool-result-auditing"},{"title":"Large payloads in chat.agent","sidebarTitle":"Large payloads","href":"/ai-chat/patterns/large-payloads"},{"title":"Agent Skills","sidebarTitle":"Agent Skills","href":"/ai-chat/patterns/skills"},{"title":"OOM resilience","sidebarTitle":"OOM resilience","href":"/ai-chat/patterns/oom-resilience"},{"title":"Recovery boot","sidebarTitle":"Recovery boot","href":"/ai-chat/patterns/recovery-boot"},{"title":"Trusted edge signals","sidebarTitle":"Trusted edge signals","href":"/ai-chat/patterns/trusted-edge-signals"},{"title":"Redact chat content from traces","sidebarTitle":"Redact chat content","href":"/ai-chat/patterns/redacting-telemetry"},{"title":"Native compaction \u0026 provider fallback","sidebarTitle":"Native compaction","href":"/ai-chat/patterns/native-compaction"}]},{"group":"Reference","pages":[{"title":"API Reference","sidebarTitle":"API Reference","href":"/ai-chat/reference"},{"title":"Client Protocol","sidebarTitle":"Client Protocol","href":"/ai-chat/client-protocol"},{"title":"Testing","sidebarTitle":"Testing","href":"/ai-chat/testing"},{"title":"MCP Server","sidebarTitle":"MCP Server","href":"/ai-chat/mcp"},{"title":"Upgrade Guide: prerelease → Sessions-as-run-manager","sidebarTitle":"Sessions Upgrade Guide","href":"/ai-chat/upgrade-guide"},{"title":"AI Agents SDK changelog","sidebarTitle":"Changelog","href":"/ai-chat/changelog"}]}]},{"group":"Webhooks","pages":[{"title":"Webhooks overview","sidebarTitle":"Overview","href":"/webhooks/overview"},{"title":"Sources and verification","sidebarTitle":"Sources \u0026 verification","href":"/webhooks/sources"},{"title":"Connect a webhook provider","sidebarTitle":"Connect a provider","href":"/webhooks/connect"},{"title":"Deliveries and endpoints","sidebarTitle":"Deliveries and endpoints","href":"/webhooks/deliveries"},{"title":"Filtering deliveries","sidebarTitle":"Filters","href":"/webhooks/filters"},{"title":"Waiting for a webhook","sidebarTitle":"Waiters","href":"/webhooks/waiters"},{"title":"Routing to a session","sidebarTitle":"Session routing","href":"/webhooks/session-routing"},{"title":"Channels (chat frontends)","sidebarTitle":"Channels","href":"/webhooks/channels"},{"title":"Slack agents","sidebarTitle":"Slack agents","href":"/webhooks/slack"},{"title":"Linear agents","sidebarTitle":"Linear agents","href":"/webhooks/linear"},{"title":"Human-in-the-loop","sidebarTitle":"Human-in-the-loop","href":"/webhooks/human-in-the-loop"}]},{"group":"Configuration","pages":[{"title":"The trigger.config.ts file","sidebarTitle":"trigger.config.ts","href":"/config/config-file"},{"group":"Build extensions","pages":[{"title":"Build extensions","sidebarTitle":"Overview","href":"/config/extensions/overview"},{"group":"Built-in extensions","pages":[{"title":"Prisma","sidebarTitle":"prismaExtension","href":"/config/extensions/prismaExtension"},{"title":"Python","sidebarTitle":"pythonExtension","href":"/config/extensions/pythonExtension"},{"title":"Playwright","sidebarTitle":"playwright","href":"/config/extensions/playwright"},{"title":"Puppeteer build extension","sidebarTitle":"puppeteer","href":"/config/extensions/puppeteer"},{"title":"Lightpanda build extension","sidebarTitle":"lightpanda","tag":"v4","href":"/config/extensions/lightpanda"},{"title":"FFmpeg","sidebarTitle":"ffmpeg","href":"/config/extensions/ffmpeg"},{"title":"apt-get","sidebarTitle":"aptGet","href":"/config/extensions/aptGet"},{"title":"Additional Files","sidebarTitle":"additionalFiles","href":"/config/extensions/additionalFiles"},{"title":"Additional Packages","sidebarTitle":"additionalPackages","href":"/config/extensions/additionalPackages"},{"title":"Sync env vars","sidebarTitle":"syncEnvVars","href":"/config/extensions/syncEnvVars"},{"title":"esbuild Plugin","sidebarTitle":"esbuildPlugin","href":"/config/extensions/esbuildPlugin"},{"title":"Emit Decorator Metadata","sidebarTitle":"emitDecoratorMetadata","href":"/config/extensions/emitDecoratorMetadata"},{"title":"Audio Waveform","sidebarTitle":"audioWaveform","href":"/config/extensions/audioWaveform"}]},{"title":"Custom build extensions","sidebarTitle":"Custom","href":"/config/extensions/custom"}]}]},{"group":"Deployment","pages":[{"title":"Deployment","sidebarTitle":"Overview","href":"/deployment/overview"},{"title":"Environment Variables","href":"/deploy-environment-variables"},{"title":"CI / GitHub Actions","href":"/github-actions"},{"title":"Preview branches","href":"/deployment/preview-branches"},{"title":"Development branches","sidebarTitle":"Dev branches","href":"/deployment/dev-branches"},{"title":"Atomic deployments","sidebarTitle":"Atomic deployments","href":"/deployment/atomic-deployment"},{"group":"Deployment integrations","pages":[{"title":"GitHub integration","href":"/github-integration"},{"title":"Vercel integration","href":"/vercel-integration"}]}]},{"group":"Private networking","pages":[{"title":"Private networking","sidebarTitle":"Overview","href":"/private-networking/overview"},{"title":"Setting up PrivateLink in the AWS Console","sidebarTitle":"AWS Console setup","href":"/private-networking/aws-console-setup"},{"title":"Troubleshooting private networking","sidebarTitle":"Troubleshooting","href":"/private-networking/troubleshooting"}]},{"group":"Realtime","pages":[{"title":"Realtime overview","sidebarTitle":"Overview","href":"/realtime/overview"},{"title":"How Realtime works","sidebarTitle":"How it works","href":"/realtime/how-it-works"},{"title":"The run object","sidebarTitle":"The run object","href":"/realtime/run-object"},{"title":"Realtime authentication","sidebarTitle":"Realtime auth","href":"/realtime/auth"},{"group":"React hooks","pages":[{"title":"React hooks for real-time task updates","sidebarTitle":"Overview","href":"/realtime/react-hooks/overview"},{"title":"Trigger tasks from React","sidebarTitle":"Triggering","href":"/realtime/react-hooks/triggering"},{"title":"Run updates in React","sidebarTitle":"Run updates","href":"/realtime/react-hooks/subscribe"},{"title":"Stream data to React (AI, files, progress)","sidebarTitle":"Streaming","href":"/realtime/react-hooks/streams"},{"title":"Read a session channel in React","sidebarTitle":"Session streams","href":"/realtime/react-hooks/session-stream"},{"title":"SWR hooks","sidebarTitle":"SWR","href":"/realtime/react-hooks/swr"},{"title":"useWaitToken","href":"/realtime/react-hooks/use-wait-token"}]},{"group":"Backend","pages":[{"title":"Subscribe to tasks from your backend","sidebarTitle":"Overview","href":"/realtime/backend/overview"},{"title":"Run updates (backend)","sidebarTitle":"Run updates","href":"/realtime/backend/subscribe"},{"title":"Stream data to your backend (AI, files)","sidebarTitle":"Streaming","href":"/realtime/backend/streams"},{"title":"Input Streams","sidebarTitle":"Input Streams","href":"/realtime/backend/input-streams"}]}]},{"group":"CLI","pages":[{"title":"Introduction","href":"/cli-introduction"},{"group":"Commands","pages":[{"title":"CLI deploy command","sidebarTitle":"deploy","href":"/cli-deploy-commands"},{"title":"CLI dev command","sidebarTitle":"dev","href":"/cli-dev-commands"},{"title":"CLI env commands","sidebarTitle":"env","href":"/cli-env-commands"},{"title":"CLI init command","sidebarTitle":"init","href":"/cli-init-commands"},{"title":"CLI list-profiles command","sidebarTitle":"list-profiles","href":"/cli-list-profiles-commands"},{"title":"CLI login command","sidebarTitle":"login","href":"/cli-login-commands"},{"title":"CLI logout command","sidebarTitle":"logout","href":"/cli-logout-commands"},{"title":"CLI preview archive command","sidebarTitle":"preview archive","href":"/cli-preview-archive"},{"title":"CLI projects commands","sidebarTitle":"projects","href":"/cli-projects-commands"},{"title":"CLI promote command","sidebarTitle":"promote","href":"/cli-promote-commands"},{"title":"CLI runs commands","sidebarTitle":"runs","href":"/cli-runs-commands"},{"title":"CLI switch command","sidebarTitle":"switch","href":"/cli-switch"},{"title":"CLI tasks commands","sidebarTitle":"tasks","href":"/cli-tasks-commands"},{"title":"CLI update command","sidebarTitle":"update","href":"/cli-update-commands"},{"title":"CLI whoami command","sidebarTitle":"whoami","href":"/cli-whoami-commands"}]}]},{"group":"Observability","pages":[{"title":"Query","href":"/observability/query"},{"title":"Dashboards","href":"/observability/dashboards"},{"title":"Project health report","sidebarTitle":"Health report","href":"/reports"}]},{"group":"Using the Dashboard","pages":[{"title":"Run tests","href":"/run-tests"},{"title":"Alerts","href":"/troubleshooting-alerts"},{"title":"Billing limits and alerts","sidebarTitle":"Billing limits \u0026 alerts","href":"/billing-limits"},{"title":"Replaying","href":"/replaying"},{"title":"Bulk actions in the dashboard","sidebarTitle":"Bulk actions","href":"/bulk-actions"}]},{"group":"Troubleshooting","pages":[{"title":"Common problems","href":"/troubleshooting"},{"title":"Database connections","sidebarTitle":"Database connections","href":"/database-connections"},{"title":"How to reduce your spend","href":"/how-to-reduce-your-spend"},{"title":"Debugging in VS Code","sidebarTitle":"Debugging in VS Code","href":"/troubleshooting-debugging-in-vscode"},{"title":"How to upgrade the Trigger.dev packages","sidebarTitle":"Upgrading packages","href":"/upgrading-packages"},{"title":"Zod","href":"/troubleshooting-zod"},{"title":"Uptime Status","href":"/troubleshooting-uptime-status"},{"title":"GitHub Issues","url":"https://github.com/triggerdotdev/trigger.dev/issues","href":"/troubleshooting-github-issues"},{"title":"Request a feature","url":"https://feedback.trigger.dev/","href":"/request-feature"}]},{"group":"Self-hosting","pages":[{"title":"Self-hosting overview","sidebarTitle":"Overview","href":"/self-hosting/overview"},{"title":"Docker compose","href":"/self-hosting/docker"},{"title":"Kubernetes","href":"/self-hosting/kubernetes"},{"title":"Security \u0026 vulnerability reporting","sidebarTitle":"Security","href":"/self-hosting/security"},{"group":"Environment variables","pages":[{"title":"Webapp","sidebarTitle":"Webapp","mode":"wide","href":"/self-hosting/env/webapp"},{"title":"Supervisor","sidebarTitle":"Supervisor","mode":"wide","href":"/self-hosting/env/supervisor"}]}]},{"group":"Open source","pages":[{"title":"Contributing","href":"/open-source-contributing"},{"title":"GitHub repo","url":"https://github.com/triggerdotdev/trigger.dev","href":"/github-repo"},{"title":"Changelog","url":"https://trigger.dev/changelog","href":"/changelog"},{"title":"Roadmap","url":"https://feedback.trigger.dev/roadmap","href":"/roadmap"}]},{"group":"Help","pages":[{"title":"Discord Community","url":"https://trigger.dev/discord","href":"/community"},{"title":"Slack support","href":"/help-slack"},{"title":"Email us","url":"https://trigger.dev/contact","href":"/help-email"}]}]},{"dropdown":"API reference","icon":"code","description":"The Trigger.dev API","groups":[{"group":"API reference","pages":[{"title":"Management API overview","sidebarTitle":"Overview","href":"/management/overview"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/management/authentication"},{"title":"Multiple SDK clients","sidebarTitle":"Multiple SDK clients","href":"/management/multiple-clients"},{"title":"Errors and retries","sidebarTitle":"Errors and retries","href":"/management/errors-and-retries"},{"title":"Auto-pagination","sidebarTitle":"Auto-pagination","href":"/management/auto-pagination"},{"title":"Advanced usage","sidebarTitle":"Advanced usage","href":"/management/advanced-usage"}]},{"group":"Tasks API","pages":[{"title":"Trigger","openapi":"v3-openapi POST /api/v1/tasks/{taskIdentifier}/trigger","href":"/management/tasks/trigger"},{"title":"Batch trigger","openapi":"v3-openapi POST /api/v1/tasks/batch","href":"/management/tasks/batch-trigger"},{"title":"Trigger task batch","openapi":"v3-openapi POST /api/v1/tasks/{taskIdentifier}/batch","href":"/management/tasks/trigger-batch"}]},{"group":"Batches API","pages":[{"title":"Create batch","openapi":"openapi POST /api/v3/batches","href":"/management/batches/create"},{"title":"Retrieve a batch","openapi":"v3-openapi GET /api/v1/batches/{batchId}","href":"/management/batches/retrieve"},{"title":"Retrieve batch results","openapi":"v3-openapi GET /api/v1/batches/{batchId}/results","href":"/management/batches/retrieve-results"},{"title":"Stream batch items","openapi":"openapi POST /api/v3/batches/{batchId}/items","href":"/management/batches/stream-items"}]},{"group":"Runs API","pages":[{"title":"List runs","openapi":"v3-openapi GET /api/v1/runs","href":"/management/runs/list"},{"title":"Retrieve run","openapi":"v3-openapi GET /api/v3/runs/{runId}","href":"/management/runs/retrieve"},{"title":"Replay run","openapi":"v3-openapi POST /api/v1/runs/{runId}/replay","href":"/management/runs/replay"},{"title":"Cancel run","openapi":"v3-openapi POST /api/v2/runs/{runId}/cancel","href":"/management/runs/cancel"},{"title":"Reschedule run","openapi":"v3-openapi POST /api/v1/runs/{runId}/reschedule","href":"/management/runs/reschedule"},{"title":"Update metadata","openapi":"v3-openapi PUT /api/v1/runs/{runId}/metadata","href":"/management/runs/update-metadata"},{"title":"Add tags to a run","openapi":"v3-openapi POST /api/v1/runs/{runId}/tags","href":"/management/runs/add-tags"},{"title":"Retrieve run events","openapi":"v3-openapi GET /api/v1/runs/{runId}/events","href":"/management/runs/retrieve-events"},{"title":"Retrieve run trace","openapi":"v3-openapi GET /api/v1/runs/{runId}/trace","href":"/management/runs/retrieve-trace"},{"title":"Retrieve run result","openapi":"v3-openapi GET /api/v1/runs/{runId}/result","href":"/management/runs/retrieve-result"}]},{"group":"Bulk actions API","pages":[{"title":"Create bulk action","openapi":"v3-openapi POST /api/v1/bulk-actions","href":"/management/bulk-actions/create"},{"title":"List bulk actions","openapi":"v3-openapi GET /api/v1/bulk-actions","href":"/management/bulk-actions/list"},{"title":"Retrieve bulk action","openapi":"v3-openapi GET /api/v1/bulk-actions/{bulkActionId}","href":"/management/bulk-actions/retrieve"},{"title":"Abort bulk action","openapi":"v3-openapi POST /api/v1/bulk-actions/{bulkActionId}/abort","href":"/management/bulk-actions/abort"}]},{"group":"Errors API","pages":[{"title":"List errors","openapi":"v3-openapi GET /api/v1/errors","href":"/management/errors/list"},{"title":"Retrieve an error","openapi":"v3-openapi GET /api/v1/errors/{errorId}","href":"/management/errors/retrieve"},{"title":"Resolve an error","openapi":"v3-openapi POST /api/v1/errors/{errorId}/resolve","href":"/management/errors/resolve"},{"title":"Ignore an error","openapi":"v3-openapi POST /api/v1/errors/{errorId}/ignore","href":"/management/errors/ignore"},{"title":"Unresolve an error","openapi":"v3-openapi POST /api/v1/errors/{errorId}/unresolve","href":"/management/errors/unresolve"}]},{"group":"Webhooks API","pages":[{"title":"List webhook endpoints","openapi":"v3-openapi GET /api/v1/webhooks/endpoints","href":"/management/webhooks/list-endpoints"},{"title":"Retrieve a webhook endpoint","openapi":"v3-openapi GET /api/v1/webhooks/endpoints/{endpointId}","href":"/management/webhooks/retrieve-endpoint"},{"title":"Enable a webhook endpoint","openapi":"v3-openapi POST /api/v1/webhooks/endpoints/{endpointId}/enable","href":"/management/webhooks/enable-endpoint"},{"title":"Disable a webhook endpoint","openapi":"v3-openapi POST /api/v1/webhooks/endpoints/{endpointId}/disable","href":"/management/webhooks/disable-endpoint"},{"title":"Generate a webhook signing secret","openapi":"v3-openapi POST /api/v1/webhooks/endpoints/{endpointId}/rotate-secret","href":"/management/webhooks/generate-secret"},{"title":"Set a webhook signing secret","openapi":"v3-openapi PUT /api/v1/webhooks/endpoints/{endpointId}/secret","href":"/management/webhooks/set-secret"},{"title":"List webhook deliveries","openapi":"v3-openapi GET /api/v1/webhooks/deliveries","href":"/management/webhooks/list-deliveries"},{"title":"Retrieve a webhook delivery","openapi":"v3-openapi GET /api/v1/webhooks/deliveries/{deliveryId}","href":"/management/webhooks/retrieve-delivery"},{"title":"Replay a webhook delivery","openapi":"v3-openapi POST /api/v1/webhooks/deliveries/{deliveryId}/replay","href":"/management/webhooks/replay-delivery"},{"title":"Create a webhook waiter","openapi":"v3-openapi POST /api/v1/webhooks/endpoints/{endpointId}/waiters","href":"/management/webhooks/create-waiter"},{"title":"Cancel a webhook waiter","openapi":"v3-openapi POST /api/v1/webhooks/waiters/{waiterId}/cancel","href":"/management/webhooks/cancel-waiter"}]},{"group":"Queues API","pages":[{"title":"List Queues","openapi":"v3-openapi GET /api/v1/queues","href":"/management/queues/list"},{"title":"Retrieve Queue","openapi":"v3-openapi GET /api/v1/queues/{queueParam}","href":"/management/queues/retrieve"},{"title":"Pause or Resume Queue","openapi":"v3-openapi POST /api/v1/queues/{queueParam}/pause","href":"/management/queues/pause"},{"title":"Override Concurrency Limit","openapi":"v3-openapi POST /api/v1/queues/{queueParam}/concurrency/override","href":"/management/queues/concurrency-override"},{"title":"Reset Concurrency Limit","openapi":"v3-openapi POST /api/v1/queues/{queueParam}/concurrency/reset","href":"/management/queues/concurrency-reset"}]},{"group":"Concurrency limits API","pages":[{"title":"List Concurrency Limits","openapi":"v3-openapi GET /api/v1/concurrency-limits","href":"/management/concurrency-limits/list"},{"title":"Retrieve Concurrency Limit","openapi":"v3-openapi GET /api/v1/concurrency-limits/{name}","href":"/management/concurrency-limits/retrieve"},{"title":"Pause or Resume Concurrency Limit","openapi":"v3-openapi POST /api/v1/concurrency-limits/{name}/pause","href":"/management/concurrency-limits/pause"},{"title":"Override Concurrency Limit","openapi":"v3-openapi POST /api/v1/concurrency-limits/{name}/override","href":"/management/concurrency-limits/override"},{"title":"Reset Concurrency Limit","openapi":"v3-openapi POST /api/v1/concurrency-limits/{name}/reset","href":"/management/concurrency-limits/reset"}]},{"group":"Schedules API","pages":[{"title":"List Schedules","openapi":"v3-openapi GET /api/v1/schedules","href":"/management/schedules/list"},{"title":"Create Schedule","openapi":"v3-openapi POST /api/v1/schedules","href":"/management/schedules/create"},{"title":"Retrieve Schedule","openapi":"v3-openapi GET /api/v1/schedules/{schedule_id}","href":"/management/schedules/retrieve"},{"title":"Update Schedule","openapi":"v3-openapi PUT /api/v1/schedules/{schedule_id}","href":"/management/schedules/update"},{"title":"Delete Schedule","openapi":"v3-openapi DELETE /api/v1/schedules/{schedule_id}","href":"/management/schedules/delete"},{"title":"Deactivate Schedule","openapi":"v3-openapi POST /api/v1/schedules/{schedule_id}/deactivate","href":"/management/schedules/deactivate"},{"title":"Activate Schedule","openapi":"v3-openapi POST /api/v1/schedules/{schedule_id}/activate","href":"/management/schedules/activate"},{"title":"Get timezones","openapi":"v3-openapi GET /api/v1/timezones","href":"/management/schedules/timezones"}]},{"group":"Env Vars API","pages":[{"title":"List Env Vars","openapi":"v3-openapi GET /api/v1/projects/{projectRef}/envvars/{env}","href":"/management/envvars/list"},{"title":"Import Env Vars","openapi":"v3-openapi POST /api/v1/projects/{projectRef}/envvars/{env}/import","href":"/management/envvars/import"},{"title":"Create Env Var","openapi":"v3-openapi POST /api/v1/projects/{projectRef}/envvars/{env}","href":"/management/envvars/create"},{"title":"Retrieve Env Var","openapi":"v3-openapi GET /api/v1/projects/{projectRef}/envvars/{env}/{name}","href":"/management/envvars/retrieve"},{"title":"Update Env Var","openapi":"v3-openapi PUT /api/v1/projects/{projectRef}/envvars/{env}/{name}","href":"/management/envvars/update"},{"title":"Delete Env Var","openapi":"v3-openapi DELETE /api/v1/projects/{projectRef}/envvars/{env}/{name}","href":"/management/envvars/delete"}]},{"group":"Deployments API","pages":[{"title":"List deployments","openapi":"v3-openapi GET /api/v1/deployments","href":"/management/deployments/list"},{"title":"Get deployment","openapi":"v3-openapi GET /api/v1/deployments/{deploymentId}","href":"/management/deployments/retrieve"},{"title":"Get latest deployment","openapi":"v3-openapi GET /api/v1/deployments/latest","href":"/management/deployments/get-latest"},{"title":"Promote deployment","openapi":"v3-openapi POST /api/v1/deployments/{version}/promote","href":"/management/deployments/promote"}]},{"group":"Waitpoints API","pages":[{"title":"Create a waitpoint token","openapi":"v3-openapi POST /api/v1/waitpoints/tokens","href":"/management/waitpoints/create"},{"title":"List waitpoint tokens","openapi":"v3-openapi GET /api/v1/waitpoints/tokens","href":"/management/waitpoints/list"},{"title":"Retrieve a waitpoint token","openapi":"v3-openapi GET /api/v1/waitpoints/tokens/{waitpointId}","href":"/management/waitpoints/retrieve"},{"title":"Complete a waitpoint token","openapi":"v3-openapi POST /api/v1/waitpoints/tokens/{waitpointId}/complete","href":"/management/waitpoints/complete"},{"title":"Complete a waitpoint token via HTTP callback","openapi":"v3-openapi POST /api/v1/waitpoints/tokens/{waitpointId}/callback/{callbackHash}","href":"/management/waitpoints/complete-callback"}]},{"group":"Sessions API","pages":[{"title":"Create session","openapi":"v3-openapi POST /api/v1/sessions","href":"/management/sessions/create"},{"title":"List sessions","openapi":"v3-openapi GET /api/v1/sessions","href":"/management/sessions/list"},{"title":"Retrieve session","openapi":"v3-openapi GET /api/v1/sessions/{session}","href":"/management/sessions/retrieve"},{"title":"Update session","openapi":"v3-openapi PATCH /api/v1/sessions/{session}","href":"/management/sessions/update"},{"title":"Close session","openapi":"v3-openapi POST /api/v1/sessions/{session}/close","href":"/management/sessions/close"},{"title":"Session channels","sidebarTitle":"Channels","href":"/management/sessions/channels"}]},{"group":"Query API","pages":[{"title":"Execute a query","openapi":"v3-openapi POST /api/v1/query","href":"/management/query/execute"},{"title":"Get query schema","openapi":"v3-openapi GET /api/v1/query/schema","href":"/management/query/schema"},{"title":"List dashboards","openapi":"v3-openapi GET /api/v1/query/dashboards","href":"/management/query/dashboards"},{"title":"Create dashboard","openapi":"v3-openapi POST /api/v1/query/dashboards","href":"/management/query/create-dashboard"},{"title":"Retrieve dashboard","openapi":"v3-openapi GET /api/v1/query/dashboards/{dashboardId}","href":"/management/query/retrieve-dashboard"},{"title":"Update dashboard","openapi":"v3-openapi PATCH /api/v1/query/dashboards/{dashboardId}","href":"/management/query/update-dashboard"},{"title":"Replace dashboard widgets","openapi":"v3-openapi PUT /api/v1/query/dashboards/{dashboardId}","href":"/management/query/replace-dashboard"},{"title":"Delete dashboard","openapi":"v3-openapi DELETE /api/v1/query/dashboards/{dashboardId}","href":"/management/query/delete-dashboard"},{"title":"Add dashboard widget","openapi":"v3-openapi POST /api/v1/query/dashboards/{dashboardId}/widgets","href":"/management/query/add-dashboard-widget"},{"title":"Update dashboard widget","openapi":"v3-openapi PATCH /api/v1/query/dashboards/{dashboardId}/widgets/{widgetId}","href":"/management/query/update-dashboard-widget"},{"title":"Delete dashboard widget","openapi":"v3-openapi DELETE /api/v1/query/dashboards/{dashboardId}/widgets/{widgetId}","href":"/management/query/delete-dashboard-widget"}]}]},{"dropdown":"Guides \u0026 examples","icon":"books","description":"A great way to get started","groups":[{"group":"Introduction","pages":[{"title":"Frameworks, guides and examples","sidebarTitle":"Overview","mode":"center","href":"/guides/introduction"}]},{"group":"Frameworks","pages":[{"title":"Bun guide","sidebarTitle":"Bun","icon":"js","href":"/guides/frameworks/bun"},{"title":"Next.js setup guide","sidebarTitle":"Next.js","icon":"N","href":"/guides/frameworks/nextjs"},{"title":"Node.js setup guide","sidebarTitle":"Node.js","icon":"node-js","href":"/guides/frameworks/nodejs"},{"title":"Remix setup guide","sidebarTitle":"Remix","icon":"r","href":"/guides/frameworks/remix"},{"title":"SvelteKit setup guide","sidebarTitle":"SvelteKit","icon":"s","href":"/guides/community/sveltekit"}]},{"group":"Guides","pages":[{"group":"AI Agents","icon":{"style":"regular","name":"microchip-ai"},"pages":[{"title":"AI agents overview","sidebarTitle":"Overview","href":"/guides/ai-agents/overview"},{"title":"Build a chat agent","sidebarTitle":"Chat agent","href":"/guides/ai-agents/chat-agent"},{"title":"Generate and translate copy","sidebarTitle":"Generate \u0026 translate copy","href":"/guides/ai-agents/generate-translate-copy"},{"title":"Route a question to a different AI model","sidebarTitle":"Route a question","href":"/guides/ai-agents/route-question"},{"title":"Respond to customer inquiry and check for inappropriate content","sidebarTitle":"Respond \u0026 check content","href":"/guides/ai-agents/respond-and-check-content"},{"title":"Translate text and refine it based on feedback","sidebarTitle":"Translate and refine","href":"/guides/ai-agents/translate-and-refine"},{"title":"Verify a news article","sidebarTitle":"Verify news article","href":"/guides/ai-agents/verify-news-article"}]},{"title":"Claude Agent SDK setup guide","sidebarTitle":"Claude Agent SDK","icon":"sparkles","href":"/guides/ai-agents/claude-code-trigger"},{"title":"Drizzle setup guide","sidebarTitle":"Drizzle setup guide","icon":"D","href":"/guides/frameworks/drizzle"},{"title":"Prisma setup guide","sidebarTitle":"Prisma setup guide","icon":"Triangle","href":"/guides/frameworks/prisma"},{"title":"Nango OAuth with Trigger.dev","sidebarTitle":"Nango OAuth guide","icon":"key","href":"/guides/frameworks/nango"},{"title":"Sequin database triggers","sidebarTitle":"Sequin database triggers","icon":"database","href":"/guides/frameworks/sequin"},{"group":"Supabase","icon":{"style":"solid","name":"bolt"},"pages":[{"title":"Supabase overview","sidebarTitle":"Overview","href":"/guides/frameworks/supabase-guides-overview"},{"title":"Triggering tasks from Supabase edge functions","sidebarTitle":"Edge function hello world","href":"/guides/frameworks/supabase-edge-functions-basic"},{"title":"Triggering tasks from Supabase Database Webhooks","sidebarTitle":"Database webhooks","href":"/guides/frameworks/supabase-edge-functions-database-webhooks"},{"title":"Authenticating Supabase tasks: JWTs and service roles","sidebarTitle":"Supabase authentication","href":"/guides/frameworks/supabase-authentication"}]},{"group":"Webhooks","icon":{"style":"solid","name":"webhook"},"pages":[{"title":"Using webhooks with Trigger.dev","sidebarTitle":"Overview","href":"/guides/frameworks/webhooks-guides-overview"},{"title":"Triggering tasks with webhooks in Next.js","sidebarTitle":"Next.js webhooks","href":"/guides/frameworks/nextjs-webhooks"},{"title":"Triggering tasks with webhooks in Remix","sidebarTitle":"Remix webhooks","href":"/guides/frameworks/remix-webhooks"},{"title":"Trigger a task from Stripe webhook events","sidebarTitle":"Stripe webhooks","href":"/guides/examples/stripe-webhook"},{"title":"Trigger tasks from Hookdeck webhooks","sidebarTitle":"Hookdeck webhooks","href":"/guides/examples/hookdeck-webhook"}]}]},{"group":"Migration guides","pages":[{"title":"Migrating from Mergent","sidebarTitle":"Migrating from Mergent","href":"/migration-mergent"},{"title":"Migrating from n8n","sidebarTitle":"Migrating from n8n","href":"/migration-n8n"}]},{"group":"Use cases","pages":[{"title":"Use cases","sidebarTitle":"Overview","href":"/guides/use-cases/overview"},{"title":"Data processing \u0026 ETL workflows","sidebarTitle":"Data processing \u0026 ETL","href":"/guides/use-cases/data-processing-etl"},{"title":"AI media generation workflows","sidebarTitle":"AI media generation","href":"/guides/use-cases/media-generation"},{"title":"Media processing workflows","sidebarTitle":"Media processing","href":"/guides/use-cases/media-processing"},{"title":"Marketing workflows","sidebarTitle":"Marketing","href":"/guides/use-cases/marketing"}]},{"group":"Example projects","pages":[{"title":"Automated website monitoring with Anchor Browser","sidebarTitle":"Anchor Browser web scraper","href":"/guides/example-projects/anchor-browser-web-scraper"},{"title":"Ask Trigger chat agent","sidebarTitle":"Ask Trigger chat agent","href":"/guides/example-projects/ask-trigger-chat-agent"},{"title":"Next.js Batch LLM Evaluator","sidebarTitle":"Batch LLM Evaluator","href":"/guides/example-projects/batch-llm-evaluator"},{"title":"Changelog generator using Claude Agent SDK","sidebarTitle":"Claude changelog generator","href":"/guides/example-projects/claude-changelog-generator"},{"title":"Claude GitHub wiki","sidebarTitle":"Claude GitHub wiki","href":"/guides/example-projects/claude-github-wiki"},{"title":"Claude 3.7 thinking chatbot","sidebarTitle":"Claude thinking chatbot","href":"/guides/example-projects/claude-thinking-chatbot"},{"title":"ClickHouse chat agent","sidebarTitle":"ClickHouse chat agent","href":"/guides/example-projects/clickhouse-chat-agent"},{"title":"Background Cursor agent using the Cursor CLI","sidebarTitle":"Cursor background agent","href":"/guides/example-projects/cursor-background-agent"},{"title":"ElevenLabs Voice agent","sidebarTitle":"ElevenLabs Voice agent","href":"/guides/example-projects/elevenlabs-voice-agent"},{"title":"Grok AI Teammates: chat agents with their own cloud computer","sidebarTitle":"Grok AI Teammates","href":"/guides/example-projects/grok-ai-teammates"},{"title":"Human-in-the-loop workflow with ReactFlow and Trigger.dev waitpoint tokens","sidebarTitle":"Human-in-the-loop workflow","href":"/guides/example-projects/human-in-the-loop-workflow"},{"title":"Mastra agents with memory sharing + Trigger.dev task orchestration","sidebarTitle":"Mastra agents with memory","href":"/guides/example-projects/mastra-agents-with-memory"},{"title":"Meme generator with human-in-the-loop approval","sidebarTitle":"AI meme generator","href":"/guides/example-projects/meme-generator-human-in-the-loop"},{"title":"OpenAI Agents SDK for Typescript + Trigger.dev playground","sidebarTitle":"OpenAI Agents SDK for Typescript playground","href":"/guides/example-projects/openai-agents-sdk-typescript-playground"},{"title":"Product image generator using Replicate and Trigger.dev","sidebarTitle":"Product image generator","href":"/guides/example-projects/product-image-generator"},{"title":"Next.js Realtime CSV Importer","sidebarTitle":"Realtime CSV Importer","href":"/guides/example-projects/realtime-csv-importer"},{"title":"Image generation with Fal.ai and Trigger.dev Realtime","sidebarTitle":"Realtime image gen with Fal.ai","href":"/guides/example-projects/realtime-fal-ai"},{"title":"Smart Spreadsheet","sidebarTitle":"Smart Spreadsheet","href":"/guides/example-projects/smart-spreadsheet"},{"title":"Turborepo monorepo with Prisma","sidebarTitle":"Turborepo monorepo with Prisma","href":"/guides/example-projects/turborepo-monorepo-prisma"},{"title":"Deep research agent using Vercel's AI SDK","sidebarTitle":"Deep research agent","href":"/guides/example-projects/vercel-ai-sdk-deep-research"},{"title":"Vercel AI SDK image generator","sidebarTitle":"Vercel AI SDK image generator","href":"/guides/example-projects/vercel-ai-sdk-image-generator"}]},{"group":"Python guides","pages":[{"title":"OpenAI Agents SDK for Python guardrails","sidebarTitle":"OpenAI Agents SDK for Python guardrails","href":"/guides/example-projects/openai-agent-sdk-guardrails"},{"title":"Python image processing example","sidebarTitle":"Process images","href":"/guides/python/python-image-processing"},{"title":"Convert documents to markdown using Python and MarkItDown","sidebarTitle":"Convert docs to markdown","href":"/guides/python/python-doc-to-markdown"},{"title":"Python headless browser web crawler example","sidebarTitle":"Headless web crawler","href":"/guides/python/python-crawl4ai"},{"title":"Python PDF form extractor example","sidebarTitle":"Extract form data from PDFs","href":"/guides/python/python-pdf-form-extractor"}]},{"group":"Example tasks","pages":[{"title":"Generate an image using DALL·E 3","sidebarTitle":"DALL·E image generation","href":"/guides/examples/dall-e3-generate-image"},{"title":"Transcribe audio using Deepgram","sidebarTitle":"Deepgram audio transcription","href":"/guides/examples/deepgram-transcribe-audio"},{"title":"Convert an image to a cartoon using Fal.ai","sidebarTitle":"Fal.ai image to cartoon","href":"/guides/examples/fal-ai-image-to-cartoon"},{"title":"Generate an image from a prompt using Fal.ai and Trigger.dev Realtime","sidebarTitle":"Fal.ai with Realtime","href":"/guides/examples/fal-ai-realtime"},{"title":"Video processing with FFmpeg","sidebarTitle":"FFmpeg video processing","href":"/guides/examples/ffmpeg-video-processing"},{"title":"Crawl a URL using Firecrawl","sidebarTitle":"Firecrawl URL crawl","href":"/guides/examples/firecrawl-url-crawl"},{"title":"Lightpanda examples with Trigger.dev","sidebarTitle":"Lightpanda","tag":"v4","href":"/guides/examples/lightpanda"},{"title":"Convert documents to PDF using LibreOffice","sidebarTitle":"LibreOffice PDF conversion","href":"/guides/examples/libreoffice-pdf-conversion"},{"title":"Call OpenAI with retrying","sidebarTitle":"OpenAI with retrying","href":"/guides/examples/open-ai-with-retrying"},{"title":"Turn a PDF into an image using MuPDF","sidebarTitle":"PDF to image","href":"/guides/examples/pdf-to-image"},{"title":"Connect to a private GCP resource from a deployed task","sidebarTitle":"Private GCP resource","href":"/guides/examples/private-gcp-resource"},{"title":"Puppeteer examples with Trigger.dev","sidebarTitle":"Puppeteer","href":"/guides/examples/puppeteer"},{"title":"Generate a PDF using react-pdf and save it to R2","sidebarTitle":"React to PDF","href":"/guides/examples/react-pdf"},{"title":"Send emails using React Email","sidebarTitle":"React Email","href":"/guides/examples/react-email"},{"title":"Image-to-image generation using Replicate and nano-banana","sidebarTitle":"Replicate image generation","href":"/guides/examples/replicate-image-generation"},{"title":"Send a sequence of emails using Resend","sidebarTitle":"Resend email sequence","href":"/guides/examples/resend-email-sequence"},{"title":"Generate OG Images using Satori","sidebarTitle":"Satori OG Images","href":"/guides/examples/satori"},{"title":"Scrape the top 3 articles from Hacker News and email yourself a summary every weekday","sidebarTitle":"Browserbase \u0026 Puppeteer","href":"/guides/examples/scrape-hacker-news"},{"title":"Track errors with Sentry","sidebarTitle":"Sentry error tracking","href":"/guides/examples/sentry-error-tracking"},{"title":"Process images using Sharp","sidebarTitle":"Sharp image processing","href":"/guides/examples/sharp-image-processing"},{"title":"Supabase database operations using Trigger.dev","sidebarTitle":"Supabase database operations","href":"/guides/examples/supabase-database-operations"},{"title":"Uploading files to Supabase Storage","sidebarTitle":"Supabase Storage upload","href":"/guides/examples/supabase-storage-upload"},{"title":"Using the Vercel AI SDK","sidebarTitle":"Vercel AI SDK","href":"/guides/examples/vercel-ai-sdk"},{"title":"Syncing environment variables from your Vercel projects","sidebarTitle":"Vercel sync env vars","href":"/guides/examples/vercel-sync-env-vars"}]},{"group":"Community packages","pages":[{"title":"dotenvx","sidebarTitle":"dotenvx","icon":"square-e","href":"/guides/community/dotenvx"},{"title":"Fatima","sidebarTitle":"Fatima","description":"A Fatima package for Trigger.dev.","icon":"f","href":"/guides/community/fatima"},{"title":"Rate limiter","sidebarTitle":"Rate limiter","icon":"gauge-simple-low","href":"/guides/community/rate-limiter"},{"title":"SvelteKit setup guide","sidebarTitle":"SvelteKit","description":"A plugin for SvelteKit to integrate with Trigger.dev.","icon":"s","href":"/guides/community/sveltekit"}]}]}]},"title":"Rate limiter - Trigger.dev","buildId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","deploymentId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","dynamics":[],"chunks":[]}