Flow Studio and Flow Monitor overview

What a flow is, how drafts, versions and instances fit together, what you need to turn the products on, and who can do what.

BetaFlow Studio and Flow Monitor are in beta. Both need two things: The flow feature switched on for the Orchestrator. It is off by default: set the configuration key Features:FlowDesigner to true (as an environment variable, Features__FlowDesigner=true) and restart the Orchestrator. The Flow Studio and Flow Monitor services enabled for the tenant by a platform administrator, and included in the tenant's subscription. See Platform administration. While the feature is off, the pages say Flow Studio isn't enabled for this tenant or Flow Monitor isn't enabled for this tenant, and the flow API answers 404. A flow coordinates work that takes longer than one job: a robot extracts an invoice, a person approves it, and another robot posts it to the ERP. The flow waits between steps, for minutes or for days, without holding a robot. Flow Studio (/flow-designer in the Orchestrator web app) is where you draw a flow, set up each step, check it and publish it. Flow Monitor (/pulse) shows the flows that run: how many instances are running, which ones stopped at an incident, how long each step takes against its target, and the controls to fix a stopped instance. Open either from the app launcher in the top-left corner of the Orchestrator. Concepts# Term Meaning Flow A named diagram in the tenant: elements (events, tasks, gateways), the sequence flows between them, and variables. What you edit is the flow's draft. Draft The editable definition. Flow Studio saves it automatically. Saving never fails because of a modelling problem; problems are listed instead. Version An unchangeable snapshot created when you Publish: v1, v2 and so on. It records the exact package version of each automation, the Action App version of each user task, and the version of each called flow. Instance One run of one version. An instance stays on the version it started with (pinned), so publishing again never changes a running instance. A normal run always starts the newest published version. Token Where an instance is in the diagram. A parallel gateway splits one token into several and joins them again. Wait A token that waits for something outside the flow: a job to finish, a person to complete a task, a timer or a message. Incident A token that cannot go on without someone's help, for example because the job of a robot task failed. Flow Monitor shows why and offers the resolutions that fit. What a flow can contain# Group Elements Events Start, Timer start, Message start, Timer, Message catch, Message throw, End, Error end, Terminate end, Message end Tasks Robot task (runs a process as a job), User task (raises an Action Hub task), Business rule task (evaluates a business rule), Send task, Receive task, Call activity (starts another flow) Sub-processes Sub-process, Event sub-process Gateways Exclusive gateway, Parallel gateway, Inclusive gateway, Event-based gateway Boundary events Timer boundary event, Error boundary event, Message boundary event Tasks can also run as a parallel or sequential multi-instance, once per item of a list. You can import other BPMN 2.0 elements, but a flow that contains an element the engine cannot run (for example an agent task) cannot be published until you replace it. Who can do what# Flow permissions are tenant-wide. The built-in Administrator role has all of them; for anyone else, add them to a custom role. See Manage access. Permission Allows flow_designer.view Open Flow Studio and read flows and versions. flow_designer.edit Create, edit, publish, debug-run and run flows. flow_designer.delete Delete flows. pulse.view Open Flow Monitor: flows, instances, incidents, batch operations. pulse.edit Operate instances: suspend, resume, cancel, retry an incident where that is safe, preview and run bulk cancels and retries. pulse.override Change a running instance by hand: resolve an incident (mark succeeded or failed, retry anyway, take the error path), edit variables, move a token, migrate to another version. Every override asks for a reason and is audited. It is never included in pulse.edit. pulse.message Send messages to flows through the API. A flow's robot tasks start jobs as the person (or trigger) that started the instance. That principal also needs jobs.create in the workspace of each automation, or the step stops at an incident. Next steps# Design a flow Publish and run a flow Monitor flows Resolve incidents Migrate and change running instances

Concepts

What a flow can contain

Who can do what

Next steps