> ## Documentation Index
> Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow Overview

Building with an AI coding agent?

Connect the Upstash MCP server and the Workflow skill to Claude Code, Cursor, Codex, and other agents.

[Open](https://upstash.com/docs/agent-resources/overview.md)

Upstash Workflow lets you write **durable, reliable and performant serverless functions**. Get delivery guarantees, automatic retries on failure, scheduling and more without managing any infrastructure.

[YouTube video player](https://www.youtube.com/embed/5As9tZMN3a8?rel=0\&disablekb=1)

## Quickstarts

Upstash Workflow supports Next.js, Cloudflare Workers and [many other frameworks](https://upstash.com/docs/workflow/quickstarts/platforms) in TypeScript and Python.

> [card] [Next.js](https://upstash.com/docs/workflow/quickstarts/vercel-nextjs)
>
> Build a Next.js application with QStash Workflow

> [card] [Cloudflare Workers](https://upstash.com/docs/workflow/quickstarts/cloudflare-workers)
>
> Use and deploy Upstash Workflow on Cloudflare Workers

> [card] [Next.js & FastAPI](https://upstash.com/docs/workflow/quickstarts/nextjs-fastapi)
>
> Use Upstash Workflow for Python with Next.js and FastAPI

## Key Features

> [card] Failure Resilience
>
> If your platform experiences a temporary outage, your workflow can pick up right where it left off, ensuring stability even in unstable environments.

> [card] Long-Running Executions
>
> Run long-running REST endpoints, such as complex AI models or video processing tools, even on serverless platforms with strict time limits.

> [card] [Events with Wait/Notify Mechanism](https://upstash.com/docs/workflow/features/wait-for-event)
>
> Create workflows that wait for external events before proceeding. Ideal for user confirmations and asynchronous notifications.

> [card] [Scheduled Jobs](https://upstash.com/docs/workflow/howto/schedule)
>
> Run jobs at regular intervals with support for cron expressions. Perfect for recurring tasks like reminders, reports, or newsletters.

> [card] [Parallel Runs](https://upstash.com/docs/workflow/features/parallel-steps)
>
> Start independent tasks in parallel and wait for them to finish simultaneously, reducing latency.

> [card] [Long Delays](https://upstash.com/docs/workflow/basics/context/sleep)
>
> Need your code to “sleep” for days, weeks, or even months? Supports long delays beyond serverless time limits.

> [card] Delivery Guarantees
>
> Ensures at-least-once delivery. Failed requests are logged in a Dead Letter Queue to prevent data loss.

> [card] [Flow Control](https://upstash.com/docs/workflow/features/flow-control)
>
> Prevent overwhelming your app or external services by configuring rate per second or parallelism limits.

> [card] [Observability](https://upstash.com/docs/workflow/basics/client/logs)
>
> Monitor workflow steps with insights. Filter events to track successes, failures, retries, and stalls.

## Example Use Cases

Here are some example real world use-cases for Upstash Workflow:

> [card] [Agents](https://upstash.com/docs/workflow/agents/overview)
>
> Use LLM Agents equipped with custom tools to achieve tasks

> [card] [AI Data Processing](https://upstash.com/docs/workflow/examples/allInOne)
>
> Download a large dataset without timeouts, process the data in chunks and generate a report.

> [card] [Waiting For Events](https://upstash.com/docs/workflow/examples/waitForEvent)
>
> Control workflow execution with events, log event data and send emails

> [card] [Authorization Webhook](https://upstash.com/docs/workflow/examples/authWebhook)
>
> Start a workflow from a webhook. Handle user creation, trial management,
> email reminders and notifications.

> [card] [Customer Onboarding](https://upstash.com/docs/workflow/examples/customerOnboarding)
>
> Register a new user, send welcome emails, and periodically check and respond
> to the user's activity state with emails.

> [card] [E-Commerce Order Fulfillment](https://upstash.com/docs/workflow/examples/eCommerceOrderFulfillment)
>
> Receive an order request, verify the stock, process the payment, and handle
> order dispatch and customer notifications.

> [card] [Image Processing](https://upstash.com/docs/workflow/examples/imageProcessing)
>
> Manage uploading images to the data store. Apply filters and resize the
> images to different resolutions in parallel.

> [card] [Retry Payments](https://upstash.com/docs/workflow/examples/paymentRetry)
>
> Retry payments with a day of delay, send emails, and suspend account if
> payment fails after the retries.

## How it works

Upstash Workflow builds on the principle of steps. Instead of defining a single, complex piece of business logic, workflows contain multiple individual steps.

Each of the steps are executed by a separate request to your application, by preserving the output of previous steps.

In case of an error, a failed step is retried individually without needing to re-run any previous steps. Instead of the entire business logic, *each step* can take up your serverless function execution duration, and many more benefits.

![Workflow execution diagram](https://mintcdn.com/upstash/V1WwT580M-elE8rq/img/qstash-workflow/workflow-concept.png?fit=max\&auto=format\&n=V1WwT580M-elE8rq\&q=85\&s=39a2c8c56f92813198d5990df8d8c9c2)

## Support

Need help or have questions? We're here to support you:

* Join our Discord community to ask questions and share feedback
* Open a ticket through the Intercom chatbox in the dashboard for any issue

## SDKs


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.