Latenode Make.com Migration Guide 2026: Webhooks, JS Nodes

Skip to main content
Migration Guide

Migrating from Make.com to Latenode: Webhooks, JavaScript Nodes, and Full Scenario Migration

Quick answer

Make bills by operation — every module firing costs you, and loops multiply fast. Latenode bills by execution time instead, and bundles a full JavaScript/Node.js environment with NPM packages directly into the visual builder. The same logic that costs dozens of operations in Make can run as a single node.

This guide walks through setting up a Latenode webhook trigger, using the JavaScript node to replace multi-module Make chains, and migrating an existing Make scenario without breaking production.

Already decided?

Start a Latenode migration, or grab a fresh Make.com account if you’re staying put.

Most teams don’t leave Make because it’s a bad tool. They leave because a scenario that started as three modules grows an Iterator, a Router, and an Array Aggregator, and the operation count quietly triples every time it runs.

Latenode’s pitch is simple: keep the visual canvas, but let a single JavaScript node absorb the logic that used to require a chain of modules, and bill for compute time instead of counting every step. Whether that trade is worth a migration depends on what your scenarios are actually doing — this guide covers the mechanics either way.


Make vs Latenode at a glance

Make.com vs Latenode feature comparison
FeatureMake.comLatenode
Billing modelPer operation (every module firing)Per execution time (CPU seconds)
Custom codeNo native full-code node; formula-style expressions onlyFull JavaScript/Node.js node with NPM packages
Parallel HTTP callsOne request at a time per moduleParallel requests via NPM libraries like Axios
Built-in AI modelsThird-party modules, separate API keys/billingLarge model catalog billed through the platform
Visual builder styleRadial module chain, mature and beginner-friendlyConventional node-graph canvas, more technical
Documentation & trainingExtensive, long-establishedGrowing, thinner in places
Best forSimple, low-volume scenarios and non-technical buildersLoop-heavy, AI-heavy, or high-volume workflows

Why teams migrate: the per-operation billing problem

Make counts an operation every time a module executes. A four-module scenario run once uses four operations. Run it a thousand times and that’s four thousand.

As of August 2025, Make bills this usage in credits rather than raw operations, but the underlying count is unchanged — one operation still converts to roughly one credit, so the loop-heavy scenarios that used to burn operations now burn credits at the same rate.

The real cost shows up once loops enter the picture: an Iterator processing fifty records, followed by a Router and an Array Aggregator, can multiply the operation count for a single trigger event many times over. A ten-module scenario doesn’t just cost more than a four-module one — it costs proportionally more every single run.

Latenode’s model changes what you’re paying for. Instead of counting steps, it meters compute time. A loop over the same fifty records inside one JavaScript node runs as part of a single execution — the cost scales with how long the code takes to run, not with how many items or modules were involved.

That’s the entire argument for migrating scenarios with loops, iterators, or several sequential AI calls: the same logic, priced differently.

Stick with Make.com if

Your scenarios are simple and low-volume

Under a handful of modules, no heavy looping, and a non-technical team that benefits from Make’s plainer error messages and deeper training library.

Try Make.com →

Migrate to Latenode if

Loops, AI steps, or volume are driving up cost

Iterators and aggregators are multiplying operations, you’re chaining several AI calls, or you need parallel HTTP requests a single-request-at-a-time module can’t deliver.

Try Latenode →

Setting up your first Latenode webhook trigger

Every migrated scenario starts the same way a Make scenario does: with a trigger. For anything driven by an external event — a form submission, a Stripe payment, a CRM update — that trigger is a webhook.

Step by step

  • Create a new scenario in the Latenode workspace.
  • Add a Trigger on Webhook node as the first node. This is the entry point — nothing runs until a request hits its URL. Latenode’s official Trigger on Webhook documentation covers the node’s full configuration options if you need something beyond the basics below.
  • Note the two generated URLs. The Development URL runs the scenario once per request and stops, which is what you want while testing. The Production URL runs continuously and is what goes into the live integration.
  • Send a test request to the Development URL from the external service, or with a tool like Postman, and confirm the payload shape in the execution log before building anything downstream.
  • Choose GET or POST depending on whether the trigger needs to carry data (POST) or is a simple ping (GET).
  • Switch to the Production URL in the external service’s webhook settings only once the scenario has been fully built and tested end to end.

Keep dev and prod separate

Because the Development URL stops the scenario after one run, it’s safe to hammer with test payloads without affecting anything live. Don’t point a production integration at it — it won’t keep listening.


The JavaScript node: replacing multi-module Make chains

This is the node that does the actual replacing. It runs in a cloud sandbox for up to three minutes per execution, supports standard NPM packages, and receives data from the previous node as ordinary variables — no special expression syntax required.

The clearest example is parallel HTTP requests. In Make, an HTTP module fires one request at a time; looping it over a list of records with an Iterator means paying for each request as a separate operation, sequentially.

A JavaScript node using a library like Axios can fire all of those requests in parallel with Promise.all inside a single execution — one billed run instead of one operation per record.

const axios = require('axios');

