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.
Have us replace the one workflow that keeps breaking.
Scope my automationOn this page 0% read
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
- 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.
- 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.
- 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
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.