# Upstash Workflow > Durable, reliable serverless functions with retries and scheduling. Every Upstash Workflow page, grouped by sidebar section. Links point to the Markdown version of each page; drop the `.md` suffix for HTML. The index of all Upstash docs is https://upstash.com/docs/llms.txt. Search them with GET https://upstash.com/docs/search?q=. ## Getting Started - [Upstash Workflow](https://upstash.com/docs/workflow.md): Durable, reliable serverless functions with retries and scheduling. - [Overview](https://upstash.com/docs/workflow/getstarted.md) - [How Workflow Works](https://upstash.com/docs/workflow/basics/how.md) - [Caveats](https://upstash.com/docs/workflow/basics/caveats.md) ## Getting Started > Quickstarts - [Supported Platforms](https://upstash.com/docs/workflow/quickstarts/platforms.md) ## Getting Started > Quickstarts > TypeScript - [Next.js](https://upstash.com/docs/workflow/quickstarts/vercel-nextjs.md) - [Cloudflare Workers](https://upstash.com/docs/workflow/quickstarts/cloudflare-workers.md) - [Nuxt](https://upstash.com/docs/workflow/quickstarts/nuxt.md) - [SolidJS](https://upstash.com/docs/workflow/quickstarts/solidjs.md) - [SvelteKit](https://upstash.com/docs/workflow/quickstarts/svelte.md) - [Hono](https://upstash.com/docs/workflow/quickstarts/hono.md) - [Express.js](https://upstash.com/docs/workflow/quickstarts/express.md) - [Astro](https://upstash.com/docs/workflow/quickstarts/astro.md) - [TanStack Start](https://upstash.com/docs/workflow/quickstarts/tanstack-start.md) ## Getting Started > Quickstarts > Python - [FastAPI](https://upstash.com/docs/workflow/quickstarts/fastapi.md) - [Next.js & FastAPI](https://upstash.com/docs/workflow/quickstarts/nextjs-fastapi.md) - [Flask](https://upstash.com/docs/workflow/quickstarts/flask.md) - [Next.js & Flask](https://upstash.com/docs/workflow/quickstarts/nextjs-flask.md) ## Core Concepts > Create Workflow Endpoint - [Overview](https://upstash.com/docs/workflow/basics/serve.md) - [Advanced Options](https://upstash.com/docs/workflow/basics/serve/advanced.md) ## Core Concepts > Local Development - [Development Server](https://upstash.com/docs/workflow/howto/local-development/development-server.md) - [Local Tunnel](https://upstash.com/docs/workflow/howto/local-development/local-tunnel.md) ## Core Concepts > Steps - [Overview](https://upstash.com/docs/workflow/steps.md) - [context.run](https://upstash.com/docs/workflow/steps/run.md) - [context.sleep](https://upstash.com/docs/workflow/steps/sleep.md) - [context.sleepUntil](https://upstash.com/docs/workflow/steps/sleepUntil.md) - [context.call](https://upstash.com/docs/workflow/steps/call.md) - [context.waitForEvent](https://upstash.com/docs/workflow/steps/waitForEvent.md) - [context.createWebhook](https://upstash.com/docs/workflow/steps/createWebhook.md) - [context.waitForWebhook](https://upstash.com/docs/workflow/steps/waitForWebhook.md) - [context.notify](https://upstash.com/docs/workflow/steps/notify.md) - [context.invoke](https://upstash.com/docs/workflow/steps/invoke.md) - [context.api](https://upstash.com/docs/workflow/steps/api.md) - [context.cancel](https://upstash.com/docs/workflow/steps/cancel.md) ## Core Concepts > Workflow Client - [Overview](https://upstash.com/docs/workflow/basics/client.md) ## Core Concepts > Workflow Client > Functions - [client.trigger](https://upstash.com/docs/workflow/basics/client/trigger.md) - [client.cancel](https://upstash.com/docs/workflow/basics/client/cancel.md) - [client.logs](https://upstash.com/docs/workflow/basics/client/logs.md) - [client.notify](https://upstash.com/docs/workflow/basics/client/notify.md) - [client.getWaiters](https://upstash.com/docs/workflow/basics/client/waiters.md) ## Core Concepts > Workflow Client > Functions > client.dlq - [client.dlq.list](https://upstash.com/docs/workflow/basics/client/dlq/list.md) - [client.dlq.restart](https://upstash.com/docs/workflow/basics/client/dlq/restart.md) - [client.dlq.resume](https://upstash.com/docs/workflow/basics/client/dlq/resume.md) - [client.dlq.delete](https://upstash.com/docs/workflow/basics/client/dlq/delete.md) - [client.dlq.retryFailureFunction](https://upstash.com/docs/workflow/basics/client/dlq/callback.md) ## Core Concepts > How To - [Start a Run](https://upstash.com/docs/workflow/howto/start.md) - [Configure a Run](https://upstash.com/docs/workflow/howto/configure.md) - [Cancel a Run](https://upstash.com/docs/workflow/howto/cancel.md) - [Singleton Workflows](https://upstash.com/docs/workflow/howto/singleton.md): Make sure only one run of a workflow is in progress at a time by reusing the same workflowRunId. - [Run a Step Now](https://upstash.com/docs/workflow/howto/retry-now.md) - [Secure a Workflow](https://upstash.com/docs/workflow/howto/security.md) - [Get your QStash Token](https://upstash.com/docs/workflow/howto/get-token.md) - [Read-only Token](https://upstash.com/docs/workflow/howto/readonly-token.md) - [Redact Private Data](https://upstash.com/docs/workflow/howto/redact-fields.md): How to redact private data in your workflow runs - [Update a Workflow](https://upstash.com/docs/workflow/howto/changes.md) - [Schedule a Workflow](https://upstash.com/docs/workflow/howto/schedule.md) - [Webhooks](https://upstash.com/docs/workflow/howto/use-webhooks.md) - [Middlewares](https://upstash.com/docs/workflow/howto/middlewares.md) - [Migration Guide](https://upstash.com/docs/workflow/howto/migrations.md) - [Select a Region](https://upstash.com/docs/workflow/howto/multi-region.md) ## Core Concepts > How To > Realtime - [Realtime Quickstart](https://upstash.com/docs/workflow/howto/realtime/basic.md) - [Human-in-the-Loop](https://upstash.com/docs/workflow/howto/realtime/human-in-the-loop.md) ## Features > Retries - [Overview](https://upstash.com/docs/workflow/features/retries.md) - [Prevent Retries](https://upstash.com/docs/workflow/features/retries/prevent-retries.md) ## Features - [Parallel Steps](https://upstash.com/docs/workflow/features/parallel-steps.md) - [Webhooks](https://upstash.com/docs/workflow/features/webhooks.md) ## Features > Failure Function - [Overview](https://upstash.com/docs/workflow/features/failure-callback.md) - [Reliability of Failure Function](https://upstash.com/docs/workflow/features/failureFunction/reliability.md) - [Advanced failureUrl Option](https://upstash.com/docs/workflow/features/failureFunction/advanced.md) ## Features > Dead Letter Queue - [Overview](https://upstash.com/docs/workflow/features/dlq.md) - [Restart](https://upstash.com/docs/workflow/features/dlq/restart.md) - [Resume](https://upstash.com/docs/workflow/features/dlq/resume.md) - [Delete](https://upstash.com/docs/workflow/features/dlq/delete.md) - [Rerun Failure Function](https://upstash.com/docs/workflow/features/dlq/callback.md) ## Features > Flow Control - [Overview](https://upstash.com/docs/workflow/features/flow-control.md) - [Rate and Period](https://upstash.com/docs/workflow/features/flow-control/rate-period.md) - [Parallelism](https://upstash.com/docs/workflow/features/flow-control/parallelism.md) - [Monitor & Manage](https://upstash.com/docs/workflow/features/flow-control/monitor.md) ## Features > Wait For Event - [Overview](https://upstash.com/docs/workflow/features/wait-for-event.md) - [Wait](https://upstash.com/docs/workflow/features/wait.md) - [Notify](https://upstash.com/docs/workflow/features/notify.md) ## Features > Invoke - [Overview](https://upstash.com/docs/workflow/features/invoke.md) - [Using Serve Many](https://upstash.com/docs/workflow/features/invoke/serveMany.md) ## Agents - [Overview](https://upstash.com/docs/workflow/agents/overview.md) - [Getting Started](https://upstash.com/docs/workflow/agents/getting-started.md) - [Features](https://upstash.com/docs/workflow/agents/features.md) - [Examples](https://upstash.com/docs/workflow/agents/examples.md) ## Agents > Patterns - [Prompt Chaining](https://upstash.com/docs/workflow/agents/patterns/prompt-chaining.md) - [Evaluator-Optimizer](https://upstash.com/docs/workflow/agents/patterns/evaluator-optimizer.md) - [Parallelization](https://upstash.com/docs/workflow/agents/patterns/parallelization.md) - [Orchestrator-Workers](https://upstash.com/docs/workflow/agents/patterns/orchestrator-workers.md) ## API Reference > REST API - [Trigger Workflow Run](https://upstash.com/docs/workflow/api-reference/runs/trigger-workflow-run.md): Start a new workflow run. - [Batch Trigger Workflow Runs](https://upstash.com/docs/workflow/api-reference/runs/batch-trigger-workflow-runs.md): Start multiple workflow runs in a single request. - [Cancel Workflow Run](https://upstash.com/docs/workflow/api-reference/runs/cancel-workflow-run.md): Cancel an ongoing workflow run. - [Bulk Cancel Workflow Runs](https://upstash.com/docs/workflow/api-reference/runs/bulk-cancel-workflow-runs.md): Cancel all matching workflow runs. - [Retry a Step Now](https://upstash.com/docs/workflow/api-reference/runs/retry-a-step-now.md): Execute a workflow step that is waiting for its next retry immediately - [List Bulk Actions](https://upstash.com/docs/workflow/api-reference/bulk-actions/list-bulk-actions.md): List the bulk actions created by filter-based workflow run cancels - [Get a Bulk Action](https://upstash.com/docs/workflow/api-reference/bulk-actions/get-a-bulk-action.md): Retrieve the details and progress of a bulk action - [List Workflow Run Logs](https://upstash.com/docs/workflow/api-reference/logs/list-workflow-run-logs.md) - [List Failed Workflow Runs](https://upstash.com/docs/workflow/api-reference/dlq/list-failed-workflow-runs.md): List and paginate through all failed workflow runs currently in the DLQ. - [Bulk Delete Failed Workflow Runs](https://upstash.com/docs/workflow/api-reference/dlq/bulk-delete-failed-workflow-runs.md): Delete multiple failed workflow runs from the DLQ. - [Get Failed Workflow Run](https://upstash.com/docs/workflow/api-reference/dlq/get-failed-workflow-run.md): Get details of a specific failed workflow run from the DLQ. - [Delete Failed Workflow Run](https://upstash.com/docs/workflow/api-reference/dlq/delete-failed-workflow-run.md): Delete a specific failed workflow run from the DLQ. - [Resume Workflow from DLQ](https://upstash.com/docs/workflow/api-reference/dlq/resume-workflow-from-dlq.md) - [Bulk Resume Workflows from DLQ](https://upstash.com/docs/workflow/api-reference/dlq/bulk-resume-workflows-from-dlq.md): When a workflow run fails, it's automatically moved to the DLQ (Dead Letter Queue) where it can be analyzed and resumed. The resume feature allows you to continue a failed workflow run from exactly where it failed, without re-executing successfully completed steps. - [Restart Workflow from DLQ](https://upstash.com/docs/workflow/api-reference/dlq/restart-workflow-from-dlq.md): Restart a failed workflow run from the DLQ. The workflow will start from the beginning. - [Bulk Restart Workflows from DLQ](https://upstash.com/docs/workflow/api-reference/dlq/bulk-restart-workflows-from-dlq.md): Restart multiple failed workflow runs from the DLQ. Each workflow will start from the beginning. - [Retry Failure Callback](https://upstash.com/docs/workflow/api-reference/dlq/retry-failure-callback.md): If the failure callback for a workflow run has failed, you can use this endpoint to manually trigger the failure callback again. This is useful for ensuring that your system is notified of workflow failures even if the original callback attempt did not succeed. - [Cancel In-Progress Failure Callback](https://upstash.com/docs/workflow/api-reference/dlq/cancel-in-progress-failure-callback.md): Cancel an in-progress failure callback for a failed workflow. - [List Flow Control Keys](https://upstash.com/docs/workflow/api-reference/flow-control/list-flow-control-keys.md): List all Flow Control keys - [Get Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/get-flow-control-key.md): Get details of a specific Flow Control key - [Pause Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/pause-flow-control-key.md): Pauses the delivery of messages associated with a specific flow-control key. - [Resume Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/resume-flow-control-key.md): Resumes the delivery of messages associated with a specific flow-control key. - [Pin Configuration for Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/pin-configuration-for-flow-control-key.md): Pins a processing configuration for a specific flow-control key. - [Unpin Configuration for Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/unpin-configuration-for-flow-control-key.md): Removes the pinned configuration for a specific flow-control key. - [Reset Rate for Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/reset-rate-for-flow-control-key.md): Resets the rate configuration state for a specific flow-control key. - [Get Global Parallelism](https://upstash.com/docs/workflow/api-reference/flow-control/get-global-parallelism.md): Returns the current global parallelism usage across all flow control keys - [Get Signing Keys](https://upstash.com/docs/workflow/api-reference/signing-keys/get-signing-keys.md): Retrieve your current and next signing keys - [Rotate Signing Keys](https://upstash.com/docs/workflow/api-reference/signing-keys/rotate-signing-keys.md): Rotate your signing keys - [Get Flow Control Key](https://upstash.com/docs/workflow/api-reference/flow-control/get-flow-control-key-1.md): Get details of a specific Flow Control key. - [Notify Event](https://upstash.com/docs/workflow/api-reference/notify/notify-event.md): Notify an event to all waiters listening for that event ID. - [Notify Workflow Run Event](https://upstash.com/docs/workflow/api-reference/notify/notify-workflow-run-event.md): Notify an event to a specific workflow run's waiters. - [List Waiters](https://upstash.com/docs/workflow/api-reference/notify/list-waiters.md): List all active waiters for a specific event ID. ## API Reference - [JavaScript SDK](https://upstash.com/docs/workflow/sdk/workflow-js.md) - [Python SDK](https://upstash.com/docs/workflow/sdk/workflow-py.md) ## Resources > Integrations - [OpenAI](https://upstash.com/docs/workflow/integrations/openai.md) - [Anthropic](https://upstash.com/docs/workflow/integrations/anthropic.md) - [Vercel AI SDK](https://upstash.com/docs/workflow/integrations/aisdk.md) - [Resend](https://upstash.com/docs/workflow/integrations/resend.md) - [Datadog - Upstash QStash Integration](https://upstash.com/docs/workflow/integrations/datadog.md) - [Prometheus - Upstash QStash Integration](https://upstash.com/docs/workflow/integrations/prometheus.md) ## Resources > Examples - [AI Generation](https://upstash.com/docs/workflow/examples/allInOne.md) - [Waiting for Events](https://upstash.com/docs/workflow/examples/waitForEvent.md) - [Customer Onboarding](https://upstash.com/docs/workflow/examples/customerOnboarding.md) - [Auth Provider Webhook](https://upstash.com/docs/workflow/examples/authWebhook.md) - [Payment Retries](https://upstash.com/docs/workflow/examples/paymentRetry.md) - [E-commerce Order Fulfillment](https://upstash.com/docs/workflow/examples/eCommerceOrderFulfillment.md) - [Image Processing](https://upstash.com/docs/workflow/examples/imageProcessing.md) - [Custom Retry Logic](https://upstash.com/docs/workflow/examples/customRetry.md) - [Dynamic Workflows](https://upstash.com/docs/workflow/examples/dynamicWorkflow.md) ## Resources - [Pricing](https://upstash.com/docs/workflow/pricing.md) - [Changelog](https://upstash.com/docs/workflow/changelog.md) - [Roadmap](https://upstash.com/docs/workflow/roadmap.md) - [llms.txt](https://upstash.com/docs/workflow/llms-txt.md) ## Resources > Troubleshooting - [General](https://upstash.com/docs/workflow/troubleshooting/general.md) - [Vercel](https://upstash.com/docs/workflow/troubleshooting/vercel.md)