Skip to main content
Subscribe to runs from your server-side code or other tasks using async iterators. Get status updates, metadata changes, and streamed data without polling.

What’s available

CategoryWhat it doesGuide
Run updatesSubscribe to run status, metadata, and tag changesRun updates
StreamingRead AI output, file chunks, or any continuous data from tasksStreaming
To learn how to emit streams from your tasks, see Streaming data from tasks.

Authentication

All backend functions support both server-side and client-side authentication:
  • Server-side: Use your API key (automatically handled in tasks)
  • Client-side: Generate a Public Access Token with appropriate scopes
See our authentication guide for detailed information on creating and using tokens.

Quick example

Subscribe to a run:
import { runs, tasks } from "@trigger.dev/sdk";

// Trigger a task
const handle = await tasks.trigger("my-task", { some: "data" });

// Subscribe to real-time updates
for await (const run of runs.subscribeToRun(handle.id)) {
  console.log(`Run ${run.id} status: ${run.status}`);
}