CRM Automation 7 min read

HubSpot is retiring Node.js 20 for custom code actions: how do we find and fix the workflows that will break?

From November 17, 2026 HubSpot will not let you save changes to Node.js 20 custom code actions. How to list every action, move it to Node.js 24, update libraries and test safely.

Octacer Team

November 12, 2026

LinkedIn Post on X

Have us replace the one workflow that keeps breaking.

Scope my automation
An Octacer engineer at a laptop editing a HubSpot workflow custom code action set to Node.js 24, with an async handler that returns output fields.

In short: From November 17, 2026, HubSpot will not let you save changes to workflow custom code actions that run on Node.js 20. They keep running, but nobody can edit them until they are moved to Node.js 24, and Node.js 24 needs code changes: callback-style handlers are not supported and the bundled libraries jumped versions. Find every custom code action now, upgrade and test each one on a test record, and keep a copy of the old code.

What HubSpot announced

HubSpot posted the change in its developer changelog on November 3, 2026 (HubSpot developer changelog):

Date What happens to custom code actions
November 3, 2026 You can no longer create new Node.js 20 custom code actions. Node.js 24 is available.
November 17, 2026 You can no longer save changes to existing Node.js 20 actions. Node.js 16 actions are already in this state.
After both dates Existing Node.js 16 and 20 actions keep running. HubSpot has not set a date for them to stop.

The same announcement covers design manager serverless functions, which stop running on February 1, 2027. If your website uses /_hcms/api/ endpoints, that is a separate and harder deadline.

Who is affected

Any portal with Data Hub Professional or Enterprise that uses the Custom code action in workflows with JavaScript on Node.js 16 or 20. The announcement is about Node.js runtimes and does not mention Python actions. The risk is not that workflows stop on November 17; it is that the next time someone needs to fix a bug or change a property mapping, they cannot save until the action is upgraded, and the upgrade is real code work.

Step 1: List every custom code action

  1. In HubSpot, go to Automation > Workflows and filter or search for workflows that contain a custom code action. HubSpot's upgrade guide walks through finding them.
  2. For each action, record the workflow name, the action's position, the runtime shown in the Language dropdown, the secrets it uses and who owns it.
  3. Copy the current code into version control or a shared document before you touch it. After November 17 you cannot roll back to Node.js 20.

Step 2: Change the handler

In Node.js 20 and earlier, custom code actions pass outputs to callback(). Node.js 24 only supports async handlers that return the output object:

// Node.js 20 (callback style)
exports.main = (event, callback) => {
  callback({ outputFields: { score: 42 } });
};

// Node.js 24 (async, return the outputs)
exports.main = async (event) => {
  return { outputFields: { score: 42 } };
};

Every asynchronous call inside the action now has to be awaited. A promise that was left floating before may now be cut off when the function returns.

Step 3: Check the libraries

HubSpot's guide lists new library versions for Node.js 24. The ones that break code most often:

Library Node.js 20 Node.js 24 Watch for
@hubspot/api-client ^11.1.0 13.4.0 Two major versions; check method names and response shapes
axios ^1.2.0 1.13.5 Usually safe, test error handling
googleapis ^67.0.0 171.4.0 Large jump, retest every call
mongoose ^6.8.0 9.2.2 Major changes in queries and connections
redis ^4.5.1 5.11.0 Client setup changed
request ^2.88.2 Not included Rewrite with axios or fetch

Step 4: Test on a test record

Testing a custom code action applies its changes to the record you select, so create a dedicated test contact, company or deal first. Test the success path and at least one failure path (a missing property, an API error), and check the output fields that later workflow steps depend on. HubSpot also offers a Breeze-assisted upgrade; whichever route you take, read the diff and test before you save.

Step 5: Roll out one action at a time

Existing actions keep running on their current version until you switch them, so upgrade, test and save one action at a time, starting with workflows that change records or send messages. Until November 17 you can switch a failed upgrade back to Node.js 20 from the Language dropdown and paste your saved copy. After that date, the only way forward is a fix on Node.js 24.

FAQ

Will my workflows stop on November 17, 2026?

No. Existing Node.js 20 custom code actions keep running. You just cannot save changes to them until they are moved to Node.js 24.

Is changing the Language dropdown enough?

Usually not. Node.js 24 does not accept callback-style handlers, and several bundled libraries changed major versions, so most actions need code edits and a test.

Does this affect Python custom code actions?

HubSpot's announcement is about Node.js 20 and earlier and does not mention Python actions.

Can workflow data restore undo a bad custom code change?

Do not rely on it. Test on a dedicated test record and keep the old code so you can fix forward quickly.

What about design manager serverless functions?

They are a separate track: no edits from November 17, 2026, and they stop running on February 1, 2027. Move them to developer projects.

How Octacer helps

Octacer builds and maintains HubSpot automation, including custom code actions and integrations. We can inventory your actions, upgrade and test them on test records, and document what each one does so the next change is easy. See our HubSpot services, HubSpot workflows vs sequences, the HubSpot lead scoring playbook, and why automations quietly stop when a token expires.

Next step

Today, list every custom code action and copy its code somewhere safe. If the list is longer than you can test before November 17, book a call and we will help you prioritise.

Sources

  • HubSpot developer changelog, Sunsetting design manager serverless functions and older Node.js runtimes for custom code actions (November 3, 2026): https://developers.hubspot.com/changelog/sunsetting-design-manager-serverless-functions-and-older-node.js-runtimes-for-custom-code-actions
  • HubSpot, Upgrade custom code actions to Node.js 24: https://developers.hubspot.com/docs/api-reference/legacy/automation/workflow-actions/upgrade-custom-code-actions-to-node-24
  • HubSpot, Workflows custom code actions: https://developers.hubspot.com/docs/api-reference/2026-03/automation/workflow-actions/custom-code-actions
Topics #HubSpot custom code action #HubSpot Node.js 24 #HubSpot Node.js 20 sunset #HubSpot workflow custom code #HubSpot workflow errors #Data Hub custom code

Found this useful? Share it with your team.

LinkedIn Post on X

Written by

Octacer Team

Octacer

Written from real client builds at Octacer: the systems, the trade-offs, and what we would do again.

Get new posts by email

Practical automation and engineering notes. No spam.

From reading to running

Ready to put this to work?

Let's discuss how to apply these ideas to your own work, a short call covers what's holding you up and the first thing worth building.