FlowRunner
Pricing
Theme
Start Free

Pipedream Workflows Is Shutting Down. Here Is How to Move Your Workflows, Free.

Pipedream Workflows and String close on March 31, 2027. What the export gives you, how each Pipedream piece maps to FlowRunner, and how to move on a free plan.

A FlowRunner Migration Guide card on a dark green field with the statement Pipedream closes March 31, 2027. and the line Move your workflows, free.

If your workflows run on Pipedream, you found out this month that they have an end date. Pipedream is closing its Workflows product and String on March 31, 2027, and deleting everything a month later. Nothing you built was wrong. Pipedream decided to focus on Connect, its API for putting integrations inside other products, and Workflows didn’t fit that plan.

Six months is enough time to move calmly, as long as you start before March. This guide covers what’s in your export, where each Pipedream piece lands in FlowRunner, what happens to your code steps, and what changes about the bill.

The short version, for anyone who got here from a search box. Pipedream Workflows shuts down on March 31, 2027 and all workflow data, including connected-account credentials, is deleted by April 30. Its export gives you each project’s workflows as JSON, and FlowRunner Prompt to Flow builds FlowRunner flows from those files, code steps included. FlowRunner’s Free plan has no card and no time limit, counts one execution per complete run, runs AI on your own provider keys, and includes every integration and human-in-the-loop approvals, with 14 days of Professional on signup.

To skip rebuilding by hand, follow how to convert Pipedream workflows to FlowRunner: FlowRunner Prompt to Flow reads each workflow’s files, code steps included, and builds the flow, with three real conversions to show how it goes.

What’s happening, and when

In Pipedream’s own words:

“Pipedream Workflows and String will shut down on March 31, 2027.”

Workflows is in maintenance mode now. Pipedream is no longer accepting signups or subscriptions and isn’t shipping new features, but existing workflows keep running until the shutdown date. Then:

“All Workflows data will be permanently deleted by April 30, 2027, including the credentials and OAuth tokens for your connected accounts.”

Subscriptions stay active until March 31, 2027, when Pipedream cancels them and issues a prorated refund. Monthly subscribers can cancel themselves sooner; annual subscribers are asked to contact support.

Pipedream Connect, its MCP servers, and the API Proxy are not affected. If you embed Pipedream Connect in your own product, nothing here applies to that.

What the export gives you

Pipedream built an export tool that works one project at a time. You get a ZIP with one JSON file per workflow, and in Pipedream’s words each file “describes its triggers, steps, code, configured props, and control flow.” The code from your inline code steps is in there, which is the part that took you longest to write.

What’s left out matters as much:

  • Secrets and connected accounts. Anything that is or could be a credential is replaced with <redacted>, and app connections keep only an ID. Every account gets reconnected wherever you go next.
  • Environment variables, data stores, and File Store files. Copy those out separately before April 30.
  • Event history. Your past runs don’t come with you.
  • Workflows you never deployed. The export skips them.

You don’t have to rebuild from it by hand. FlowRunner Prompt to Flow reads each workflow’s JSON, code steps included, and builds the same flow in your workspace; here’s how to convert your workflows. If you’d rather build by hand, the JSON still works as the specification: it lists every trigger and step in order, with the settings each one used.

Export every project now, even the ones you plan to retire. The files cost nothing to keep, and April 30 is not a date to find out you needed one.

Where each Pipedream piece lands

Most of the move is renaming. This is the table to keep open.