// data.records comes from the previous node (e.g. the webhook payload)
const records = data.records;

// Fire every enrichment request in parallel instead of one at a time
const results = await Promise.all(
  records.map(async (record) => {
    const response = await axios.get(`https://api.example.com/lookup/${record.id}`);
    return { ...record, enriched: response.data };
  })
);

return { results };

What used to be a Webhook module, an Iterator, an HTTP module inside the loop, and an Array Aggregator to recombine the results — four Make modules, each billed per pass through the loop — becomes one JavaScript node billed for its total runtime.

Latenode’s built-in AI Copilot can also generate this kind of code from a plain-language description, so writing raw JavaScript from scratch isn’t a requirement for migrating logic like this.


Mapping Make modules to Latenode nodes

Most migrations go module by module. Use this as a starting translation table, then collapse anything that’s purely data-shaping into a single JavaScript node where it makes sense.

Make module to Latenode node mapping
Make moduleLatenode equivalent
WebhookTrigger on Webhook node
HTTPHTTP Request node, or a JavaScript node with Axios for parallel calls
IteratorJavaScript node using .map() / .forEach()
Array AggregatorHandled inline by the same JavaScript node’s return value
Router / FilterConditional branch node, or an if statement in JavaScript
Data StoreBuilt-in database node
Scheduling triggerSchedule trigger node
Formula / custom functionFull JavaScript node (no formula-syntax ceiling)

Step-by-step Latenode Make.com migration guide: moving an existing scenario

  • List every module in the live scenario and note what each one does, in order. This becomes your build checklist.
  • Rebuild the trigger first. If it’s a webhook, create the Trigger on Webhook node and confirm the Development URL receives the same payload shape as the Make webhook currently does.
  • Rebuild native integrations with native nodes where Latenode has a direct equivalent (CRM actions, Slack messages, spreadsheet writes) rather than routing everything through JavaScript.
  • Collapse loop-and-transform logic into one JavaScript node using the mapping table above — this is usually where the operation savings come from.
  • Run the new scenario against real (or replayed) payloads using the Development URL, and compare its output field-by-field against what the live Make scenario produces.
  • Cut over the integration — update the external service’s webhook setting to the Latenode Production URL — only after outputs match.
  • Leave the Make scenario paused, not deleted, for at least one full billing cycle in case an edge case surfaces that testing missed.

Common migration pitfalls


The recommended setup

If a scenario is short, low-volume, and maintained by someone who doesn’t want to touch code, there’s no pressing reason to move it. Make’s polish and documentation are still genuinely better for that case.

For anything where an Iterator, Router, and Aggregator are doing the real work, migrating that logic into a Latenode JavaScript node is where the cost argument holds up. The same goes for scenarios chaining several AI calls or firing parallel API requests. Keep native nodes for the simple integration steps either way.


Tools referenced in this guide

Some links below are affiliate links — if you sign up through them, we may earn a commission at no extra cost to you.

Migration target

Latenode

Node-graph automation builder with a full JavaScript/Node.js node, NPM packages, and execution-time billing.

Try Latenode →

Current platform

Make.com

Visual, per-operation automation builder — still a solid fit for simple, low-volume scenarios.

Try Make.com →

Frequently asked questions

Is Latenode a good replacement for Make.com?

It depends on the scenario. Make remains a solid choice for simple, low-volume workflows built by non-technical users, especially when they rely on a native integration Latenode doesn’t yet cover. Latenode tends to make more sense once a workflow involves loops, iterators, parallel API calls, or multiple AI steps, since it bills by execution time rather than by operation and includes a full JavaScript environment for handling that logic in one node instead of a chain of modules.

How do you set up a webhook in Latenode?

Add a Trigger on Webhook node as the first node in a new scenario. Latenode generates a Development URL that runs the scenario once per request for testing, and a Production URL that runs continuously. Copy the Production URL into the external service once testing is complete, using POST if data needs to be sent or GET for a simple trigger.

Can Latenode replace a Make Iterator and Array Aggregator?

Yes. A single JavaScript node running standard array methods can replace an Iterator plus Array Aggregator combination. Since Make bills per operation, a loop over fifty items can consume dozens of operations per run. The same loop inside a Latenode JavaScript node runs as part of one execution, billed by compute time rather than by item.

Does migrating from Make to Latenode require knowing JavaScript?

Not necessarily. Latenode’s built-in AI Copilot can generate, explain, and debug JavaScript node code from a plain-language description. Being able to read the generated code well enough to sanity-check it helps, but writing it from scratch isn’t required for most migrations.

What is the biggest risk when migrating a live Make scenario to Latenode?

Cutting over the production webhook URL before the new scenario has been tested against real payloads. Build and test the equivalent Latenode scenario using its Development URL first, compare outputs against the existing Make scenario, and only point the live integration at the new Production URL once outputs match.


Disclosure: CreatorOpsMatrix is an independent technical publication. Links to Latenode and Make.com on this page are affiliate links. If you sign up through them, we may earn a commission at no extra cost to you.

Scroll to Top