Skip to content

Building a flow

You need flow.build to draft and test a flow, and flow.publish (plus every permission its steps use) to publish it. Nothing runs until a version is published.

Press New flow on Flows. There are three ways in:

  • Describe what you want to happen. Type it as you would say it to a colleague, and the drafting chat builds a draft.
  • Start from a template. The gallery groups templates under People, Access, Devices, Desk and Other apps. Each card shows its steps, the apps it needs (Connected, or what is missing) and what it changes. Use this template makes a draft for you to change; templates are copied, never linked.
  • Start from scratch. Choose what starts it, then add the steps yourself.

Build with AI in the editor header opens the chat beside the flow. It drafts a flow from your words, or changes the current one (“add an approval by the head of department before the licence”). A change is shown before anything is applied: press Apply the draft or Apply the change, or Discard. It never publishes.

The chat drafts from how your school actually works:

  • Your configuration. The actions your connected apps really support, your account templates, groups (with the reason any are refused), licences with free seats, request catalogue items, and the flows you already have, so it can say when one already does the same thing.
  • Records you point at. Mention a ticket like #1423 or a repair like R-75 and it becomes a chip in the message, under Built from. Each chip is read through your own access: a record you cannot open reads as not found. Up to 10 per message.
  • What your desk did before. For similar settled tickets from the last 180 days on your own desk and campus, it counts what was done (assignments, approvals, completed tasks, account changes) and shows that evidence before it drafts. For a staff joiner it also shows the groups and licences a sample of current staff hold, as shares, and can offer Make the account template.

When it cannot be sure, it asks instead of guessing. For a people flow the first question is usually what should start it: a staff member appearing in your student system, someone adding a staff member in Plugboard, and so on. A start your school cannot use is shown greyed with its reason.

  • It only offers steps your school can run. Anything else becomes a placeholder card that blocks publishing until you replace or remove it.
  • Fields that choose who or what changes (the account, the group, a recipient) can only hold record choices, such as the requester or their manager. The chat cannot type an address or account name into them.
  • Every privileged step it drafts must be opened by you before the flow can be published.
  • Internal notes never reach the prompt. A student’s or parent’s words never go to the model for drafting, and a staff flow never sees tickets students or parents raised. Names and IDs are masked as for every AI call.

A drafted flow is marked Drafted with AI: check each step until you publish it. When your drafts come from a small model on your school’s server, the chat says so; a hosted model drafts better. With AI off for your school, flows are built step by step and the chat is hidden.

The editor has four tabs: Build, Runs, Versions and Settings. It saves as you go and shows Draft has 2 changes (or how many) beside the name, and a count of things to fix that opens a list grouped by step.

A flow reads top to bottom: a sentence summarising it, the trigger card (“When”), the conditions (“Only if”), numbered step cards and an end. Each card says what it does, which app does it and how it runs (“Runs on its own”, “Needs a go-ahead”, “Go-ahead with step-up”).

  • Press + between cards to add a step. The picker shows Suggested next (from AI, when it is on), Plugboard, Your apps and Flow tools. Actions your school cannot use are greyed with the reason.
  • Select a card to edit it in the panel beside the spine. Each step has an If this fails choice: Try again, then pause, Pause for a person, Stop the run or Carry on. Changes to other systems pause for a person by default.
  • A Branch or Decide card splits into lanes side by side, each labelled with its answer. On a phone you switch between lanes.
  • Each card’s menu has Move up, Move down and Remove step.

Every action card’s menu has Ask for approval first, which wraps the action in an Approval: it runs only if approved, and the Declined and Expired lanes stop. Actions that are usually asked for (group access, licences, lending a loan device, issuing stock) also appear in the picker a second time as their own request, such as “Request approval to add to groups”.

Approvals go to people taken from records: named people, anyone in a role, the ticket’s assignee, the person’s manager or their manager’s manager. Any one, all, or in order. They expire after 7 days by default (30 at most), remind at half time, and can ask a fallback person once when nobody answers.

A field can take a fixed value or a value from earlier, shown as a pill. Type { or press the + at the field’s edge to choose one. Only values of the right type are offered.

Every pill says where its value came from:

Mark Meaning
Set in this flow Typed by the author
From the record Something Plugboard resolved, such as the ticket’s requester
Entered by staff Typed into a run form or task
Typed by the requester A subject, description or emailed message
From another app A reply or event from a connected app
Written by AI Model text
Matched from text A record a Find step matched from text

Text from a requester, another app or a model can never choose who or what a step changes. It can only reach those fields through a Find step, and any change made with the match asks for its own go-ahead that shows the match. Sensitive values, such as account state, are never offered to decisions or messages.

Conditions read as sentences (“Category is Access”), joined by All of these or Any of these. Use Add a condition for a field, or Add a condition in words for something only a person reading the ticket could judge, such as “the ticket is about a staff member starting at the school”.

A condition in words becomes a question in your school’s question library. It always has words to look for (If AI can’t answer, these words decide), which decide with AI off, while the question is learning, and whenever no answer comes. While AI is asked, the run shows as Checking for up to 10 minutes, then the words decide. How the question learns is in decision models.

See which recent tickets these match runs a backtest of the conditions.

The Settings tab holds the owner and desk, the campuses it covers (none ticked means every campus), One run at a time per record, Can be started by changes other flows make, Open a case ticket when someone is needed, the rank among flows on the same desk with Stop the flows after this one, and Suggest first, which makes the flow wait on the record as an offer (see offers).

Press Review and publish. The dialog shows, in sentences:

  • the changes from the version that is running, step by step, and an optional change note;
  • what it can do, grouped by tier, with every permission it needs and whether you have it;
  • about how many runs a week it would have started over the last 30 days;
  • what AI will cost, such as “About one AI call for each ticket it checks: about 40 a month at last month’s volume”;
  • whether to publish it On or as Watching (see testing).

Publishing always asks for step-up. If you lack a permission the flow uses, the dialog says which one and lets you ask someone who holds it to publish instead; your draft is kept for them.

Two-person publishing, off by default in Flow controls, means whoever last edited a flow with privileged steps cannot publish it: the dialog becomes Ask someone to publish, and the request lands in that person’s approvals.

Each publish makes a numbered version. The Versions tab lists them in sentences with Restore, which publishes the old version again as the next version (with step-up). Runs already going finish on the version they started on. A version whose stored definition does not match what was published will not run, and the flow pauses with an alert.

Turning a flow off is Turn off in its row menu on Flows, and needs only flow.publish. Turning it on goes through the publish review, because it may need step-up.

Flow controls, in the Flows page menu, holds the switches for every flow at the school. Changing them needs flow.publish.

  • Pause all flows: nothing starts and runs in progress wait until you turn it off.
  • Hourly limits: Each flow, per hour (default 60) and Whole school, per hour (default 500). Steps over a limit wait; 0 turns a limit off.
  • Two-person publishing: described above.
  • Protected accounts: sign-in addresses, and name patterns (break-glass, emergency by default), that no flow may change. Accounts that hold a directory role are protected anyway.

A flow’s unattended steps act within its owner’s access, shown under Owner and desk in Settings. Transfer ownership (in the editor’s menu) offers the flow to someone else with step-up. Nothing changes until they accept, also with step-up, and they must hold every permission the flow uses. Until then you can withdraw the offer. If an owner loses a permission the flow needs, the flow pauses until someone with that access takes it over.