PipedreamFlowRunnerWhat changes
WorkflowFlowA flow can begin with any block, not only a trigger.
HTTP / Webhook triggerExternal CallbackThe same idea, and the URL can also resume a run that’s already waiting.
Schedule triggerSchedulingOnce, interval, daily, weekly, monthly, or cron.
App event sources (new row, new message, new issue)Integration triggersAll 2,100+ integrations are on every plan, Free included.
Pre-built actionsIntegration actionsReconnect each account once; the connection is shared across flows.
Node.js code stepCustom Cloud CodeJavaScript with fetch, crypto, and Buffer, and it can also be attached to an AI agent as a tool. See the code section below.
Code steps that import npm packagesA custom extensionYour own blocks, deployed with the FlowRunner CLI, with the packages shipped alongside.
Python, Go, Bash stepsCustom Cloud Code or a custom extensionRewritten in JavaScript.
API calls inside codeHTTP Request, or fetch in Custom Cloud CodeThe block shows the call on the canvas, records it in run history, and can retry.
Your own components and event sourcesCustom extension actions and triggersTriggers poll an API or receive its webhooks, and the runtime tracks what is new.
Dynamic dropdowns in your componentsExtension dictionariesOptions fetched from the live API as the person types.
If/Else, FilterCondition, Value Router, AI RouterCondition handles AND/OR logic with precedence; AI Router branches on meaning.
$.flow.delayWaitUp to 30 days on Free, Starter, and Growth, and up to a year on Professional and above.
$.flow.suspend for approvalsA human-in-the-loop flowThe person is reached over email, Slack, WhatsApp, phone, or a Form.
Data storesShared Memory, or the database you already useShared Memory is key and value state that persists across runs.
Event historyLog history24 hours on Free and Starter, 7 days on Growth, 30 on Professional, 90 on Business.
Error notificationsHandle ErrorA failed block can route to its own path instead of stopping the run.
GitHub SyncFlow exportSingle-flow export on every plan; bulk and API export from Growth up.
String agentsAI Agent blockYour own provider keys, with your prompt pasted in unchanged.

Two Pipedream triggers are deliberately not in that table: email and RSS. Both work as an External Callback with a sender in front of it, and which sender is right depends on what’s producing the mail or the feed. That’s a short conversation, not a table row.

Your code, and the components you wrote

This is the part of a Pipedream move that deserves the most care, because Pipedream was built for people who write code. FlowRunner has two places for it, and which one a piece of your code goes to depends on what it needs.

Code steps go into Custom Cloud Code. It’s a JavaScript step in the flow: you pass values in as named arguments, and whatever the code returns becomes the step’s result. It has fetch for real API calls, crypto, Buffer, timers, and URL, and async/await works the way you’d expect. It isn’t Node.js, though, so there’s no require, no import, and no npm packages. In practice:

  • Code that reshapes data (parse this, filter that, build the payload) moves over nearly as written. A lot of it can also become Transform Data, which covers 40+ common operations without code.
  • Code that calls an API works with fetch. For calls that matter, the HTTP Request block is usually the better home, because it shows the call on the canvas, records it in run history, and can retry on failure.
  • Code that imports npm packages belongs in a custom extension, below.

Libraries, custom components, and event sources go into a custom extension. An extension is one JavaScript module you deploy to your workspace with the FlowRunner CLI, and it becomes blocks of your own in the palette. If you wrote Pipedream components or event sources, this is the closest thing to them:

  • Actions run your code when the flow reaches the block.
  • Triggers either poll an API on a schedule or receive its webhooks. For polling, the runtime keeps track of what it has already seen, so you write the query and it works out what’s new.
  • Each extension has its own package.json, and its node_modules ship with the deploy, so your libraries come along.
  • Credentials live in a configuration form filled in once per workspace, never typed into a block. OAuth is declared in a few lines, and the runtime handles the redirect, the token exchange, and the refresh.
  • Dropdowns can be filled from the live API, the way dynamic props worked in your components.
  • Every deploy is a version, and rolling back is one click. There’s a test harness that runs your extension with HTTP intercepted, so you can check what it sends before it’s live.

You don’t have to write it by hand. npx flowrunner init-claude installs two agents into Claude Code, one that writes the service and one that writes its tests, and you describe what you want in a sentence. Pasting the Pipedream component you’re replacing is a good way to describe it. Keep a copy of your component source: Pipedream’s export lists private components by name but doesn’t include their code.

Python, Go, and Bash steps get rewritten in JavaScript, in either place. FlowRunner runs JavaScript only. Most short steps are a mechanical translation, and an AI assistant does it well when you hand it the step and the input it receives. For anything long, send us the step and we’ll tell you where it should land.

The approval step is the one to move first

Pipedream’s $.flow.suspend pauses a workflow until someone resumes or cancels it through a URL. By default it waits 24 hours, and each wake-up from a suspension counts as a new credit.

