
upstash-workflow-js
✓ Official★ 149by upstash · part of upstash/workflow-js
Lightweight guidance for using the Upstash Workflow SDK to define, trigger, and manage workflows. Use this Skill whenever a user wants to create workflow endpoints, run steps, or interact with the Upstash Workflow client.
This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.
Upstash Workflow SDK
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 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.
- 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.
npx skills add https://github.com/upstash/workflow-js --skill upstash-workflow-jsRun this in your project — your agent picks the skill up automatically.
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/workflowDefine 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" });No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MIT— you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub →