Skip to Content
Get StartedMigrating to Glow

Migrating to Glow

Move existing automations from n8n, Make, Zapier, or Microsoft Power Automate into Glow without missed or duplicated events. The same method works for any other tool.

At a glanceVerified in app · Oct 30, 2026
Use it to
Import n8n workflows and Make blueprints or rebuild Zapier and Power Automate flows with zero-downtime cutover
Find it
Automations → Import JSON (or MCP import_workflow)
Cost
0 Step credits and 0 Glow AI tokens via MCP import_workflow · Glow AI tokens when using Import JSON in the app
Limits
Up to 50 canvas operations (about 15 to 20 connected nodes, <= 512,000 JSON characters) per MCP import batch
Instead
Importing an Automation (/getting-started/templates/import-and-export) for the quick single-file upload steps

Two migration paths

n8n & Make (15 to 45 min)Import JSON or Blueprint
  • Places the trigger, built-in Steps, and AI Steps on the canvas.
  • Carries AI prompts and updates simple variable references.
  • Preserves n8n sticky notes and direct connections.
  • Lists remaining app actions and routes on a canvas checklist note.
Zapier & Power Automate (10 to 60 min)Build from Exported Spec
  • Export your Zap JSON, notes, or Power Automate solution package.
  • Generate a Draft via your AI client over MCP (0 tokens, 0 credits).
  • Or describe the spec in Workflow Assistant or build on the canvas.
  • Connect accounts, map fields, and test against your spec.

What never carries over

  • Connected accounts: Reconnect each app once under Connections → Connect an app.
  • Run history: Keep your old tool’s logs until your retention window passes.
  • Stored data (Make data stores, Zapier Storage/Tables, n8n static data): Export and load into a Glow Data Store.

What to configure after importing (n8n and Make)

An n8n or Make import scaffolds your graph and adds a "Not imported" checklist sticky note on the canvas:

  • AI prompts and settings: Prompts and simple references carry over. Fill in remaining Step fields, URLs, schedules, and rules in the App drawer.
  • Third-party apps: Add each app action listed on the checklist note from Apps in the dock and bind its connection.
  • Branching and loop routes: Wire outputs on Conditions, Switch, Filter, and Repeater Steps.
  • Python code execution: Glow’s Code editor runs Python 3. Convert n8n JavaScript to Python or use built-in transforms.

The short version of every migration

1. Inventory & Export2. Import or Build Draft3. Connect & Wire4. Test Side by Side5. Cut Over to Live

Before you start

1. Make an inventory

List active automations before moving them. Start with a low-risk notification flow and leave billing or customer email for last:

  • Name, owner, and impact: Confirms expected behavior and migration priority.
  • Trigger type (webhook, cron, poll): Determines zero-gap cutover order.
  • Apps, runs per month, and stored data: Sizes connections, allowance, and Data Store migration.
  • Destination writes (CRM, sheets, email): Identifies duplicate-write risk.

2. Export a spec of each automation

Save the original export even when rebuilding by hand. Use it as your specification and acceptance test.

Remove secrets before sharing or importing. Delete API keys, tokens, and customer data from exported files. Store credentials under Variables → Secret or API key ({{ $secret.NAME }} or {{ $key.NAME }}).

3. Set up Glow

  • Connect apps once: Open Connections → Connect an app.
  • Create shared values: Add plain settings as Variables and credentials as Secrets or API keys.
  • Load stored data: Populate your Data Store before testing Steps that read it.
  • Invite owners: Add teammates under Members and invites → Invite people.

4. Plan to run both side by side

Test the Glow Draft on sample data while the old tool handles live traffic. Cut over only when outputs match.

Draft is not a sandbox. Running a Step in Draft calls the live app, sends messages, and creates records. Use test accounts, pin write Steps, or run run_workflow_test with writeMode: "preview" over MCP.


Concept map

Find the term from your previous tool and use its Glow equivalent:

Glown8nMakeZapierPower Automate
Automation (workflow)WorkflowScenarioZapCloud flow
StepNodeModuleStepAction
Trigger: Webhook, Scheduler, Form, Chat, appTrigger nodeTrigger moduleTriggerTrigger
Conditions (all matching routes + Else)IfRouter + filtersPathsCondition
Switch (first matching route)SwitchNoneNoneSwitch
Filter (filters list items)FilterFilterFilterFilter array
Run for each item (1 Step)Default item loopIterator (1 module)Looping (1 action)Apply to each (1)
Repeater (multi-Step loop)Loop Over ItemsIterator (multi)LoopingApply to each, Do until
Summarize, CombineAggregate, MergeAggregatorsFormatter (line items)Compose, Select, Join
Change Fields, Custom VariablesEdit Fields (Set)Set variable, ToolsFormatterCompose, Set variable
Data StoreStatic data, DBData storeStorage, TablesDataverse, SharePoint
Wait (up to 13 days)WaitSleepDelayDelay, Delay until
Human ReviewWait (approval)NoneHuman-in-the-loopApprovals
SubflowExecute WorkflowRun a scenarioSub-ZapChild flow
HTTP Request, Respond to WebhookHTTP Request, Respond WebhookHTTP, Webhook responseWebhooks by ZapierHTTP, Response
Code editor (Python)Code (JS/Python)Make CodeCode by ZapierInline code, Functions
Error Handling & Error TriggerRetry on fail, Error TriggerResume, Break, IgnoreError pathsConfigure run after
AI Prompt, AI Agent, AI Data TransformAI nodes, AI AgentMake AI, AI agentsAI by Zapier, AgentsAI Builder, Copilot
Variables: Variable, Secret, API keyVariables, CredentialsConnections, keysNoneEnv variables, Vault
Live / Draft · Execution LogActive / ExecutionsOn / HistoryOn / Zap historyOn / Run history

