Quick Start
Get up and running with Stepflow in 5 minutes
Quick Start
This guide will help you create your first workflow in 5 minutes.
1. Create a Workflow
import { createWorkflow } from "@stepflowjs/core";
export const welcomeWorkflow = createWorkflow(
{
id: "welcome-user",
retries: 3,
},
async ({ event, step, sleep }) => {
const { userId, email } = event.data;
// Step 1: Send welcome email
await step.run("send-welcome", async () => {
await sendEmail(email, "Welcome!");
});
// Wait 3 days
await sleep("wait-for-followup", "3d");
// Step 2: Send follow-up
await step.run("send-followup", async () => {
await sendEmail(email, "How are you finding things?");
});
return { status: "completed", userId };
},
);2. Initialize Stepflow
import { Stepflow } from "@stepflowjs/core";
import { MemoryStorageAdapter } from "@stepflowjs/storage-memory";
const stepflow = new Stepflow({
storage: new MemoryStorageAdapter(),
logging: true,
});
stepflow.register(welcomeWorkflow);
await stepflow.start();3. Trigger the Workflow
const { runId, publicAccessToken } = await stepflow.trigger("welcome-user", {
userId: "user_123",
email: "user@example.com",
});
console.log("Workflow started:", runId);