Upstash Workflow Js
Work with the @upstash/workflow TypeScript/JavaScript SDK for durable, long-running workflows in…
by upstash · MIT
The skill
Work with the @upstash/workflow TypeScript/JavaScript SDK for durable, long-running workflows in serverless functions, multi-step processes that survive timeouts, retries, and restarts (built on QStash). Use when defining a workflow endpoint with serve(), running steps with context.run, sleeping for minutes to days without holding a function open, calling external APIs with context.call, waiting for an external event or webhook, invoking other workflows, configuring retries, failure callbacks, and a DLQ, controlling concurrency, rate, and parallelism, triggering, cancelling, or inspecting runs with the Workflow client, building AI agents and orchestrators, human-in-the-loop approvals, realtime updates, local development with the QStash dev server, adding middleware, or migrating workflows safely. Also use when the user asks for durable execution, step functions, saga or orchestration patterns, background jobs with checkpoints, or long-running tasks on Vercel, Next.js, Cloudflare Workers, or other serverless p
Upstash Workflow SDK
Quick Start
The Upstash Workflow SDK lets you expose serverless workflow endpoints and run them reliably using QStash under the hood.
Install:
npm install @upstash/workflow
Define a simple workflow endpoint:
import { serve } from "@upstash/workflow";
export const { POST } = serve(async (context) => {
await context.run("step-1", () => console.log("step 1"));
await context.run("step-2", () => console.log("step 2"));
});
Trigger it from your backend:
import { Client } from "@upstash/workflow";
const client = new Client({ token: process.env.QSTASH_TOKEN! });
await client.trigger({ url: "https://your-app.com/api/workflow" });
Other Skill Files
These files contain the full documentation. Use them for details, patterns, and advanced behavior.
- basics:
- basics/serve – How to expose workflow endpoints.
- basics/context – Full API for workflow
context(steps, waits, webhooks, events, invoke, etc.). - basics/client – Using the Workflow client to trigger, cancel, inspect, and notify runs.
- features:
- features/invoke – Cross‑workflow invocation.
- features/reliability – Retries, failure callbacks, and DLQ.
- features/flow-control – Rate limits, concurrency, and parallelism.
- features/wait-for-event – Notify and wait-for-event patterns.
- features/webhooks – Webhook creation and consumption.
- how to:
- how-to/local-dev – Local QStash dev server (auto via
QSTASH_DEV=true) and tunneling. - how-to/realtime – Realtime and human‑in‑the‑loop workflows.
- how-to/migrations – Migrating workflows safely.
- how-to/middleware – Adding middleware to workflows.
- how-to/local-dev – Local QStash dev server (auto via
- other files:
- rest-api – Low-level REST endpoints for interacting with QStash/Workflow.
- troubleshooting – Common debugging and environment issues.
- agents – Using Workflow with agents, orchestrators, and automation patterns.
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: upstash/upstash-workflow-js-26835243894.
Details
- Publisher
- upstash
- Category
- Software Development › APIs & backend
- License
- MIT
- Updated
- 2026-10-19
References
More from upstash
- Upstash Blob Js Work with the @upstash/blob TypeScript/JavaScript SDK for S3-compatible object storage with direc…
- Upstash Box Cli Drive an Upstash Box (a remote sandboxed workspace) from the terminal with the `box` CLI.
- Upstash Box Js Work with the @upstash/box TypeScript/JavaScript SDK for sandboxed cloud containers with AI agent…
- Upstash Box Py Work with the upstash-box Python SDK for sandboxed cloud containers with AI agents, shell, filesy…