How to move from Activepieces to FlowRunner
Export each Activepieces flow as JSON, have FlowRunner Prompt to Flow rebuild it in your AI tool, then reconnect accounts, test, and switch over.
Activepieces exports a flow as a JSON file from the flow’s menu, with its trigger, its steps in order, and each step’s settings. That file is enough for FlowRunner Prompt to Flow to rebuild the flow in your FlowRunner workspace. You paste it into the AI tool you already use, answer a few questions, and the AI builds the flow from the same blocks the flow editor uses.
You convert one flow at a time. What’s left for you is the part no export carries: connecting your accounts, filling in keys, and testing before you switch.
1. Export your flows from Activepieces
The export works the same on Activepieces Cloud and on a self-hosted Community Edition.
- One flow: open the flow in the builder, open the flow’s menu (the arrow next to the flow name), and choose Export. A
.jsonfile downloads. - Several flows: select them in the flows list and export. You get a
.zipwith one.jsonfile per flow.
Each file holds the flow’s name, the list of pieces it uses, and the trigger and steps with their settings.
Some things aren’t in the file:
- Connections. Activepieces strips connection names from the export, and credentials never travel.
- Sample data. The test data you captured while building is stripped too.
- Tables, run history, and project variables. These live outside the flow. If a flow reads or writes a table, export the table now (Activepieces offers CSV or JSON for tables).
- Custom pieces. If you wrote your own piece, the file names it, but its code isn’t inside.
Before you leave, open each flow’s recent runs and copy two or three real inputs. You’ll test the FlowRunner flow with them in step 5, and the export won’t carry them.
If you can’t find Export (some embedded installs hide it), describe the flow in the chat instead and attach a screenshot of each step.
2. Connect FlowRunner Prompt to Flow to your AI tool
FlowRunner Prompt to Flow is an MCP server you add to the AI tool you already use. You connect it once and sign in with your FlowRunner account. The server URL is the same for every tool: https://app.flowrunner.ai/mcp.
- Claude (web and desktop): open Settings > Connectors, click + Add, then Add custom connector. Enter
FlowRunnerand the server URL, click Add, then Connect, and approve the FlowRunner sign-in. On a Team or Enterprise plan, an Owner adds it once under Organization settings > Connectors. - Claude Code: run these two commands in your project folder, and approve the sign-in page that opens:
claude mcp add --transport http flowrunner https://app.flowrunner.ai/mcp
claude mcp login flowrunner
- ChatGPT (on the web): open ChatGPT Plugins, click Add, then Add custom MCP server. Enter
FlowRunner, put the server URL under Connection, choose OAuth, and approve the sign-in. In a chat, type@and pick FlowRunner. - Codex: add the server to
~/.codex/config.toml, then runcodex mcp login flowrunner:
[mcp_servers.flowrunner]
url = "https://app.flowrunner.ai/mcp"
- Cursor: add the server to
~/.cursor/mcp.json, then open Customize > MCPs and follow the sign-in prompt:
{
"mcpServers": {
"flowrunner": { "url": "https://app.flowrunner.ai/mcp" }
}
}
If you don't have a FlowRunner account yet, the Free plan needs no card, and every new account starts with 14 days of Professional. The setup guide in the docs has each tool step by step.
3. Convert one flow at a time
Start a new chat, paste this request, then paste one flow’s JSON after it:
Rebuild this Activepieces flow as a FlowRunner flow. It comes from Activepieces’ Export: the JSON has the flow name, the pieces it uses, and the trigger and steps in order with their settings. Activepieces strips connection names and sample data from the export, so I’ll connect each account myself. Keep the same behavior. Before you build, tell me anything you can’t map one to one, and ask me about anything the file doesn’t say.
If the flow has an approval or an AI step, add a second paragraph so the AI builds those the FlowRunner way:
This flow has [an Approval step / a To-Do step / AI steps]. Build the approval as a step that reaches [who] on [email / Slack / WhatsApp / phone] with the details they need and waits for their answer. Run the AI steps on my own [provider] key.
Answer its questions, and it builds the flow in your workspace. Code steps come across as Custom Cloud Code in JavaScript, or as a regular block where one does the same job. A code step that needs npm packages, or a custom piece you wrote, becomes a custom extension: one JavaScript module with its own packages, deployed with the FlowRunner CLI. One flow per chat keeps the questions specific.
4. Finish what the export can’t carry
Each conversion ends with a short list from the AI. Expect some of these:
- Connect your accounts. Each app is connected once in OAuth Connections and shared across your flows.
- Fill in keys and project variable values. The AI asks for them or tells you which block each one goes in.
- Note the new webhook address. A flow that started from an Activepieces webhook now starts from an External Callback with its own URL. Whatever called the old webhook needs the new URL when you switch over in step 5.
- Check the schedule. Confirm the flow schedule matches the old one, or set it in the editor toolbar.
- Decide who gets asked. For approvals, confirm the person and the channel. If the approval should be a form, or an AI agent should call a review flow as its tool, the AI tells you, and you add those in the flow editor.
- Move table data. Put exported table rows in an app FlowRunner connects to, such as Google Sheets or PostgreSQL, and point the flow at it.
- Start the flow, if the AI left it stopped.
5. Test, then switch over
Run the FlowRunner flow with the real inputs you saved in step 1, and compare each step’s output with what Activepieces produced. Every run’s inputs and outputs are in the flow’s run history. When they match, point the webhook callers or the trigger at FlowRunner, watch a few days of runs, and turn off the Activepieces flow.
How Activepieces maps to FlowRunner
| Activepieces | FlowRunner | What changes |
|---|---|---|
| Flow | Flow | Same idea. One complete run is one execution, AI steps included. |
| Piece trigger | Integration trigger | 2,100+ integrations, each connected once per workspace. |
| Webhook trigger | External Callback | A new URL. The same block can also resume a waiting run. |
| Schedule trigger | Flow schedule | Once, every X seconds, daily, weekly, monthly, or cron. |
| Piece action | Integration action | About 26 actions per integration, each usable as an agent tool. |
| Branches | Condition or Value Router | Yes/no tests, or named paths for each value. |
| Loop over items | List Iterator | Runs the inner steps once per item. |
| Code step | Custom Cloud Code | JavaScript with fetch; npm packages go in a custom extension. |
| Custom piece | Custom extension | One JavaScript module, deployed with the FlowRunner CLI. |
| Delay | Wait | Pauses one branch while parallel branches keep going. |
| Wait for Approval, To-Do step | A step that asks a person and waits (human-in-the-loop) | Email, Slack, WhatsApp, phone, or a Form. The agent can call it as a tool. |
| AI steps and agents | AI Agent | Your own keys on every plan; no AI meter. |
| Connections | OAuth Connections | Reconnected once, shared by every flow. |
Quick wins on day one
- AI stops moving the count. On Activepieces each AI step adds 2, 10, or 20 credits unless you bring keys on a paid plan. On FlowRunner the run is one execution, on your own keys, on every plan including Free.
- Everyone gets an account. Activepieces allows five users on Free and Plus and 25 on Team. FlowRunner has unlimited users on every plan.
- Longer waits. An Activepieces flow can stay paused for 30 days. FlowRunner waits up to 30 days on Free, Starter, and Growth, and up to a year on Professional and above.
- No 10-minute cut-off. Activepieces Cloud stops a run after 10 minutes of active time. FlowRunner’s active run time is 1 hour on Free, Starter, and Growth, and more on higher plans.
- Try it on Professional. Every new account starts with 14 days of Professional with no card, then stays on Free (100 executions a month) with nothing paused or deleted.
Want a hand with a bigger migration? Contact us.
Frequently asked questions
Does FlowRunner import Activepieces JSON files directly?
There's no importer button. FlowRunner Prompt to Flow does the conversion: you paste the exported JSON into your AI tool with the request on this page, and the AI builds the flow in your FlowRunner workspace from the same blocks the flow editor uses. You review what it built, connect your accounts, and test.
Do my Activepieces connections come across?
No. Activepieces strips connection names from the export, and no credentials are in the file. You connect each app once in FlowRunner, and every flow in the workspace can use that connection.
What happens to my Activepieces tables?
Tables aren't part of a flow export. Export them separately from Activepieces as CSV or JSON, then put the data in an app FlowRunner connects to, such as Google Sheets or a database, and point the new flow at it.
Can I convert flows that use AI steps or approvals?
Yes. AI steps become an AI Agent block, or an AI Transform for a simple text step, running on your own provider key, and the run still counts as one execution. An Approval piece or To-Do step becomes a FlowRunner step that reaches the person on email, Slack, WhatsApp, phone, or a Form and waits for the answer. If you want the agent to decide when to ask, you attach the review flow to the agent as a tool in the flow editor.
Can I run the Activepieces flow and the FlowRunner flow side by side?
Yes, and it's the safest way to switch. Build and test the FlowRunner flow while the Activepieces flow keeps running, then move the trigger or webhook callers over and turn the Activepieces flow off once the new runs look right.
Ready to try it?
Start on the Free plan. No card required, and every new account gets 14 days of Professional.