Key execution model differences

  1. Step number references: Glow reads output by Step number ({{ 2.result }}, {{ 1.body.email }}) without n8n’s $json wrapper. Webhook payloads sit under body ({{ 1.body.order_id }}) unless Body only is on.
  2. Explicit list looping: Steps run once unless you enable Run for each item or place them inside a Repeater.
  3. All-match vs first-match routing: Conditions runs every matching route (like Make’s Router). Use Switch when only the first match should run.
TriggerSend emailEach itemSummariseitem 1item 2item 3…One step, one run per entry. The canvas stays a straight line.
A record arrives:
£24,000 · United Kingdom
  • runsDeal size is over 10,000Notify sales
  • runsCountry is United KingdomAdd to CRM
  • skippedELSE — none matchedLog for review

Both conditions are met, so both routes run. This is the part a first-match step cannot do.


Platform-by-platform migration guides

From n8n

1. Export from n8n

Open the workflow in n8n, click ⋯ → Download (or copy with Ctrl/Cmd + A and Ctrl/Cmd + C), and strip any hardcoded keys or customer data.

2. Import into Glow

In the Glow UI (Uses Glow AI tokens)Automations → Import JSON
  • Drop the .json file into Import workflow.
  • Review the detected structure summary.
  • Click Build workflow to let Workflow Assistant assemble the draft.
Via MCP (0 tokens, 0 Step credits)create_workflow + import_workflow
  • Deterministic single-batch import from Claude, ChatGPT, or Cursor.
  • Supports up to 50 canvas operations (~15 to 20 connected nodes, <= 512,000 chars).
  • Split larger exports and link them with a Subflow Step.

3. Example mapping: 7-node n8n lead router

n8n nodeGlow equivalentImport behavior and next step
WebhookWebhookPlaces trigger; configure webhook authentication
Edit Fields (Set)Change FieldsPlaces Step; define field mappings
OpenAIAI PromptCarries prompt text and rewrites references to Step numbers
IfConditionsPlaces Step; configure rules and wire branch outputs
CodeCode editorPlaces Step; rewrite JavaScript transform in Python 3
Slack / Google SheetsApp actionsListed under slack and google_sheets on the canvas note
Sticky noteSticky notePreserved on the canvas

4. Finish the automation

  1. Add listed app actions from Apps in the dock and bind workspace connections.
  2. Wire branches on Conditions, Switch, Filter, and Repeater Steps.
  3. Map references: Replace {{ $json.company }} or {{ $('Edit Fields').item.json.employees }} with {{ 2.company }} and webhook fields with {{ 1.body.company }}.
  4. Convert JS to Python 3 in Code editor, or use Change Fields, Filter, Summarize, or inline pipes (| unnest:field replaces n8n Split Out).
  5. Configure loops and error handling: Enable Run for each item or Repeater where n8n looped automatically, set Retry on fail, and run validate_workflow.

Cut over without gaps or duplicates

Test before you switch

Compare outputs against your original export and run history:

  • Test every Conditions and Switch branch.
  • Test an empty list, a missing field, a multi-item batch, and a forced error.
  • Pin the output of verified write Steps so repeat test runs do not duplicate records.

Switch over by trigger type

TriggerZero-gap, zero-duplicate cutover order
WebhookSet Glow Live, update the sender’s webhook URL to Glow, then disable the old flow once the first event lands.
ScheduleTurn off the old flow after its run completes, then set Glow Live before the next scheduled time.
App event or pollingTurn off the old trigger first, then set Glow Live and backfill any events from the switch window.
Manual, form, or chatSet Glow Live and share the new link with users.

Verify the first real event and keep a rollback path

  1. Inspect the first live run in the Execution Log and verify destination records.
  2. Connect an Error Trigger automation for failure alerts.
  3. Keep the old flow paused (not deleted) for one full business cycle. To roll back, switch Glow to Draft and re-enable the old trigger.

Troubleshooting & FAQ

  • Step shows “no data” after import: Re-select the field from Workflow data. Default Webhook payloads sit under body ({{ 1.body.email }}).
  • List only runs once instead of per item: Enable Run for each item on the Step or wrap multiple Steps in a Repeater.
  • Multiple branches ran unexpectedly: Conditions runs all matching routes. Use mutually exclusive rules or switch to Switch.
  • Third-party app Steps after import: Check the "Not imported" canvas note, add each listed app action from Apps in the dock, and bind your connection.
  • JavaScript Code nodes: Rewrite JS in Python 3 for Code editor, or use built-in transforms and inline pipes.
  • API keys for AI Steps: Built-in AI Steps (AI Prompt, AI Agent, AI Data Transform) use workspace Glow AI tokens and need no external API key.
  • Bulk imports and size limits: Each MCP import_workflow call supports up to 50 canvas operations (~15 to 20 nodes, <= 512,000 characters). Split larger workflows with Subflow, or ask your MCP client to import a folder of exports sequentially.
Verify it works
Run
Send one controlled test event to your new Glow automation and compare the Execution log with your old tool
You should see
Every branch, transformed field, and destination write matches the original automation with zero duplicate records.

What’s Next?

Last updated on

Search documentation

Start with a guide, or search by Step, task or error.