FlowRunner treats the person as part of the run instead. Human-in-the-loop is an execution pattern where AI agents pause autonomously, assemble the relevant context and the decision choices available, route to a human via their preferred channel, and resume the moment the human responds. The human step is a flow that an agent can call as a tool, or that a flow reaches on its own. It finds the person over email, Slack, WhatsApp, phone, or a Form, waits up to 30 days on Free, Starter, and Growth and up to a year on Professional and above, and the run picks up where it left off with the answer.

If one of your Pipedream workflows had a suspend step in it, rebuild that one first. It’s the one you’d worry about most, and it’s the one that tells you whether the new platform fits.

The meter you’re leaving

Pipedream metered compute time. A credit was 30 seconds of compute at 256 MB, and AI tokens were counted on their own meter. The bill moved with how long your code ran.

FlowRunner counts one thing. An execution is one complete workflow run, start to finish. A run with twelve steps counts once, the same as a run with two, and a run that waits two days for an approval still counts once.

AI isn’t metered at all. FlowRunner uses BYOK, a model where you supply your own AI provider API credentials, pay the providers directly for usage, and FlowRunner orchestrates calls across providers without taking a markup on inference. Your OpenAI, Anthropic, or Google keys, at your rates, on your invoice from them.

Where this lands

The Free plan is $0, permanent, no card, and no time limit. It runs 100 executions a month, one at a time, with 24 hours of log history. Unlimited users, unlimited workflows, and every integration, with AI agents and human-in-the-loop included. One Free workspace per account.

Every new account also gets 14 days of the Professional plan on its first workspace, with audit trails and role-based access control, and no card required. When the trial ends without a payment method, the workspace moves to Free and the flows keep running. Above Free, Starter is $5 a month for 300 executions or $15 for 3,000, and the ladder continues from there.

Relay.app users went through the same thing in September; that guide covers the same ground from their side.

Start on the Free plan

Open a free workspace, keep the export on the other screen, and move the workflow with the approval in it first. No card, no clock. If you’d rather have someone go through the export with you, send us a note. Migration help for people coming from a shutdown is free.

Frequently asked questions

When does Pipedream Workflows shut down?

Pipedream Workflows and String shut down on March 31, 2027. Workflows is already in maintenance mode with no new signups or subscriptions. All Workflows data, including the credentials and OAuth tokens for connected accounts, is permanently deleted by April 30, 2027. Pipedream Connect is not affected.

Can I import my Pipedream export into FlowRunner?

Yes, through FlowRunner Prompt to Flow. Paste a workflow's JSON from the export, or its GitHub Sync files, into Claude, ChatGPT, Claude Code, Codex, or Cursor with the FlowRunner MCP server connected, and it builds the same flow in your workspace, code steps included. Credentials, environment variables, and data stores are not in the export, so you reconnect accounts and fill in secrets afterwards.

What happens to my Node.js and Python code steps?

Node.js steps move into Custom Cloud Code, a JavaScript step in the flow that can call APIs with fetch and can also be attached to an AI agent as a tool. Code that depends on npm packages becomes a custom extension: a JavaScript module you deploy to your workspace with the FlowRunner CLI, which ships with its own dependencies. Python, Go, and Bash steps are rewritten in JavaScript.

Can I rebuild the custom components and event sources I wrote on Pipedream?

Yes, as a custom extension. An extension adds your own actions to the block palette, plus triggers that either poll an API on a schedule or receive its webhooks, with the runtime keeping track of what is new. Credentials go in a configuration form filled in once per workspace, OAuth is declared rather than hand-built, and every deploy is a version you can roll back. The Pipedream export does not include the code of private components, so start from your own copy of the source.

What replaces $.flow.suspend for approvals?

A human-in-the-loop flow. The run pauses, reaches the person over email, Slack, WhatsApp, phone, or a Form, and resumes with their answer. The wait can last up to 30 days on Free, Starter, and Growth, and up to a year on Professional and above, and one run counts as one execution however long it waits.

What does it cost to move my Pipedream workflows to FlowRunner?

The Free plan is $0 with no card and no time limit: 100 executions a month, one at a time, 24 hours of log history, unlimited users, unlimited workflows, and every integration. Every new account also gets 14 days of the Professional plan on its first workspace.

Editorial policy

See how this would work on your stack

A 30-minute walkthrough against your actual setup, or a quick message to scope the fit. No slides, no signup.