Skip to main content
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

  • External connections move data between ION and another system, such as syncing an order to a supplier portal.
  • Timed automations run a flow on a schedule, such as checking stock levels every hour.
  • Event-triggered flows start when something happens in ION, such as a run being created or a purchase order changing state.

Workflow Builder vs. Actions

The Workflow Builder and ION Actions both automate ION, but they solve different problems: 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.