Documentation Index

Fetch the complete documentation index at: /docs/llms.txt

Use this file to discover all available pages before exploring further.

Skip to main content
The global configure() API binds the SDK to one set of credentials per process. When a single process needs to talk to more than one Trigger.dev project, environment, or preview branch, use new TriggerClient({...}) for each target instead. Each instance owns its own auth, baseURL, and preview branch, and concurrent calls across instances stay isolated.
import { TriggerClient } from "@trigger.dev/sdk";

const prod = new TriggerClient({ accessToken: process.env.TRIGGER_PROD_KEY });
const preview = new TriggerClient({
  accessToken: process.env.TRIGGER_PREVIEW_KEY,
  previewBranch: "signup-flow",
});

const payload = { to: "user@example.com" };
await prod.tasks.trigger("send-email", payload);
await preview.runs.list({ status: ["COMPLETED"] });

Configuration

TriggerClient accepts the same fields as configure():
FieldDescriptionEnv-var fallback
accessTokenSecret key (tr_dev_*, tr_prod_*, tr_preview_*) or personal access token (tr_pat_*).TRIGGER_SECRET_KEY, then TRIGGER_ACCESS_TOKEN
previewBranchPreview branch name when using a tr_preview_* key.TRIGGER_PREVIEW_BRANCH, then VERCEL_GIT_COMMIT_REF
baseURLOverride the Trigger.dev API URL. Defaults to https://api.trigger.dev.TRIGGER_API_URL
requestOptionsRequest-level options (retry policy, additional headers, etc.) — see the ApiRequestOptions type.
Fields not passed to the constructor fall back to the matching env var (and then to a sensible default for baseURL). Explicit constructor values always win, so you can mix env-var-backed clients and fully explicit clients in the same process.
// Picks up TRIGGER_SECRET_KEY / TRIGGER_PREVIEW_BRANCH from env.
const fromEnv = new TriggerClient();

// Explicit values override env entirely.
const explicit = new TriggerClient({
  accessToken: process.env.OTHER_PROJECT_KEY,
  previewBranch: "feature-x",
});
If no accessToken resolves from either the constructor or env vars, the first API call throws an ApiClientMissingError with a clear message.

What’s on a TriggerClient instance

Each instance exposes the management surface as namespaced properties: tasks, runs, batch, schedules, envvars, queues, deployments, prompts, and auth.
import type { emailTask } from "./trigger/email";

const client = new TriggerClient();

await client.tasks.trigger<typeof emailTask>("send-email", { to: "user@example.com" });
await client.runs.list({ status: ["COMPLETED"], limit: 10 });
await client.schedules.create({ task: "daily-report", cron: "0 9 * * *" });
await client.envvars.update("proj_1234", "preview", "DATABASE_URL", { value: "..." });
Methods that only make sense inside a running task are not on the instance surface: tasks.triggerAndWait, tasks.batchTriggerAndWait, tasks.triggerAndSubscribe, batch.triggerAndWait, batch.triggerByTaskAndWait, and the task-definition helpers (schedules.task, prompts.define).

Isolation contract

When you make a call through a TriggerClient instance, the SDK does not look at the process-wide global config, env vars (other than the constructor-time fallback), or the ambient task context. Two instances pointing at different projects can run in the same process — including in parallel under Promise.all — without interfering with each other. That isolation also means a call from inside a task does not automatically inherit the surrounding task’s parentRunId, lockToVersion, or test flag. If you specifically want a call to inherit those (rare — usually you want a clean external trigger), opt in with inheritContext: true:
const sameProject = new TriggerClient({
  accessToken: process.env.TRIGGER_SECRET_KEY,
  inheritContext: true,
});

When to use what

ScenarioRecommended
Single process, single project/envconfigure() (or env vars only)
Single process talking to multiple projects, envs, or branchesnew TriggerClient({...}) per target
Short, sequential override (e.g. one batch under a different token)auth.withAuth(config, fn)
Inside a task, trigger a run in a different projectnew TriggerClient({...})
See Authentication for the underlying token types and the auth.withAuth helper.
Assistant
Responses are generated using AI and may contain mistakes.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.