Skip to main content

Migrate from Pipedream

Pipedream is shutting down Workflows on March 31, 2027, and deletes all Workflows data on April 30, 2027. This guide moves your workflows to Windmill. Your AI coding agent (Claude Code, Codex or Cursor) reads Pipedream's export and rebuilds each workflow as a Windmill flow, with its HTTP route or schedule. It works the same on Windmill Cloud and on a self-hosted instance. For how Windmill compares with Pipedream Workflows, see the Pipedream alternative page.

You don't need a Windmill account to start. The agent converts your export on your machine first, so you see your own workflows as Windmill flows before you sign up. It follows migrate-from-pipedream, a skill the agent downloads into your project. The skill builds on the general AI skills that the Windmill CLI installs. The skill maps each Pipedream concept to its Windmill equivalent, tracks what the export leaves out, and previews every flow before anything is deployed.

1. Export your Pipedream projects​

Pipedream exports one project at a time:

  1. Open the project in the Pipedream dashboard and select Settings.
  2. Click Export Workflows.
  3. When the export finishes, download project_export-<project_id>.zip from the project's File Store.

Your Pipedream plan must include File Stores. One export holds up to 500 workflows or 256 MB. See Pipedream's export documentation for details.

2. Give your agent one prompt​

Put the export ZIP in an empty folder, open that folder in Claude Code, Codex or Cursor, and paste:

Pipedream Workflows is shutting down. Migrate my Pipedream export to Windmill:
1. Download https://gist.githubusercontent.com/alpetric/efdac7864d43526d52a4df0ca5f2de18/raw/SKILL.md
to .claude/skills/migrate-from-pipedream/SKILL.md and .agents/skills/migrate-from-pipedream/SKILL.md.
2. If this folder has no wmill.yaml, run `npx -y windmill-cli@latest init --use-default`.
3. Read that skill and follow it to migrate ./project_export-<project_id>.zip.
Don't deploy anything until I've reviewed it.

All you need installed is Node.js, for npx. The agent then:

  1. Adds the migration skill and sets up a local Windmill project with the CLI, which needs no account.
  2. Reads the export's manifest and writes pipedream_migration.md, a checklist covering every workflow: its triggers, its steps, the accounts and secrets it needs, and anything that can't convert automatically.
  3. Asks you which folder to use, which workflows to migrate, and which credentials you'll connect.
  4. Rebuilds each workflow as a flow. Code steps become plain Windmill scripts in the same language (TypeScript, Python, Go or Bash). If/else, switch and parallel blocks become branches, and $.flow.exit, $.respond and pre-built actions get their Windmill equivalents.

3. Connect a workspace and preview​

To run the converted flows, you need a Windmill workspace: sign up for Windmill Cloud, or self-host Windmill. The agent then asks you to connect it from your own terminal:

npx windmill-cli workspace add

Choose the browser login. The agent then previews each flow with a sample event and fixes what fails. A preview deploys nothing.

If you already use Windmill, run the same prompt in your synced workspace folder. The agent then skips the setup and converts into your existing project.

4. Fill in what the export leaves out​

The export holds the structure of your workflows, not their credentials or data. The checklist lists, for each workflow, what to bring over yourself:

Not in the exportWhere it goes in Windmill
Connected accounts (only an internal Pipedream account id remains)Resources: connect the app again
Secret props and environment variablesVariables and secrets
Data store contentsScript state for a value one step keeps, such as a cursor, or a data table for a store several workflows share. Either way, copy the data out of Pipedream
File Store filesWorkspace object storage
Code of private componentsYour own copy of the component source

Copy data and secrets out of Pipedream before April 30, 2027, when it deletes them.

5. Review, deploy and switch over​

  1. Review the flows in f/<your folder>/ and the checklist.
  2. Deploy the folder with its routes and schedules: wmill sync push --includes 'f/<your folder>/**' --include-triggers --include-schedules. Schedules are created disabled, so the migrated copy doesn't run alongside Pipedream.
  3. Repoint each caller of a Pipedream endpoint URL to the flow's new HTTP route, enable the schedules, and turn off the Pipedream workflow.

How Pipedream concepts map to Windmill​

PipedreamWindmill
WorkflowFlow
Code step (Node.js, Python, Go, Bash)Script step in the same language
HTTP triggerHTTP route, with a preprocessor that rebuilds steps.trigger.event
Schedule triggerSchedule
Email triggerEmail trigger
$.respond()A step returning a custom status code, headers and body, or the flow's early return when the workflow keeps running after responding
$.flow.exit() / End workflowEarly stop
If/else, switchBranch one
ParallelBranch all, run in parallel
DelaySleep
Auto-retryRetries
Concurrency and throttlingConcurrency limits
Connected accountResource
Environment variableVariable

Getting help​

If part of your export doesn't convert, or a migrated flow behaves differently from its Pipedream original, ask us on Discord or email [email protected]. Include the workflow's entry from pipedream_migration.md.