During a discussion with HubSpot at UNBOUND, I raised an issue with the Workflow API relating to static branches. When retrieving workflow definitions through the API, HubSpot returned the data token and comparison value used by a branch, but not the comparison operator itself. This meant that different conditions could appear identical in exported JSON, making it impossible to reliably distinguish logic such as “equals”, “does not equal”, or “contains”. This was particularly relevant because static branches appeared to be the only branch type that supported the custom code output values used in some of our workflows.
I received an email back from the rep at 9pm that evening confirming it sounded like a gap in the public API and that they would investigate it. First thing Tuesday morning (barely 2 business days later) their engineering team had acknowledged that static branch operators were not being exposed in retrieval responses and implemented a fix to address the behaviour. The update had been merged and deployed to production.
Following deployment, my testing has confirmed that workflow exports now include the staticBranches[].operator property, allowing branch logic to be represented fully in exported JSON. We also verified that a direct v4 API update against a sandbox workflow preserved an IS_NOT_EQUAL_TO operator and that the workflow continued to display correctly in the HubSpot user interface. Combined with successful testing of both the read path and the write path, the original limitation has effectively been resolved.
Workflow definitions can now be exported, modified and re-imported without losing static-branch comparison logic. This closes the original gap where branch behaviour could not be reconstructed accurately from API output, making the Workflow API more suitable for workflow governance, automation, and configuration-as-code scenarios!

Leave a Reply