Workflows

Durable workflow execution

Build complex, long-running workflows that survive failures. Each step is tracked, with automatic retries and the ability to resume from where you left off.

Workflow Executions

Recent Executions

Workflow executions (auto-refreshes every 5 seconds)

IDStatusStepsDurationStarted
exec_a1b2c3...
Completed
4/42.3s
UTC ISO
2024-01-15T10:30:00.000Z
Local Time
Jan 15, 2024, 10:30 AM UTC
View
exec_d4e5f6...
Running
2/4-
UTC ISO
2024-01-15T10:29:45.000Z
Local Time
Jan 15, 2024, 10:29 AM UTC
View
exec_g7h8i9...
Completed
4/41.9s
UTC ISO
2024-01-15T10:25:00.000Z
Local Time
Jan 15, 2024, 10:25 AM UTC
View
exec_j0k1l2...
Failed
3/45.4s
UTC ISO
2024-01-15T10:20:00.000Z
Local Time
Jan 15, 2024, 10:20 AM UTC
View
exec_m3n4o5...
Cancelled
1/4450ms
UTC ISO
2024-01-15T10:15:00.000Z
Local Time
Jan 15, 2024, 10:15 AM UTC
View

Key Features

Durable Execution

Workflows survive server restarts and failures automatically.

Step Tracking

Monitor progress with detailed step-by-step execution logs.

Automatic Retries

Failed steps are automatically retried with exponential backoff.

Manual Triggers

Start workflows manually or automatically from events.

Workflow Definition

Define multi-step workflows with automatic durability.

src/index.ts
export default {
  async fetch(request, env) {
    const { executionId } = await env.FLOW
      .trigger({ userId: "123" });
    return Response.json({ executionId });
  },

  workflows: {
    onboarding: {
      handler: async ({ input, step }) => {
        await step.run("welcome", async () => {
          return { sent: true };
        });
      },
    },
  },
};

Ready to get started?

Deploy your first project in minutes with Ploy.