---
title: Migration Guides
description: Move your existing durable workflow system to the Workflow SDK with side-by-side code comparisons and a realistic migration example.
type: overview
summary: Migrate from Temporal, Inngest, AWS Step Functions, or trigger.dev to the Workflow SDK.
related:
  - /docs/foundations/workflows-and-steps
  - /docs/getting-started
---

<Callout type="info">
Install the Workflow SDK migration skill:

```bash
npx skills add https://github.com/vercel/workflow --skill migrating-to-workflow-sdk
```
</Callout>

Move an existing orchestration system to the Workflow SDK. Each guide pairs a concept-mapping table with side-by-side code, so you can translate one piece of your codebase at a time.

<Cards>
    <Card href="/docs/migration-guides/migrating-from-temporal" title="Migrating from Temporal">
        Map Activities, Workers, Signals, and Child Workflows onto workflows, steps, hooks, and `start()` / `getRun()`.
    </Card>
    <Card href="/docs/migration-guides/migrating-from-inngest" title="Migrating from Inngest">
        Map `createFunction`, `step.run`, `step.sleep`, `step.waitForEvent`, and `step.invoke` onto workflows, steps, and hooks.
    </Card>
    <Card href="/docs/migration-guides/migrating-from-aws-step-functions" title="Migrating from AWS Step Functions">
        Replace ASL JSON states, Task / Choice / Wait / Parallel states, and `.waitForTaskToken` callbacks with TypeScript.
    </Card>
    <Card href="/docs/migration-guides/migrating-from-trigger-dev" title="Migrating from trigger.dev">
        Map `task()`, `schemaTask()`, `wait.for` / `wait.forToken`, `triggerAndWait`, and `metadata.stream` onto workflows, steps, hooks, and `start()` / `getRun()`.
    </Card>
</Cards>
