Using Workflow Builder - ION Manual

Workflow Builder

The Workflow Builder is ION’s tool for building automation flows. A flow reacts to an ION event or a schedule, then runs a sequence of steps that can call external systems, transform data, and read or write ION through the GraphQL API. You assemble a flow visually from prebuilt components instead of writing an integration from scratch.

What you can build

Workflow Builder vs. Actions

The Workflow Builder and ION Actions both automate ION, but they solve different problems:

Workflow Builder ION Actions
Purpose Orchestrate automation across systems Enforce a business rule on a change
When it runs On a schedule or in response to an ION event Inside a change, before it saves
Typical use Sync data to an ERP, replenish inventory, call an external API Block an invalid change, require a field, gate an approval
Reach ION plus external systems ION data only

Use Actions to allow, block, or warn on a change as it happens, such as preventing R&D parts from being kitted into a production run. Use the Workflow Builder to move data between systems or run automation on a schedule.

Access and permissions

Open Workflow Builder from the left navigation, under Developer Platform. The entry is hidden unless your organization has the Workflow Builder enabled and your role has the ReadEmbeddedWorkflowBuilder permission. Admins have access by default. To grant access to another role:

  1. In ION, go to Settings > Organization > Members > Roles.
  2. Select the role you want to grant access to.
  3. Enable the EmbeddedWorkflowBuilder permission.
  4. Repeat for each role that needs access.

Build a flow triggered by an ION event

Most ION flows start from the ion-webhooks component, which subscribes to ION events and exposes them as a trigger inside the flow. It creates the webhook receiver, manages the subscription, and cleans it up when you remove the flow. To build a flow that runs when an ION event fires:

  1. In the Workflow Builder, create a workflow and give it a name.
  2. Add the ion-webhooks component and set it as the flow’s trigger.
  3. For the trigger’s Connection, select an existing ION connection or add one. A new connection needs a name, your ION API keys as the client ID and secret, and the environment your ION instance runs in.
  4. Set a Webhook Receiver Name. ION uses this name for the receiver it creates, so matching it to the flow name keeps the two easy to trace.
  5. Add one or more trigger events as resource-and-action pairs, such as Runs - Create to fire whenever a run is created. A flow can trigger on more than one event.
  6. Add the downstream steps that carry out your automation, then test and publish the flow.

Any flow that reads or writes ION data uses the ion-webhooks component for its ION connection.