June 3, 2026

We describe the new public API and several enhancements to workflows.

Product updates

Real-time Workflow API

Middle now has a real-time workflow API. Via this API, you can list what workflows can be invoked, and invoke one. This is a powerful way to support real-time, transactional integrations driven by a user's actions.

Adding a real-time workflow API endpoint

The new real-time workflow API is compatible with modules. You can make a module feature that requires a module-defined workflow be enabled via the real-time API, allowing a standardized way to set up an API across several accounts.

API keys

An API key allows access to a single account. You can't use a single API key to access more than one account. To configure a new API key, navigate to the API keys option on the left side of any account page.

API Keys page in an account

From here you can create a new API key. Follow the instructions on the page to generate and copy the key itself. You cannot retrieve a key once it has been generated, but you can rotate the key (this generates a new one and deactivates the old one).

Workflow variables

Workflow variables have been updated to work more like normal variables in programming in general.

You can declare them, then set them throughout a workflow.

Variable drawer

Access the new variables drawer with the "Variables" button, which appears above each step drawer and at the top of the Edit Workflow page

New "variables" button at the top of the edit workflow page

Within the variable drawer, declare a variable. This variable begins undefined, and if accessed will return null until it is set.

New variables drawer

Variables can also be created when assigning them.

Variable assignment

You can assign to variables using the Set Variable step, or in Actions, to map Action output into a variable.

The "Set Variable" step has been changed significantly. Prior to today's update, this step required users to declare an whole object (using the object attribute editor) and then set all the values in that object.

Now, this step just requires that you set any declared variable. (You can also declare a new variable right there in this step, by either selecting the "Create..." option from the variable drop-down, or the "Variables" button at the top.)

"Set variable" step example

Actions can now directly assign to variables. This is now the preferred and only way to access the output of an action.

Variable assignment from an Action step

Why was this change made?

Previously, accessing data from earlier in the workflow meant choosing a specific prior step and pulling out some data from it. With this update, workflows can now join the path of execution, which means it's no longer clear what steps have been executed in the past. Declared variables resolves this issue. It also makes workflows easier to understand.

What happens to old workflows?

Old workflows have been grandfathered into the new system, by declaring and writing to variables in just the same way as how the old system worked.

You will find that your old workflows declare variables in the form of "WORKFLOW:{N}" where N is the workflow step, and the type is the prior output object of that step.

All current workflows will continue working just fine. But for new versions of your workflows, we recommend refactoring them to make use of the new variable system.

Joining the path of execution

Workflows can now join the path of execution. This means, for example, that you can have two or more steps' next step, be the same step. This should reduce significantly the amount of duplication that currently has to be encoded in workflows that have branching paths.

You can also detach steps and move them around.

Example of joining the path of execution

Return node

Workflows also have a new "Return" step which ends the path of execution and returns a value back to the caller, in the case of a Real-time Workflow API call.

Other updates

Workflow Triggers have been moved off the home page of an account and to their own dedicated subpage. This should declutter the home page and allow more room for automated warnings.

Workflow triggers now have a dedicated page

Added arrays of objects to the Module variable selection.

Bug fixes

Fixed a 500 error that could occur when re-executing workflows without any search selection.

Changed the default poll sync overlap and frequency from 5 minutes to 15 minutes.

Fixed issue displaying app connection names in the left sidebar.

Fixed an issue where the wrong app connection could be used in an assisted variable within a module feature.

Last updated

Was this helpful?