In Review
181Under consideration
Self-hosted workers
You can fully self-host Trigger.dev. This is a really good option in lots of situations if you’re experienced with setting up and managing infrastructure. Another option would be if we offered self-hosted workers. You would host them inside your own cloud account (or on-prem) and they would connect to the Trigger.dev cloud. The pricing model for this is TBD, but it would probably be a combination of a cost per connected worker server and an invocation cost that is higher than the managed worker one.
CPU and Memory graphs on the run page
It’s currently difficult to diagnose performance issues. It would be useful to have graphs on the run page. This would also make it possible to find memory leaks. Currently you have to use Node functions to log out the memory: const memory = process.memoryUsage(); logger.log(“Memory usage”, memory);
Event triggers
Please reintroduce the events feature in V3, similar to what was available in V2. Trigger with an event name and payload A task can subscribe to a named event with a filter (it will only create a run if the filter matches) A single event can trigger many tasks if it matches many
Full Python support
This feature will follow on from our Python extension to allow full Python support in Trigger.dev.
CPU and memory optimised machines
Currently all our machines are evenly balanced between CPU or RAM (or some of them have double the RAM than vCPU). We could add a set of CPU-optimized machines (e.g. 1vCPU + 0.25GB RAM) and memory optimized machines (e.g. 0.25vCPU + 1GB RAM). What do people think? What combos would be useful?
E2E and unit testing utilities
Would be cool to unit test: have a way to unit test specific tasks and mock other other tasks (that are used within the tested task) e2e test: have a way to spin up a instance for e2e tests locally (programmatically for jest/bun testing) and tear it down after tests ran
Asia worker region
Workers in Asia will reduce the latency when accessing your regional resources from your tasks.
Run Trigger.dev in dev mode offline
Trigger.dev currently does not support “offline” dev mode, where you can run tasks without an internet connection. Please let us know if this is a feature you want/need. This would be great to have, and would compliment a Supabase/Next.js stack nicely. I am online 99% of the time but it would be great to develop fully locally in that last 1% where I’m at an airport or in a cafe with bad wifi.
Filter runs by payload value
I recently tried to find a run by filtering on a value of the payload but I couldn’t figure out how. It would be great to be able to do something like “get be runs where task = X and payload.customerId = Y”
Simple support for Observability tools (e.g. Sentry, DataDog, Axiom, etc)
These tools typically require code to be inserted extremely early in the code execution order because they automatically instrument other modules. It might be technically possible to write an ESBuild plugin that works with Trigger.dev (we support those via extensions) but it won’t be trivial. We should add an easy way to use these tools.
Planned
3Committed and queued
Rate Limiting / throttling
We currently support setting a concurrencyLimit on a task, or on a queue that you create. This can also be used with a concurrencyKey to have per-user queues: https://trigger.dev/docs/queue-concurrency Sometimes instead of concurrency you want to limit using a rate. For example, 10/minute, 1/second. This is especially useful when using APIs that have rate limits. We should support this with a per-tenant key like we do for concurrency.
Simulate CPU and Memory Limits on Dev Environments
OIDC support
Add OpenID Connect (OIDC) support so Trigger.dev jobs can obtain short-lived, workload-scoped credentials from cloud providers and secret managers at runtime, instead of relying on long-lived static secrets. This enables securely pulling secrets (e.g. from AWS, GCP, Azure, Vault) using identity-based access tied to the job or environment, reducing secret sprawl, simplifying rotation, and improving security posture for production workloads.
In Progress
3Actively being built
Incoming webhook trigger
In the dashboard you each task would have a URL for each of your environments. Then you can use this URL in 3rd party products. Any data in the body of the request to that URL would come through to the task as the payload.
Make cold starts faster
When you trigger a prod or staging run in the Trigger.dev cloud it takes 3 seconds on average for the machine to start up and your code to start executing. This same slowness happens when a run resumes, like after using wait.for if the delay is above a threshold when we shut the machine down. They take this long because we're using Kubernetes for our cluster and a new pod takes a while to come up. We're switching to using MicroVMs for the cloud machines. Our target is to get the p95 for starts and resumes to under 500ms.
Retry failed deployments from dashboard
Currently, if a deployment fails, you need to push a new commit or re-run the deploy command to retry. It would be helpful to have a "Retry" button in the dashboard for failed deployments. Use case: When a deployment fails due to transient issues (network, build server, etc.), users should be able to retry without making code changes or pushing empty commits
Completed
65Recently shipped
Vercel integration
Right now you can have a great experience with Trigger.dev and Vercel by using our Preview branches and our syncVercelEnvVars extension. — An official Vercel integration would do those two things but with less setup: Sync environment variables from Vercel to Trigger.dev. Create preview branches on Trigger.dev.
Realtime notifications
Easily get realtime data from your task runs to your frontend (or backend). This would include basic stuff: Run status Run payload Run output But also more advanced use cases: Being able to send structured (and typed) data from inside your run functions to your frontend. Being able to stream data from inside your run function to your frontend. Being able to send React Server Components from your run function to you frontend. Maybe. We're trying to figure out if this is possible.
Static IP addresses
To access some databases, and other services, you need to provide them with an IP whitelist. For this to work well we need to have static IPs, potentially a per customer IP address.
Wait for token
Inside your run function it would be useful to be able to pause execution until something external has happened. We had a feature called "wait for event" in v2 that allowed you to do this. You could then send an event from your own code and the run would continue where it left off. An example might be for an application process where the application needs to go through an approval step e.g. an AML check. There would be a timeout of how long it would wait, with a default.
Delete a v3 project
At the moment you can't delete a v3 project. You can rename them from "Project settings", but they can't be deleted.
VPC peering
Currently, if your database of some of your services are not accessible to the public internet you can’t access them inside your Trigger.dev tasks (unless you self-host the entire platform). There are many ways we could solve this. One obvious solution is for us to provide a Bridge Connector that you can run inside your cluster and it would only allow access from your Trigger.dev tasks. We use a tool like this to access our restricted database outside of AWS. It would be very useful if you can share the kind of private resources you need to use in Trigger.dev and what solutions you would be happy with!
HIPAA compliance
Support log drains
Support for logs to be sent from Trigger.dev to 1+ other destinations. We would probably start with an HTTP POST request with a JSON body, similar to how Supabase do this.
Support more than 100 items in `batchTrigger` at once
You can only provide 100 items in batchTrigger and batchTriggerAndWait at the moment. if you want to batch more items than this you need to call it multiple times, creating more than one batch. We should add a way to create larger batches. It would involve multiple API calls and we'd probably want to make that explicit. For example, you would create a batch, add items to it and then finalize it.
Isolated dev sessions for multiple local trigger dev instances
Right now, multiple trigger dev instances for the same project share one queue, so any instance can run any task and they end up “stealing” each other’s work. The ask is to support something like preview branches, but for the dev environment: separate dev sessions (e.g. a session id or “dev branch”) so each local instance only runs tasks triggered from that same session. That would let you run several work trees or app copies in parallel (e.g. with Codex/Claude) without tasks from one ending up running in another.