Building workflows
Design workflows on the canvas — steps, connectors, triggers and Poppi (AI) steps.
Canvas overview
The canvas is the visual builder where you design workflow templates in Pilla. It only exists on the web app — the mobile app shows the finished work runs to your staff, but the canvas itself is web only.
What the canvas is
The canvas is a drag-and-drop screen where every workflow template is designed. You add steps (called elements), wire them together with lines, and group related steps into collapsible containers. When you save the template, those steps become the workflow runs that your staff complete on their phones.
You never edit the canvas on mobile. Open it on a laptop or desktop browser.
How to open the canvas
The canvas opens in place, on top of the Workflow templates view.
- Open the Workflow templates view from the app navigation, or from the templates card on the dashboard. Templates are sorted into three columns by trigger type: External triggers, Manual triggers, and Scheduled triggers.
- To edit an existing template, click any row in the list. You can also open the three-dots menu on a row and choose Edit workflow.
- To start a fresh one, click the dark New template button in the top right of the view.
Either path drops you straight into the canvas.
The trigger node
Every canvas has a trigger node pinned at the top, labelled Trigger with a lightning-bolt icon. You can't delete it. It's the entry point for the workflow — every other step you add eventually connects back to it.
Inside the trigger node is a dropdown showing the current trigger type. Click it to choose how the workflow fires:
Trigger manually— Manual. A staff member starts it on demand from the mobile menu.Run just once— One-time. The workflow fires once at a date and time you pick.Run on a schedule— Recurring. The workflow fires daily, weekly, monthly, and so on. A fourth kind, External (Run from external trigger), is coming soon. It will let an outside service (such as a Slack reaction) fire the workflow. You won't see it in the dropdown until it launches.
The header bar
A bar across the top-left of the canvas holds the three fields every template needs:
- Name (text field, required) -- the workflow name your staff see on mobile. The placeholder reads "Work template name"
- Tag (single-select dropdown, required) -- pick an existing tag, or type a new tag name in the New tag... box at the bottom of the dropdown and click the Plus icon button to create one
- Teams (multi-select dropdown, required) -- pick one or more teams. The dropdown has a Select All / Deselect All option at the top. Choosing Select All keeps the workflow in sync with any new teams you create later
A red border around any field means it's empty and needs filling in before you can save.
A small panel of controls sits in the top-right of the canvas, just across from the header bar:
- Close and discard -- closes the canvas and returns you to the Workflow templates view. If you have unsaved changes, the Unsaved changes popup appears first
- Save -- writes the template live and re-creates any future work runs from it. A small amber dot appears on this button while you have changes you haven't saved yet
There is one Save button and no separate draft-then-publish step. Every save goes live straight away. The canvas does not save on its own — nothing is kept until you click Save, so click it before you walk away.
If you click Close and discard with changes you haven't saved, an Unsaved changes popup appears with three buttons: Keep editing (go back to the canvas), Discard & close (leave without saving), and Save & close (save first, then leave). The same popup appears if you try to navigate away using the sidebar.
For more on saving and what your staff see, see the Saving a workflow template help page.
The left toolbar
A stack of two small toolboxes sits on the left edge of the canvas, vertically centred. Hover any icon for a tooltip.
The top toolbox is for adding steps. At the very top is the Group button (a dashed-square icon) that drops an empty group — a collapsible container — onto the canvas. Below it are four category buttons. Hovering each one opens a row of step types you can click or drag onto the canvas:
- Inputs -- text, number, stepper count, date & time, current date & time, current user, and current location steps
- Choices -- checklist, choice, rating scale, cascading select, and user choice steps
- Media -- photo, file, signature, voice note, sketch pad, and annotated photo steps
- Guidance -- written, photo, and video guidance for staff (no answer expected)
The bottom toolbox has the view controls:
- Zoom in / Zoom out -- the plus and minus buttons that move you closer to or further from the canvas
- Fit to view -- the expand button that centres and scales the canvas so the whole workflow is visible
- Undo / Redo -- step backwards and forwards through your recent changes
The mobile preview
A small iPhone frame sits on the right edge of the canvas, vertically centred. It updates as you add steps so you can see how the workflow will look on a worker's phone. Click the mini frame to expand it into a full-size, interactive preview you can tap through.
For more on the preview, see the Mobile preview help page.
Empty canvas first state
When you start a brand-new template, the canvas shows just the trigger node and nothing else. Click the + button below the trigger node, or drag any step from the left toolbar onto the canvas, to start building.
Tips
- Brand-new templates that you haven't saved yet keep a backup in your browser. If you close the canvas without saving, the next time you open a new canvas you'll see a banner offering to Resume your unsaved work or Discard it.
- Saving won't go through while something is missing. Click Save, and any problems are highlighted in red on the canvas and listed under the Save button — for example an empty Name, Tag, or Teams field, an unconnected step, or an empty group. Fix the highlighted items and save again.
- Templates built before the current canvas open as a read-only preview that's been laid out for you automatically. You can pan, zoom, and look at every step, but those older templates can't be saved into the new canvas yet — you'd need to rebuild them.
- The canvas works best on a wide screen. On a small laptop, use the Fit to view button to scale things down.
Groups
A group is a container on the canvas that bundles related elements into one section. On mobile, the elements inside a group show up together inside a single bordered box, so staff can see at a glance that those steps belong together.
What a group is
A group holds one or more elements as steps inside it. Use groups when a few elements belong together as one logical step — for example, three checks that all relate to "opening the kitchen", or two photos and a signature that all confirm "delivery accepted".
A group can only hold elements (text, number, photo, checklist, and so on). You cannot put another group inside a group, and you cannot put Poppi nodes inside a group. Poppi briefings, decisions, and actions attach to individual elements as left or right satellites, so they live alongside an element rather than inside a group.
Add a group to the canvas
You add a group from the left toolbar.
- Open the workflow template you want to edit.
- On the left toolbar, find the Group button. It's the top icon, shown as a dashed square. Hover it and the tooltip reads "Group".
- Tap it. An empty group appears on the canvas, attached to the bottom of your current flow.
You can also add a group from the plus menu below any existing node. Tap the round plus button, choose Open or Gated, then tap the dashed-square Group icon in the picker that opens.
Fill an empty group
When a group has no steps yet, it shows an Add first step button in the middle.
- Tap Add first step.
- A small picker pops up: a row of category buttons — Inputs, Choices, Media, and Guidance. Hover or tap a category to open its flyout of element types.
- Tap the element you want. It drops in as the group's first step.
Add more steps to a group
Once a group has at least one step, an Add another step button sits across the bottom of the group, just inside the dashed border. It stays there however many steps the group holds, so you never have to drag elements in from the left toolbar.
- Tap Add another step at the bottom of the group.
- Pick the element you want from the same category picker — Inputs, Choices, Media, Guidance.
- The element drops in at the bottom of the group, and the group grows to fit it.
You can also drag an element straight from the left toolbar onto a group to drop it inside. To take a step back out, drag it off the group onto the main canvas.
What you can put inside
A group can only hold elements. The category picker offers:
- Input elements — Text, Number, Stepper count, Date & time, Current date & time, Current user, Current location, plus the media inputs: Photo, File, Signature, Voice note, Sketch pad, Annotated photo.
- Choice elements — Checklist, Choice, Rating scale, Cascading select, User choice.
- Guidance elements — Written guidance, Photo guidance, and Video guidance.
You cannot put another group, or a Poppi briefing, decision, or action, inside a group. Poppi nodes sit as satellites on the right or left side of a specific element instead.
The group header
Every group has a faint header strip across the top:
- "Group" label on the left — also acts as the drag handle, so you can move the whole group by grabbing this strip.
- Preview button (play icon) — opens the test preview for just this group, so you can see how it'll look to staff on mobile without running the whole workflow. Hidden in the public playground.
- Duplicate button (copy icon) — makes a copy of the whole group and its steps.
- Delete button (red trash icon) — only appears once the group is empty. A group with steps inside it has no trash icon.
How groups render on mobile
On the mobile preview and on staff phones, a group becomes a single bordered box. Staff see the group's steps stacked one under another inside that box, so it reads as one section rather than a run of separate cards.
If a group is gated — its steps stay hidden until the previous step is complete — it shows a small downward-right arrow in a gutter to the left of the box. Inside a group, an individual step that's gated on an earlier step in the same group shows the same arrow next to it, with a slight indent.
Delete a group
You can only delete a group once it's empty. The red trash icon in the group header appears just for empty groups — a group that still holds steps has no trash icon, so it can't be removed by accident.
To remove a group that has steps:
- Empty it first. Drag each step out of the group onto the main canvas to keep it, or delete the steps you don't want.
- Once the group is empty, the red trash icon appears in its header.
- Tap the trash icon. The empty group is removed straight away.
Tips
- Use groups for sections of a workflow that belong together logically — for example, opening checks, mid-shift checks, closing checks. Staff find a long flat list of 20 elements much harder to scan than three groups of 6-7 elements.
- A group never disappears on its own. If you drag the last step out, the group stays as an empty box until you delete it — so an unfinished workflow won't lose a section by accident.
- The Preview this group button is the fastest way to sense-check a group's flow without running the full workflow.
- To keep a step but remove its group, drag the step out onto the main canvas first, then delete the now-empty group.
Input elements
Input elements are the steps where staff provide a value — they type, tap, draw, photograph, stamp, or record something, and Pilla saves the answer to the workflow run. They range from a basic text box to a freehand sketch pad.
What input elements are
An input element captures something from the person doing the workflow run. The value goes into the workflow run, where it shows up in the run history, exports, and any reports.
You set up each input element when you build the workflow template on the canvas (web only). Staff then fill it in on the mobile app when they run the workflow.
All input elements at a glance
These are the input elements you can add from the canvas element picker. They split across two flyouts — the everyday ones in Inputs, the media ones in Media.
| Element name | What it does | Notes |
|---|---|---|
| Text | Captures a free-text response from staff. | Good for descriptions, notes, anything open-ended. |
| Number | Captures a numeric value. | The mobile keyboard switches to numeric. |
| Stepper count | Tap +/− buttons to enter a count. | Better than a number for small counts where a keyboard is overkill. Set start value, step size, min and max. |
| Date & time | Captures a date and time. | Mobile shows a date and time picker. |
| Current date & time | Stamps the current date and time with one tap. | A button staff tap to record exactly when they did the step. |
| Current user | Stamps the worker's name with one tap. | A button staff tap to record who did the step — good for "who witnessed this". |
| Current location | Captures the staff member's location. | Staff tap a button to stamp where they are. Optionally check they're at an expected place. |
| Photo | Requires staff to take a photo. | Opens the camera on mobile. |
| File | Requires staff to upload a file. | A document such as a PDF, image, or signed form. |
| Signature | Captures a finger-drawn signature on a blank pad. | Use for sign-offs, deliveries, compliance attestations. |
| Voice note | Records a short audio clip. | Good for observations staff can't easily type. |
| Sketch pad | Lets staff draw freehand on a blank canvas. | Useful for hazard maps, room layouts, rough diagrams. |
| Annotated photo | Staff take a photo, then draw arrows, circles, or labels on it. | Good for damage reports or highlighting issues. |
Where to find them on the canvas
On the canvas left toolbar, and in the plus menu below any node, the element picker splits steps across four flyouts: Inputs, Choices, Media, and Guidance. The input elements live in two of them.
The Inputs flyout holds Text, Number, Stepper count, Date & time, Current date & time, Current user, and Current location. The Media flyout holds Photo, File, Signature, Voice note, Sketch pad, and Annotated photo, with a small divider before the Media button. So if you're looking for Photo or Signature, open Media rather than Inputs.
Common configuration
Every input element shows the same two fields at the top of its config card on the canvas:
- Input name (text, required) -- the label that appears in run history, exports, and reports.
- Instructions (textarea, required) -- the help text staff see above the input on their phone. The card labels this field for the specific element, for example "Instructions for staff taking a photo". Use it to tell them what "good" looks like, what to include, or any rules.
There's also a Mandatory toggle at the top right of the name field. Turn it on and staff can't complete the workflow run without filling in this step. On the mobile app, a mandatory step shows a small asterisk after its title.
Input elements can also carry an optional Instructions for Poppi (AI) to make a decision field at the bottom of the card. Fill it in and Poppi judges the staff member's answer and branches the workflow yes or no. Poppi rules are covered in the Poppi steps docs.
Per-element configuration
Most input elements need nothing beyond the name, instructions, and mandatory toggle. A few have extra fields.
Stepper count -- four extra fields:
- Start at (number, optional) -- the initial value shown to staff. Defaults to 0.
- Step (number, optional) -- how much each tap changes the value. Defaults to 1.
- Min (number, optional) -- lower bound. Leave blank for no minimum.
- Max (number, optional) -- upper bound. Leave blank for no maximum.
If you set a min above the current start value, Pilla bumps the start up to match. Same for max — if you set it below the start, the start drops.
Current location -- one optional setting. Tick Check user's location and an Expected location address box appears. Type the place staff should be when they stamp their location. On mobile, if the worker is more than 50 metres from that place when they tap to capture, Pilla blocks the stamp and tells them to move closer. Leave the box unticked and the element just records wherever the worker is, with no distance check.
Current date & time, Current user -- no extra fields. Each shows staff a single button to tap. The date and time, or the worker's name, is stamped in when they tap it.
Photo, file, signature, voice note, sketch pad, annotated photo -- no extra fields. The input itself opens on mobile when staff reach the step.
Date & time -- no extra fields. Mobile shows a combined date and time picker.
Text, number -- no extra fields beyond name, instructions, and mandatory.
What staff see on mobile
Each input element appears as a card on the work run, with your instructions above the input. What staff tap depends on the element.
Typing and tapping inputs. Text and Number open the keyboard (Number switches to a numeric pad). Date & time opens a date and time picker. Stepper count shows +/− buttons around the current value.
One-tap stamps. Current date & time shows a Stamp current time button; Current user shows a Stamp my name button. Once tapped, the stamped value replaces the button, with a Clear option to redo it. Current location shows a Get Location button — tapping it asks for location permission the first time, shows Getting Location... while it works, then displays the captured spot with a Clear option.
Media inputs. Photo and Annotated photo open the camera; Annotated photo then lets staff draw arrows and labels on the shot. File opens a file picker. Signature shows a Tap to sign button that opens a blank pad. Sketch pad shows a Tap to sketch button that opens a blank drawing canvas. Voice note shows a Record voice note button, with playback controls once recorded. Photo and File accept up to five attachments per step, with a counter showing how many are added. Annotated photo, Signature, and Sketch pad each capture a single item per step.
Tips
- Use the Instructions field to remove ambiguity. "Take a photo of the area" is much weaker than "Take a wide-angle photo showing the whole prep bench, with the floor visible at the bottom of the frame".
- Reach for a stepper count when staff need to count something small (1–20 trays, 0–10 customers). It's faster than typing and means fewer mis-taps.
- A sketch pad beats a text description when staff need to show where something is — a hazard, a damaged area, a layout.
- An annotated photo is the strongest evidence you can capture. Use it for damage reports, before-and-after checks, and incidents.
- Current date & time, Current user, Current location, and Signature all create solid audit trails. Use them anywhere you need proof of when, where, or who.
- Set an Expected location on a Current location element to prove staff were actually on site — the 50-metre check stops them stamping from anywhere else.
Choice elements
Choice elements are the steps where staff pick from a set of options you've defined. There are five of them — a checklist of items to tick off, a choice picker, a user choice picker for selecting team members, a rating scale, and a cascading select.
What choice elements are
A choice element shows staff a list (or scale) of pre-defined options. Staff pick one, several, or work through them. The picked option (or options) go into the workflow run, where they show up in the run history, exports, and any reports.
You set up the options when you build the workflow template on the canvas (web only). Staff can't add new ones at the moment they fill it in — they pick from what you've defined. The one exception is the User choice element: there you don't type the options, because they're filled in automatically from the team members on that workflow run.
All choice elements at a glance
These are the five elements in the Choices flyout of the canvas element picker.
| Element name | What it does | Notes |
|---|---|---|
| Checklist | Staff tick off a list of items one by one. | Each item has its own tick. Good for "did you do all of these" sequences. |
| Choice | Staff pick from a list of options you type. | Tick "Allow multiple selections" to let staff pick more than one. |
| Rating scale | Staff pick a value from a numeric scale. | Set a start and an end (any whole numbers from 1 to 10). Pilla auto-generates the buttons. |
| Cascading select | Two linked lists — the child options depend on the parent choice. | Good for hierarchical lists like region then site, or category then sub-category. |
| User choice | Staff pick one or more of the team members on the workflow run. | Options come from the team automatically — you don't type them. Tick "Allow multiple selections" to let staff pick more than one. |
Where to find them on the canvas
On the canvas left toolbar, and in the plus menu below any node, the element picker splits steps across four flyouts: Inputs, Choices, Media, and Guidance. All five choice elements live in the Choices flyout.
The picker offers one Choice starter and one User choice starter. There's no separate "single" and "multi" item to choose between — you add the starter, then tick Allow multiple selections on the card if you want staff to be able to pick more than one.
Common configuration
Every choice element shows the same two fields at the top of its config card on the canvas:
- Input name (text, required) -- the label that appears in run history, exports, and reports.
- The instructions field (textarea, required) -- the help text staff see above the picker on their phone. Its label is worded to match the element you're building, so it starts Instructions for staff and ends with the task — for example Instructions for staff carrying out the checklist, Instructions for staff picking from the options, Instructions for staff picking a rating, Instructions for staff picking a hierarchical option, or Instructions for staff picking from the team.
There's also a Mandatory toggle at the top right of the name field. Turn it on and staff can't complete the workflow without picking something. On the mobile app, a mandatory step shows a small asterisk after its title.
Choice elements can also carry an optional Instructions for Poppi (AI) to make a decision field at the bottom of the card. Fill it in and Poppi judges the staff member's answer and branches the workflow yes or no. Poppi rules are covered in the Poppi steps docs.
Checklist
A checklist gives staff a list of items to tick off one at a time. You add the items when you build the template.
- Go to the Checklist items field on the card.
- Type an item in the Add item box and press Enter, or tap the plus icon to the right.
- Edit any item by typing over it, or remove it with the red X beside it.
On mobile, staff see each item as a row with a square box to tick. They tap each one to mark it done, and a tick appears in the box. Once a checklist item is ticked it locks, so staff can't accidentally un-tick a completed item.
Choice
A choice element shows staff the options you type, as a list of tappable rows. By default they pick one; tick Allow multiple selections and they can pick several.
- Go to the Options field on the card.
- Type an option in the Add option box and press Enter, or tap the plus icon.
- Edit any option by typing over it, or remove it with the red X.
- To let staff pick more than one, tick Allow multiple selections above the options.
On mobile, each option is a row with a round tick to its left. Whether you allow one or multiple selections, staff tap the rows they want — with single-select, tapping a new option moves the tick to it.
User choice
A user choice element lets staff pick people from the team on that workflow run. You don't type any options — Pilla fills the list with the team members automatically. Like the Choice element, tick Allow multiple selections to let staff pick more than one.
There are no options to type. The only setup is the name, instructions, the mandatory toggle, and the Allow multiple selections tick.
On mobile, staff tap the picker and a sheet opens listing the team members, each with their photo and name. With a single selection the picker shows the chosen person's name, headed Select user (or Selected user once complete). With multiple selections allowed, the picker is headed Select users, each row has a round tick, and a Done button closes it. Once the step is complete, tapping it reopens the picker read-only — if two or more people were picked, the step shows {N} people instead of listing every name.
Rating scale
A rating scale gives staff a row of numbered buttons to tap. You set the lowest and highest numbers.
- Start (number, required) -- the lowest value on the scale.
- End (number, required) -- the highest value on the scale.
Start and end must both be whole numbers between 1 and 10, and end must be greater than start. Pilla auto-generates a button for every whole number in the range — so a 1 to 5 scale gives staff buttons for 1, 2, 3, 4, 5. On mobile, scales with more than five buttons wrap onto two rows so each button stays easy to tap.
Cascading select
A cascading select is two linked lists, where the second list depends on the first. You build the tree in the Parent → child options field.
- Type a top-level option in the Add parent option box and press Enter, or tap the plus icon.
- Under each parent, add its child options in the Add child box for that parent.
- Remove any parent or child with the red X beside it.
On mobile, staff pick a parent first. Once they tap a parent, the list collapses to that choice and the child options for it appear underneath, each marked with a small corner arrow so the hierarchy reads at a glance. Tapping the chosen parent again clears the whole selection so they can start over.
Use cascading selects when one choice naturally drives the next — region then site, department then station, category then sub-category.
Tips
- A checklist is the right shape when staff need to confirm they did several separate things. A Choice with Allow multiple selections is the right shape when they pick a subset from a known list of answers.
- Reach for User choice whenever the answer is "which person" — who witnessed a delivery, who was present at a briefing, who signed off. You don't have to maintain a name list; it always reflects the team on the workflow run.
- For a rating scale, 1 to 5 is fastest on mobile (the buttons fit on one row). 1 to 10 gives you finer-grained data but wraps onto two rows and takes longer to fill in.
- A rating scale only shows numbers, with no wording under the buttons. If staff need to know what each number means, spell it out in the Instructions for staff picking a rating field — for example, "1 = unusable, 5 = perfect" — so everyone grades the same way.
- Cascading selects keep long lists manageable. If you have 50 sites across 5 regions, splitting them into region then site means staff only see 5 options first, then 10 or so.
- Keep choice option lists short on mobile. More than about 8 options and staff start scrolling — consider splitting into a cascading select or using a different element type.
Guidance elements
Guidance elements give staff context inside a workflow — written notes, a reference photo, or a short video walkthrough. They don't capture a response. Staff read or watch them, then move on to the next step.
What guidance elements are
A guidance element is a read-only step. Staff see it, learn from it, scroll past it. There's no answer to capture, so nothing about the staff member's response is saved to the workflow run — the guidance content you set on the canvas is simply shown to them.
Use them to set context before a tricky step, show staff what "good" looks like, or embed training material directly inside the workflow they're filling in.
All guidance elements at a glance
There are three guidance elements: one written, two that carry media.
| Element name | What it does | Notes |
|---|---|---|
| Written guidance | Shows staff a formatted note with links. | Use for safety instructions, context, reminders. |
| Photo guidance | Shows staff a reference image. | Use to show what "good" looks like — a clean prep bench, a correctly stocked shelf. |
| Video guidance | Shows staff a short video walkthrough. | Use for training clips or process demos. |
Finding guidance elements on the canvas
Guidance elements are added from the same step picker as every other element. On the left toolbar, the element types are grouped into four buttons: Inputs, Choices, Media, and Guidance (the lightbulb). Open the Guidance group and you'll see all three guidance types together: Written guidance, Photo guidance, and Video guidance.
Setting up each guidance element
Guidance elements don't have an input name or a Mandatory toggle — there's no answer to label or require. The content of the guidance is the whole point, so each type has a single content field, marked with a * because it can't be left empty.
- Written guidance -- a text editor labelled
Written guidance *with the placeholderAdd guidance for staff.... Type your note, apply formatting, and add links. It saves automatically. - Photo guidance -- a field labelled
Photo guidance *with an Upload photo button. Click it and pick an image file. Once it's added, the button is replaced by a row showing the file name with a red X on the right — click the X to remove the image and start again. - Video guidance -- a field labelled
Video guidance *with an Upload video button. Click it and pick a video file. As with photos, the button becomes a file-name row with a red X to remove and re-upload.
How guidance appears to staff
Guidance elements show up in line with the rest of the workflow on both the mobile work run and the web workflow-run view. They sit full-width among the other steps, but unlike an input or choice element they have no coloured edge and no "completed" line, because there's nothing to fill in.
On mobile, written guidance shows as formatted text. Photo guidance shows the reference image — tap it to open it full-screen. Video guidance shows a thumbnail with a play button — tap it to play the video. So while written guidance is purely read-only, photo and video guidance are tappable to view them larger.
On web, a manager or admin opening a workflow run sees the same three: written guidance as formatted text, the reference photo (click to enlarge), and the video playing inline in the run card.
If you put guidance just before an input or choice element, staff see the guidance first, then the input below it. That's the most common pattern: explain, then ask.
Use cases
- Pre-task safety instructions -- a written guidance block at the start of a workflow that lists the PPE staff need, or the hazards to watch for.
- Reference photo -- a photo guidance element showing what a finished prep bench should look like, just before the "take a photo of your bench" step.
- Training video -- a short video guidance element before a process step staff don't do often, like a deep clean or an equipment changeover.
- Context for the next question -- a written guidance block that explains why the next Rating scale or Choice element matters.
Tips
- Keep written guidance short. Staff on a phone won't scroll through paragraphs. Aim for a couple of sentences, or a short bulleted list.
- Use photo guidance to anchor expectations. "Clean to this standard" with a photo is far stronger than "clean thoroughly".
- Keep video guidance under 60 seconds wherever you can. Long videos kill momentum during a workday.
- Pair guidance with the input that comes next. A photo guidance showing "what good looks like", followed by a Photo input asking staff to capture their version, is one of the strongest patterns in Pilla.
- Guidance elements never record a response, so there's no way to tell from the workflow run whether someone read them. If you need staff to confirm they've read something, add a Checklist or Choice element straight after the guidance and make it mandatory.
Open connector
An Open connector is the link between two steps that lets both steps show up at the same time on mobile. Staff can complete them in any order, which is the right pick whenever the order really does not matter.
What an Open connector is for
When you wire two steps together with an Open connector, both steps appear together in the workflow run on the mobile app. Staff can tap whichever one they want first. There is no gating, no waiting, no hidden step.
The tooltip on the Open button reads: Worker sees both steps at once — any order.
This is the default behaviour of the canvas. Most templates will use Open connectors for most of their steps, since most steps do not depend on the order they are done in.
Good fits include:
- Side-by-side checks that can be done in any order, like wiping down the counter and restocking napkins
- A set of photos where it does not matter which one is taken first
- A group of questions where staff can answer them as they go
- Anything where forcing an order would just slow people down
How to pick an Open connector
You pick the connector type when you add a step below an existing step.
- Click the round + button below the step you want to connect from
- The connector picker opens with two options: Open and Gated
- Click Open (the first option, shown with a down-arrow icon)
- A second row opens showing the element types you can add, plus a Group option
- Pick the element type for the new step
The new step is added below, and the line between the two steps shows no extra indicator — a plain connector is an Open connector.
How to tell an Open connector on the canvas
An Open connector is the visual default. The line between two steps is just a line, with no padlock on it. If you see a clean edge, the connector is Open.
A Gated connector shows a small padlock at the midpoint of the line. Hover over it and you see Gated — next step stays hidden until this one is completed. If there is no padlock, the connector is Open.
Tips
- Default to Open whenever you can. Forcing an order only helps if the order genuinely matters
- The first step after the trigger is always Open — there is nothing before it to gate on, so the canvas skips the Open and Gated choice entirely and takes you straight to picking the element type for that first step
- If you find yourself reaching for Gated a lot, consider whether the steps could be grouped instead, with a single group acting as the "must finish this section" boundary
- An Open connector is reversible at any time — click the line to select it, then click the red Delete connection button to remove it without losing the steps on either side
- The connector picker no longer has a separate Decision option. If you want Poppi to judge an answer and branch the workflow, turn on a Poppi (AI) decision on the element itself rather than on the connector
Gated connector
A Gated connector is the link between two steps that keeps the second step hidden on mobile until the first step is done. It is the right pick whenever order matters, like making sure a photo is taken before a temperature reading is recorded. You build it on the canvas; staff feel its effect in the mobile app.
What a Gated connector is for
When you wire two steps together with a Gated connector, the second step does not appear in the work run on the mobile app until the first step has been completed. Staff finish step 1, the next step pops in, then they can carry on.
The tooltip on the Gated button in the connector picker reads: Next step stays hidden until this one is completed.
Good fits include:
- Enforcing a real-world order, like "take a photo of the cleaned surface before recording the temperature"
- Gating a sensitive step so the worker can not skip past prep work, like signing off only after the inspection is filled in
- Building a step-by-step procedure where each step builds on the last
- Cutting visual clutter on mobile, so staff only see the next thing they need to do
How to pick a Gated connector on the canvas
You pick the connector type when you add a step below an existing step. The Gated option only appears when you are adding below an existing element step, not directly below the trigger.
- Click the round + button below the step you want to connect from
- The connector picker opens with two options: Open (down-arrow icon) and Gated (lock icon)
- Click Gated
- A second picker opens showing the element types you can add
- Pick the element type for the new step
The new step is added below, and the line between the two steps shows a small padlock at the midpoint.
How to tell a Gated connector on the canvas
A Gated connector shows a padlock icon in a small circle at the midpoint of the line between two steps. Hover over the padlock and a tooltip reads: Gated — next step stays hidden until this one is completed.
When you click the line itself, the padlock is replaced with a small toolbar. The + button (tooltip Insert step here) drops a new step into the middle of the line, and the red bin button (tooltip Delete connection) removes the connector. Clicking elsewhere on the canvas returns the padlock to view.
How a gated step looks to staff on mobile
Staff never see the words "Open" or "Gated". They just see the steps appear in order. A step behind a Gated connector stays hidden in the work run until the step before it is marked complete.
Once a gated step becomes visible, it shows a small ↳ arrow in the left margin to signal that it depends on an earlier step. If a whole group of steps sits behind one gate, the arrow appears at the group's top and the group is indented. Chained gates work the same way: if step A gates step B and step B gates step C, then C only appears once both A and B are complete.
Tips
- Use Gated only where order genuinely matters. Over-using it makes mobile feel slow and rigid
- The padlock on the canvas is your at-a-glance signal that a step is gated. If you scan a template and only see plain lines, you can be confident nothing is hidden behind another step
- A gate is on the connector, not on the step itself. The same step can be Open in one template and Gated in another
- If you change your mind, click the line, delete the connection with the red bin button, then re-add the step with an Open connector. The step itself stays put
- The ↳ arrow staff see on mobile is the live result of your Gated connector. If staff report a step appearing out of order, check the connector on the canvas first
Decision connector
A decision connector lets Poppi read a worker's answer on a step, judge it against a rule you write, and branch the workflow onto a Yes path or a No path. You add it by attaching a Poppi rule to a single step on the canvas, then building out a Yes branch and a No branch underneath it. Poppi picks the branch at run time, so staff only ever see the steps on the path that applies to them.
What a decision connector is for
A decision connector lets a workflow take a different path depending on what a worker actually entered, not just on what was scheduled. You write the rule, Poppi reads the answer on the step above and judges it Yes or No, and only the matching branch runs.
This is the third way to link steps together on the canvas. An Open connector lets staff do both steps in any order, a Gated connector hides the next step until the first is done, and a decision connector splits the flow in two and follows only one branch.
Good fits include:
- Routing a number entry onto a "fine" or "out of range" path, like revealing an escalation step only when a temperature reading is too high
- Splitting a complaint check onto a "minor" or "major" path based on the photo and the worker's note
- Branching after an inspection so the No branch runs a fix-it sequence and the Yes branch runs a quick sign-off
- Picking between two different chains of follow-up steps based on the live answer, not just on a fixed schedule
How a decision connector is built
A decision connector is not a separate node you drop between two steps. It is a Poppi rule attached to a single step. When you write a rule on a step, two extra connection points appear under that step: a green Yes handle on the left and a pink No handle on the right. You build a branch out of each one.
The step keeps its normal bottom handle for the main flow, so a step can carry on down the main column AND fork on a Yes / No rule. Only steps that capture an answer can carry a rule, because Poppi needs something to judge. Guidance steps, which only show information, cannot carry one, and the rule field does not appear on a step that sits inside a group.
Only one branch runs in any given workflow run. Poppi reads the worker's saved answer, judges it against your rule, then reveals the steps on the matching branch.
How to add a decision connector to a step
You add the rule from the step's own card on the canvas, then wire up the two branches.
- Click the step on the canvas to focus it
- Find the field labelled Instructions for Poppi (AI) to make a decision near the bottom of the card
- Type the rule as a plain instruction. The placeholder reads
e.g. is the entered number above 8 - The green Yes handle (left) and pink No handle (right) appear under the card, each with its own + button
Once a rule is written, build out each branch from its + button:
- Click the + button under the green Yes handle or the pink No handle. The tooltip reads
Add step - A picker opens showing the element types you can add
- Pick an element type. The new step spawns on that branch, already connected
- Keep adding to that branch using the connector picker on the new step, the same way you build the main column
A branch root must be a step, so the picker only offers element types, not groups. Write the rule so the Yes branch is the "happy path" and the No branch handles the exception. It makes the canvas easier to scan.
How a decision connector behaves on mobile
On mobile a worker never sees the branch steps up front. They see the step that carries the rule, answer it, and save.
The moment the answer is saved, a quiet line reading Poppi is checking... appears under the step while Poppi judges it. Once the verdict lands, the steps on the matching branch appear, and the steps on the other branch never show at all. The first step of the branch that ran carries a short note headed Poppi (AI) decision explaining why that path was chosen.
The same thing happens in the workflow runs view on the web app. A step being judged shows Poppi is checking..., and once Poppi decides, the matching branch steps appear with the Poppi (AI) decision note on the first one.
How to remove a decision connector
To take the rule off a step, clear the Instructions for Poppi (AI) to make a decision field back to empty.
If the Yes or No branches are already wired up, a confirmation popup appears titled Remove this Poppi rule?. It reads: "Removing the rule also deletes its Yes and No connections. The steps on those branches stay on the canvas as unconnected steps, so you can rewire or delete them." Click the red Remove rule button to confirm, or Cancel to keep the rule.
To clear a single branch without removing the whole rule, click the line between the step and the first step on that branch, then click the red trash icon in the line's toolbar. The + button on that branch reappears so you can wire a different first step.
Tips
- Use a decision connector when a step's answer should change what runs next. If you only need to gate a later step on completion order, a Gated connector is simpler
- Phrase the rule as a clear yes or no question, like "is the entered number above 8", so Poppi has something definite to judge
- Keep the Yes branch as the happy path and put the exception handling on No. It makes a quick scan of the canvas easier to follow
- Each branch can be as long as you like. Staff on mobile only ever see the path that ran, never the other branch
- Poppi judges the answer at run time when the worker saves the step, so there is no preview button on the canvas. To see how a rule plays out, run the workflow and watch the branch appear in the workflow runs view
- Removing a rule leaves its branch steps on the canvas as loose steps rather than deleting them, so check the canvas afterwards and rewire or delete anything you no longer need
Manual triggers
A manual trigger is the simplest kind. The workflow template never fires on its own. Staff start a workflow run themselves from the mobile app whenever it is needed.
When to use a manual trigger
Manual triggers are for anything that does not fit a fixed schedule. The decision to run sits with the person on the floor, not the calendar.
Good fits include:
- One-off tasks like deep cleans or stocktakes that happen when needed
- Ad-hoc audits a manager runs when they spot a problem
- Incident-led workflows like "spill clean-up" or "complaint received"
- Onboarding checklists started the day a new starter arrives
- Anything seasonal or occasional that you do not want clogging the date scroller
If the answer to "when should this run?" is "whenever someone decides", you want a manual trigger.
Set up a manual trigger on the canvas
You configure the trigger from the trigger node at the top of every workflow template. The node is labelled Trigger with a small lightning icon.
- Open the workflow template on the canvas
- Click the trigger node to focus it
- Click the kind picker, which is the first button on the trigger node (it shows the current kind and a small down arrow)
- Pick
Trigger manuallyfrom the list
That is the whole setup. No date, no time, no recurrence rule. The trigger node collapses to just the kind picker because there is nothing else to configure. The Starts and Ends fields disappear because a manual trigger never runs on a calendar.
To save, click the Save button in the top bar. There is one live version of every template, so saving puts your changes live straight away. The template is now available for staff to fire from the mobile app. If you want to back out without keeping your edits, click Close and discard next to the Save button instead.
The other kinds in the list (Run just once and Run on a schedule) are scheduled rather than fired on demand. A fourth kind, Run from external trigger, is coming soon and does not show in the kind picker yet.
How staff fire a manual trigger from mobile
Staff run a manual template from the mobile menu. They do not need to know the template was set up as manual, they just see it in the list of templates they can start.
The steps are:
- Tap the Menu button on the floating action bar at the bottom of the screen
- Tap Run a workflow template in the menu that slides up
- Pick the template from the list
- Pick which team or teams should run it. Every team the template is assigned to is ticked by default, so you can untick the ones you do not want. When more than one team is listed, a Select all / Deselect all button appears in the top-right corner of the header
- Tap the Run for N teams button at the bottom (it reads Run for 1 team when only one team is selected)
A new workflow run is created for each team picked. When you run it for a single team, the app takes you straight into the new run so you can start working through it. When you run it for more than one team, the app returns you to the main work list, where the new runs show under today's date. Pull down to refresh if you do not see them straight away.
If a member of staff has no templates available, they see a message saying "No workflow templates available to run." with the line "Templates with a manual or external trigger will appear here." underneath. That means no template in your account has a manual or external trigger set up yet, or none of those templates is assigned to a team the person belongs to.
What manual triggers do not do
Manual triggers never appear on the date scroller because there is no schedule to plot. The workflow only exists once a member of staff fires it.
A few other things to keep in mind:
- A manual template only shows up on mobile for staff in a team that has been assigned to the template
- A manual template must be saved before it appears on mobile. A template you have started but never saved will not show up in the run list
- Anyone in an assigned team can fire the template, not just managers
- Each fire creates one workflow run per team picked, so running for three teams creates three runs
Tips
- Manual is the safest trigger to start with while you are testing a new template, because nothing fires without someone choosing to fire it
- If you find staff forgetting to run a manual template, switch the trigger to a schedule so it appears on the date scroller automatically
- Manual templates are great for "as needed" responses, but if you find yourself running the same one every Monday morning, that is a sign it should be a scheduled trigger instead
- The mobile menu only lists templates a member of staff is allowed to run, so an empty list usually means the template's team assignment needs updating
- If your team cannot find Run a workflow template in the mobile menu at all, an admin may have turned off the setting "Should everyone see 'Run a workflow template' on mobile?" in account settings. Turn it back on to show the option again
- Saving a template puts the change live immediately, so edit and save a manual template only when you are happy for staff to start using the new version
Scheduled triggers
Scheduled triggers fire a workflow template on a calendar. You can fire it once at a specific moment, or repeat it on a daily, weekly, monthly, or yearly pattern. This page covers both.
The two scheduled trigger kinds
You pick a scheduled trigger from the kind picker on the trigger node. Two of the four options are scheduled:
- Run just once -- the workflow fires at one specific date and time and never again
- Run on a schedule -- the workflow fires repeatedly on a pattern you set
Pick "Run just once" for events that happen on a single date, like the launch day of a new product or a one-off training session. Pick "Run on a schedule" for anything routine, like the morning open, the weekly stocktake, or the monthly fire alarm test.
Set up a "Run just once" trigger
The one-off scheduled trigger is the simplest of the two.
- Open the workflow template on the canvas
- Click the trigger node at the top of the canvas
- Click the kind picker and choose Run just once
- In the Starts section, pick the start date and start time
- In the Ends section, pick the end date and end time
- Click Save in the canvas to save the template
The workflow run is created on that start date and is expected to be finished by the end. It will not fire again.
The field descriptions are:
- Starts date (date picker, required) -- the date the workflow run is scheduled for
- Starts time (time picker, required) -- the time of day the workflow run is expected to start
- Ends date (date picker, required) -- the date by which the run should be finished
- Ends time (time picker, required) -- the time of day by which the run should be finished
If you set a start date in the past, the run will not appear on the date scroller because that day has already gone. Pick a future date.
Set up a "Run on a schedule" trigger
The recurring trigger fires the workflow over and over on a pattern.
- Open the workflow template on the canvas
- Click the trigger node
- Click the kind picker and choose Run on a schedule
- Pick start date and start time, and end date and end time (the same way as the one-off trigger)
- A second dropdown appears next to the kind picker, showing the frequency (for example "Daily" or "Weekly"). Click it to open the frequency popup
- Configure the frequency, the days, and how the schedule ends
- Click Save in the canvas to save the template
A new workflow run will be created for each occurrence the pattern produces.
The frequency popup
The frequency popup is where you set the repeating pattern. At the top, under a Frequency label, is a dropdown. Click it to choose one of four options:
- Daily
- Weekly
- Monthly
- Yearly
The fields shown underneath change depending on which option is picked. The sections below describe each.
Daily
- Every N day(s) (number input, required) -- pick how many days between each run. Set to 1 for every day, 2 for every other day, 7 for every seventh day, and so on
- Weekdays only (Mon-Fri) (checkbox, optional) -- when ticked, the run skips Saturdays and Sundays
Weekly
- Every N week(s) on (number input, required) -- pick how many weeks between each cycle. Set to 1 for every week, 2 for every other week
- Day buttons (toggle buttons, required) -- pick one or more days from Mon, Tue, Wed, Thu, Fri, Sat, Sun. The workflow fires on each picked day inside each cycle
Monthly
Monthly has two modes, picked with the radio buttons:
- On day N (number input from 1 to 31) -- fire on a fixed day of the month, like the 1st or the 15th. If the day does not exist in a given month (for example the 31st of February), that month is skipped
- On the [position] [weekday] (two dropdowns) -- fire on a relative day. The position dropdown has 1st, 2nd, 3rd, 4th, and Last. The weekday dropdown has Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, plus three shortcuts -- Day (any day), Weekday (Mon to Fri), and Weekend Day (Sat or Sun). So you can pick patterns like "the 1st Monday of every month" or "the Last Weekday of every month"
The Every N month(s) input above the radio sets how many months between each cycle.
Yearly
- Every N year(s) (number input, required) -- pick how many years between each run. Set to 1 for every year. The workflow fires on the same date and time each year, based on the start date
How the schedule ends
Underneath the frequency controls there is an Ends section with three options:
- Never (radio, default) -- the workflow keeps firing for as long as the template exists
- After N occurrences (radio with number input) -- the workflow stops after the chosen number of runs have been created
- On (radio with date picker) -- the workflow stops on the chosen end date. The date picker greys out any date before the start date, so the earliest end date you can pick is the start date itself
The 7-day preview
Below the controls is a Next occurrences preview showing when the next 7 runs will be created. It updates as you change the frequency, the days, the start date, and the end conditions. This is your safety net -- if the preview does not match what you expect, the rule is wrong, not the preview.
The preview only appears for recurring triggers, not for "Run just once" or for manual templates.
Gotchas
A few things catch people out:
- If your start date is in the past, the frequency dropdown in the popup disables and shows Only future dates can repeat. Pick a future start date to enable repeating
- When the interval is 1, the popup label drops the number. So a daily schedule with an interval of 1 shows as Daily, not Every 1 day. With an interval of 2 it shows as Every 2 days. Same pattern for weekly and yearly
- The popup label for a monthly schedule always shows as Monthly, regardless of the interval, because the monthly mode is more about the day pattern than the count
- The label Weekdays shows up instead of Daily if you tick "Weekdays only (Mon-Fri)"
- A monthly "On day 31" pattern skips months that do not have a 31st. If you want the workflow to fire on the last day of every month, switch to On the mode and pick Last in the position dropdown and Day in the weekday dropdown instead
Tips
- Always check the Next occurrences preview before saving. If you scheduled "every Friday" but the preview lists Mondays, your weekday toggles are wrong
- For most weekly patterns, leave the interval at 1 and just pick the day buttons. Use "Every 2 weeks" only when you really do skip a week
- Use the relative monthly mode ("1st Monday", "Last Weekday") for things tied to a working pattern, not a date. It avoids the "month skipped because there is no 31st" trap
- If the schedule should stop on a specific known date, set Ends -- On rather than counting occurrences -- it is much easier to reason about later
- Start dates can be in the future. Pick a Monday next month to delay rollout while you finish testing the template
External triggers
External triggers let an outside service fire a Pilla workflow. When something happens in a connected app like Slack, Google Calendar, or Notion, Pilla can spin up a workflow run automatically. External triggers are coming soon: they are not yet available to set up, and the Run from external trigger option does not appear in the trigger picker yet. This page explains how they will work when they arrive.
When to use an external trigger
Use an external trigger when the event that should start the workflow happens outside Pilla. Common examples:
- Someone reacts with a specific emoji to a message in Slack, like a flag in #ops, and you want a "follow up on this" workflow to fire
- A new file lands in a Google Drive folder and you want a "review and file" workflow created
- A Google Calendar event starts and you want a setup checklist to appear on mobile for the team running the event
- A new deal moves stage in HubSpot and you want a handover workflow created
External triggers are coming soon. Until they launch, the Run from external trigger option does not show in the trigger kind picker.
What you need first
You set up an external trigger on the canvas, which is the web-only builder, so you will do this on the web app rather than the mobile app. Before you start you need an active integration connection for the service. If Slack is not connected to your Pilla account, you cannot fire a workflow from Slack. To connect the service first, open the Manage my integrations screen from your profile menu (click your avatar in the top-right corner, then choose Manage my integrations).
Set up an external trigger
Once external triggers launch, you will set one up from the Trigger node at the top of the canvas, the same as the other kinds. The Trigger node has a kind picker on the left labelled with the current kind.
- Open the workflow template on the canvas
- Click the kind picker in the Trigger node (it shows the current kind, such as
Trigger manually) and chooseRun from external trigger - Click the Pick a service button and choose the service that should fire the workflow. Only services that have working external triggers in Pilla appear in the list
- Type a plain-English description in the prompt box that opens once a service is picked. It has no label of its own and shows the placeholder
Describe when this should fire (e.g. "when someone reacts 🚨 in #ops"). Describe what should fire the workflow, for example "Fire when a user reacts with the white check mark emoji to a message in #sales" - Wait about a second and a half after you stop typing. Poppi reads your description and works out the exact trigger
- Check the preview that appears below the box -- it should match what you wrote
- Save the template
After you save, Pilla registers the trigger with the outside service. The next time the event happens, a new workflow run is created automatically.
The fields on the external trigger
The external trigger node has a service button, a prompt box, and a read-only preview. The fields are:
- Pick a service (button, required) -- opens a list of the outside services that can fire a workflow. Only services with active external triggers in Pilla appear here. The button shows the chosen service name once you pick one
- Prompt box (textarea, required) -- the unlabelled box that appears once a service is picked. Type a plain-English description of what should fire the workflow. Poppi reads this and works out the exact trigger. It shows the placeholder
Describe when this should fire (e.g. "when someone reacts 🚨 in #ops")until you type - Preview (read-only) -- shows what Poppi understood from your description. Read this to check it matches what you meant
What the preview tells you
After you stop typing, Poppi reads your description and works out the exact trigger. The preview box below the prompt shows the result.
You will see one of five states under the prompt box:
- A spinner with Compiling… -- Poppi is still working on your description
- A green tick with the trigger name and any filters, like New message in channel with channel = #sales -- Poppi understood your description clearly. The trigger is ready to save
- An amber sparkle with Couldn't pin down the trigger — try rephrasing? -- Poppi was not confident enough to save the trigger. Reword your description to be more specific (name the channel, the emoji, the exact event)
- A grey sparkle with Awaiting compile… -- the box is waiting before it works out the trigger. This clears on its own once Poppi runs
- A red alert -- something went wrong. The error text explains what
If the tick is green, your trigger is set. If you see an amber sparkle, a grey sparkle, or a red alert, fix the description and wait for Poppi to run again.
Which services support external triggers
Seventeen services can fire an external trigger: Slack, Google Calendar, Google Drive, Google Sheets, Google Docs, Gmail, Outlook, OneDrive, Notion, Airtable, Asana, Trello, Stripe, HubSpot, Mailchimp, Zoom, and WhatsApp.
These are the only services that appear when you click Pick a service. A service that is not connected to your Pilla account shows in the list as Not connected in grey and cannot be clicked until you connect it from the Manage my integrations screen. Services that do not have a trigger (such as Shopify) do not appear at all.
When the chosen service is not connected
If you pick a service that is not connected to your Pilla account, the Trigger node shows an amber note under the service button reading Connect {service name} on the Integrations page to use this trigger. The trigger will not fire until you connect the service.
To fix it:
- Click your avatar in the top-right corner and choose Manage my integrations from the menu
- Toggle the service on to connect it
- Go back to the workflow template on the canvas
Once the service is connected, the amber note clears and the trigger fires again. If you intend to keep the service disconnected, change the trigger kind back to Trigger manually, Run just once, or Run on a schedule instead.
A deleted workflow template never fires, even if its external trigger is still set up. If you delete a template, the outside service can keep sending events but Pilla stops creating workflow runs from them.
Tips
- Start by writing your description the way you would explain it to a teammate. Poppi is reading it like a person, not parsing keywords -- "fire when a new file is added to the contracts folder" is fine
- Be specific about the channel, emoji, or detail you mean. "Fire on a Slack reaction" is vague; "Fire when a user reacts with :rotating_light: in #ops" is clear
- If the green tick keeps refusing to appear, look at the amber hint in the preview -- it usually tells you which detail Poppi could not pin down
- External triggers run under the connecting user's identity. Posts back to Slack, calendar events, and anything else the workflow does in the outside service appear as the person who connected the integration, not as a Pilla bot
- One workflow template can have only one external trigger. If you need the same workflow to fire from both Slack and Google Calendar, build two templates with the same body
Poppi briefings
A Poppi briefing is an AI-powered step on the canvas that pulls live data from your connected integrations and shows it to staff as a short, written summary before they fill in an element. It is one-way information, designed to give the worker the context they need to do the next step well. Poppi briefings are coming soon: they are not yet available to add on the canvas, so you won't see the add button for now. This page explains how they will work when they arrive.
What a Poppi briefing is for
A briefing reads the data sources you enable, then composes a contextual message based on your prompt. The worker sees it at the top of that step, just above the instruction, when they open that part of the workflow.
Good fits include:
- Showing today's open Shopify orders above an "Opening kitchen check" element so staff know what to prep first
- Pulling today's Google Calendar events above a meeting summary element so the worker knows which meetings to write up
- Surfacing yesterday's unresolved chat threads above a handover element so the next team picks up where the last one left off
- Reminding staff who is on the team today and what their roles are before a daily briefing element
If you find yourself writing the same context paragraph by hand every day, a briefing is probably the right tool.
Where a briefing sits on the canvas
A briefing attaches to a single element on the canvas and sits to the left of that element as a satellite. It does not change what staff have to fill in, it just adds context above it when they open the step. You cannot attach a briefing to a group — only to an individual element.
The briefing has one connection only — to its parent element. It does not branch, it does not route anywhere else, and it is read-only for the worker.
How to add a Poppi briefing
When Poppi briefings launch, you will add a briefing from the element it should attach to. There is no right-click menu on the canvas; you add nodes using the circular Plus button.
- Find the element on the canvas — a small circular Plus button sits just to its left
- Click the Plus button to open the add menu
- Pick Briefing from the menu
- A new Poppi briefing node spawns to the left of the element, already connected
- Click the new node to focus it and fill in the fields
The Plus button to the left of an element is always there while the element has no briefing yet, so you do not need to hover over the element to find it.
The header on the new node reads Poppi (AI) briefing with a grey header bar and a small crosshair icon, so you can tell it apart from other node types at a glance.
Configuration fields
The briefing node has two fields to fill in.
Prompt (textarea, required)
This is where you tell Poppi what the briefing should say. The label reads Tell Poppi what information should be added to the [element-type] node, with the element type filled in based on which element the briefing is attached to. For example, a briefing attached to a Text element shows Tell Poppi what information should be added to the text node.
The placeholder text reads: e.g. Brief the worker on yesterday's open issues, today's team, and any calendar meetings they're invited to.
Write the prompt in plain English. Poppi reads your prompt at runtime, looks at the data sources you have enabled, and composes the briefing.
Data sources (multi-select picker)
This is the list of integrations Poppi can read from when it builds the briefing. Click the picker to open it. Pilla itself sits at the top, always available and marked Always on with a green dot, so a briefing can always read your own teams, users, and workflow data. Every other supported service is listed too: those you have connected show a tick you can turn on or off, and those you have not connected yet show a small Connect button you can use to link the service without leaving the canvas.
Tick every service you want Poppi to consider. Poppi will only query the ones you tick, so leaving a service unticked means it will be ignored even if it is connected. The picker button summarises your choice — a single service shows its name, more than one shows a count like "3 data sources".
How a briefing renders for staff
A finished briefing shows up wherever staff open the workflow run, on both the mobile app and the web app. It appears as a full-width card just above the element's instruction, headed Poppi (AI) via {name} in blue, where the name is the person whose briefing it is. It reads like a short message from Poppi. It is read-only — the worker cannot tap, edit, or dismiss it, they just read it and then fill in the element below.
A briefing is not generated the moment a worker opens the step. Poppi composes it shortly before the workflow run is due to start, so the text is ready and waiting by the time staff open the run. A briefing only appears once it has been generated successfully; if Poppi cannot build it (for example a data source it needs is disconnected), no card shows and the rest of the step is unaffected.
Availability
Poppi briefings are coming soon and not yet available to add on the canvas. Connecting outside services from the Manage my integrations screen is available to every account now, so you can link the data sources you want a briefing to read ahead of time.
Tips
- Keep the prompt short and specific, "show today's open orders from Shopify" works better than "tell the worker everything they need to know about today"
- Tick only the data sources the prompt actually needs, every extra source adds latency and noise
- If a service in the data sources list shows a Connect button instead of a tick, it is not linked yet, connect it from the picker (or the Integrations page) before ticking it for a briefing
- If a data source becomes disconnected after you have set up the briefing, the briefing fails silently for that source, the rest of the briefing still runs with whatever sources remain connected
- Briefings are one-way, so if you need staff to make a decision based on the context, pair the briefing with a Poppi decision in the same workflow
Poppi decisions
A Poppi decision lets a workflow branch yes or no based on what staff actually answered. You attach the decision to an element on the canvas, write the question in plain English, and Poppi reads the answer and picks the branch. Each branch can run different steps.
What a Poppi decision is for
A decision lets the workflow do something different depending on what happened, not just what was scheduled. You write the question, Poppi gives the yes or no answer, and what runs next depends on that answer.
Good fits include:
- After a number element, run an extra check on the No branch when the reading is out of range, and skip straight on when it is fine
- After a photo element, send the work down a "looks clean" or "needs attention" path
- After an inspection checklist, add a follow-up step only when something failed
- After a complaint note, route the work down a "minor" or "major" path based on what the worker wrote
If the workflow needs to take a different path based on what a worker entered, a Poppi decision is the step that decides which path.
How a Poppi decision works now
You no longer add a separate decision node. Instead, you attach the decision directly to the element whose answer you want Poppi to judge. Every input element on the canvas (text, number, photo, checklist, and so on) can carry one Poppi decision.
When you write the question, two branch dots appear under the element: a green dot on the left for the Yes branch and a pink dot on the right for the No branch. You then add a step to each branch. After staff complete the element in a work run, Poppi reads their answer, decides yes or no, and the workflow follows the matching branch.
Guidance elements (written, photo and video guidance) cannot carry a decision, because there is no answer to judge. Elements inside a group cannot carry one either, because group steps do not have their own branches.
How to add a Poppi decision to an element
You add a decision in the element's own card on the canvas. There is no separate menu item for it.
- Click the element on the canvas to open its card
- Find the field labelled Instructions for Poppi (AI) to make a decision near the bottom of the card
- Type your question, for example
is the entered number above 8 - A green Yes dot and a pink No dot appear under the element card
Write the field as a yes or no question. Poppi reads the worker's answer to that element, answers your question, and follows the Yes or No branch you build next. The field placeholder shows e.g. is the entered number above 8 as a guide.
How to build out a branch
Each branch starts empty with its own circular Plus button. The green Plus on the left builds the Yes branch and the pink Plus on the right builds the No branch.
- Click the Plus button under the Yes dot or the No dot
- Pick an element type from the toolbar that opens (the same element types as the rest of the canvas)
- The chosen step is added at the end of that branch, already connected
- Fill in the new step like you would any other
You can also drag a branch dot onto an existing element to connect it, instead of adding a new step. You can only attach one step directly to each branch dot; to add more, chain extra steps off that first step. You do not have to build both branches. If a branch has no step, the workflow simply carries on after the decision when Poppi picks that branch.
How to remove a Poppi decision
To remove the decision, clear the Instructions for Poppi (AI) to make a decision field on the element card.
If you have already wired up Yes or No branches, a confirmation popup appears headed Remove this Poppi rule? It warns that removing the rule also deletes its Yes and No connections, and that the steps on those branches stay on the canvas as unconnected steps so you can re-wire or delete them. Click Remove rule to confirm, or Cancel to keep the decision. If you have not wired any branches, the decision is removed straight away with no popup.
Validation warnings
The canvas flags an unfinished decision when you try to save.
- A red border around the question field means the decision has a question but neither the Yes nor the No branch is wired to a step
- The save warning lists it as
{N} Poppi rules with no steps wired, where N is the number of decisions that still need at least one branch connected
Connect at least one branch, or clear the question, and the warning clears.
The satellite decision that runs actions
There is a second kind of Poppi decision that sits beside an element as its own node and branches to Poppi actions rather than to ordinary steps. This kind is coming soon and is not yet available to add on the canvas, so you will not see its add button for now. It is for when you want Poppi to judge an answer and then run an integration action, like posting to Slack, only on the matching branch.
When satellite decisions arrive, you will add one by hovering over an element to reveal the circular Plus button on its right, clicking it, and picking Decision from the menu. This adds a separate node to the right of the element, headed Poppi (AI) decision with a grey background. It has a single question field labelled What should Poppi decide? with the placeholder e.g. Were all critical items ticked? Was the photo clean and well-lit?. Poppi evaluates the question when the element is saved.
Each branch has a green Yes dot and a pink No dot on the right of the node. Clicking the Plus button on a dot adds a Poppi action to that branch. A red border means the node is not connected to anything. The play icon in its header tests the decision; it is greyed out with the tooltip Add a question first until you type a question.
Tips
- A decision is most useful right after the element whose answer it judges, so phrase the question about that one answer, for example
is the entered number above 8 - Phrase the question so Yes is the "happy path", it makes the canvas easier to read at a glance
- You do not have to build both branches. Wire only the branch that needs an extra step, and the workflow carries on as normal on the other one
- A decision needs at least one branch wired before the canvas will save, so either connect a branch or clear the question
- Clearing the question on a decision that has wired branches always asks you to confirm, and leaves the branch steps on the canvas so you can re-use them
Poppi actions
A Poppi action is an AI-powered step you add on the canvas (web only) that runs a single instruction through one of your connected integrations. Poppi reads the answers from the steps above it plus your written instruction, works out the right details, and carries out the action through the service you chose. Poppi actions are coming soon: they are not yet available to add on the canvas, so you won't see the add button for now. This page explains how they will work when they arrive.
What a Poppi action is for
An action is the "do something useful" step at the end of a chain. The element gathers the answer, a Poppi decision picks a branch, and the action gets the work done in another tool. Actions run quietly in the background when a workflow run reaches that point, so staff never see the action node on their phone.
Good fits include:
- Posting a summary of a daily inspection to a #site-updates Slack channel after a step is completed
- Creating a Google Calendar event for a maintenance follow-up after the No branch of a Poppi decision
- Uploading a generated report to a Google Drive folder after a closing step
- Sending a polite team message inside Pilla to thank staff after the Yes branch confirms a clean handover
If the workflow ends with "and then this should happen in tool X", that is an action.
Pilla acts on your behalf
Actions run under the identity of whoever connected the service, not as a separate Pilla robot.
If you connected Slack, a message posted by a Poppi action appears in Slack as if you posted it. The same goes for Google Calendar (the event shows you as the organiser), Google Drive (the file is created in your Drive), and WhatsApp (the message is sent from your WhatsApp Business number).
This applies to every outside integration. The only exception is Pilla itself, where the team message is sent from Pilla, so the on-behalf-of note does not apply.
The reason is consistency. Most integrations have no robot mode at all, so a single "your account did this" model is simpler to explain and matches how a person would have used the tool by hand.
How to add a Poppi action
When Poppi actions launch, you will add an action node with the circular Plus button on the canvas; there is no right-click menu.
From the right of a step
- Hover over a step on the canvas to reveal the round + button on its right side
- Click the + to open the add menu
- Pick Action (the menu also offers Decision for a Poppi decision)
- A new action node appears to the right of the step, already joined to it
From a Poppi decision's Yes or No branch
- Add a Poppi decision to the right of a step first (it has a green Yes branch and a pink No branch on its right side)
- Click the round + button next to the Yes branch or the No branch
- A new action node appears at the end of that branch, already joined — there is no menu to pick from here, because an action is the only thing a branch can lead to
The header of the new node reads Poppi (AI) action with a grey background. The grey is the same on every action node, whichever branch it sits on.
Configuration fields
The action node has three fields, filled in top to bottom. Later fields only appear once earlier ones are picked. Until you choose a service the field shows Pick a service, and until you choose a tool it shows Pick a tool.
Service (picker, required)
This is the integration the action will run through. The picker only lists services that have actions ready to use, which today are Pilla, Slack, Google Calendar, Google Drive, Shopify and WhatsApp. Pilla itself sits at the top and is always available; the rest only become selectable once they are connected. A service that is not connected yet shows a small Connect button you can use to link it on the spot. Other services you may see on the "Manage my integrations" screen do not appear in this picker until they have actions wired up.
To connect a service ahead of time instead, open the avatar menu in the top-left corner of the top bar and pick Manage my integrations (managers and admins only).
Tool (picker, required)
Once a service is picked, the Tool picker appears. It lists the actions available on that service, which vary by service. The connected services that have tools wired up today are:
| Service | Tools available |
|---|---|
| Pilla | Send team message |
| Slack | Post message to channel |
| Google Calendar | Create event, List today's events |
| Google Drive | Upload file, Create folder |
| Shopify | List orders |
| Send message |
Pick one tool. The instruction field below updates to match the chosen tool.
Instruction (textarea, required)
This is where you tell Poppi what to do. The label changes based on the tool you have picked, for example:
- Pilla "Send team message" — Tell Poppi what to send *
- Slack "Post message to channel" — Tell Poppi what to write on your behalf *
- Google Calendar "Create event" — Tell Poppi what event to create on your behalf *
A short helper line below the label reminds you where the action will run (for example "The message will be posted in Slack as you."). The helper line is only shown for outside integrations, not for Pilla.
Write the instruction in plain English. Poppi reads your instruction, looks at the answers from the steps above the action, and works out the details when the workflow runs.
For example, the placeholder for Slack reads: e.g. Post a polite summary to the #ops channel. Mention the worker and how many issues were raised.
Availability
Poppi actions are coming soon and not yet available to add on the canvas. Connecting an outside service such as Slack, Google Calendar, Google Drive, Shopify or WhatsApp from the "Manage my integrations" screen is available to every account now, so you can link your services ahead of time. Pilla itself, used for "Send team message", needs no connection.
Validation warnings
A red border around the action node means it is orphaned: it is not joined to the rest of the workflow, so nothing leads to it from the trigger. This usually happens when the step it was attached to is deleted, or when you drag the node away from the chain. The fix is to connect it back into the flow, either to the right of a step or to the Yes or No branch of a Poppi decision.
The test button (the play icon in the header) is disabled until the action has a service, a tool and an instruction. The tooltip tells you what is still missing — "Add a prompt first" if there is no instruction, or "Pick a service and action first" if the service or tool is empty. When everything is filled in, the tooltip reads "Test this action".
Tips
- Be specific in the instruction. "Post a polite one-line summary to #ops mentioning the worker and the issue count" works better than "let Slack know"
- Mention channel names, calendar names or folder names directly in the instruction. Poppi uses those names to pick the right destination
- Test the action with the play button before you save, so you can see what Poppi sends through the integration on a real workflow run
- If you delete the step an action was attached to, the action node is left with a red border because nothing leads to it any more — reconnect it into the flow before you save
- Use a Pilla "Send team message" action when you want an action that needs no outside connection
Mobile preview
The mobile preview is a mini iPhone frame on the canvas that shows you how a workflow will look on your staff's phones. It updates live as you build the template, so you can spot wording or layout problems before you save.
What it is
The preview is a small iPhone-shaped thumbnail anchored to the right edge of the canvas, halfway down the screen. It mirrors the current state of the workflow you're building. Every time you add or edit a step, the preview redraws itself.
What you see inside the frame is the same view your staff will see in the live mobile app. Before you've added any steps, the frame shows the message "Add a workflow step to see how it looks on a worker's phone."
How to expand it to full size
- Click the mini iPhone frame on the right of the canvas.
- The frame animates outwards to fill the screen.
- The rest of the canvas dims behind it.
In the expanded view, you can type into text fields, tick checklist items, pick choice options, and try out the workflow as if you were a member of staff filling it in.
How to close the expanded view
You have two ways out:
- Click the X button in the top-right corner of the screen (a round button on a white background)
- Click anywhere on the dimmed background around the iPhone frame
The frame shrinks back down to its mini size on the canvas. There is no keyboard shortcut for closing it.
Filling in mock answers
The expanded preview is fully interactive. Anything you type into a step or tick on a checklist is a mock answer. Mock answers are kept while you flip between the mini and expanded views, so you can shrink the preview, tweak the canvas, and open it again without losing what you typed.
Mock answers are not saved anywhere. They're just for your own testing. They don't show up in workflow runs, and they don't follow the template when you save it. They also reset if you close the canvas and reopen it later.
What the preview does not do
The preview is a visual check, not a full simulation. A few things behave differently:
- Poppi steps (briefings, decisions, and actions) don't appear in the preview at all. They only happen when the workflow runs for real, so the preview leaves them out rather than showing an empty card. To try a Poppi step before you save, use the test drawer on the canvas instead
- The trigger doesn't appear in the preview. It's what starts the workflow, not a step your team fills in, so the preview only shows the steps staff will actually complete
- Any step that isn't joined to the rest of the workflow with a line is skipped. If you've dropped a step onto the canvas but haven't connected it yet, it won't show up in the preview
- Groups don't show their own name or box label, but the steps inside them still appear, wrapped together in a single card so they look the way staff will see them
Background scroll while expanded
Once the preview is expanded, the page behind it is locked in place. You can't scroll the canvas while the fullscreen view is up. Closing the preview unlocks it again.
Tips
- Use the preview every few minutes as you build. It's the quickest way to catch confusing wording, missing instructions, or a step that's in the wrong order.
- If the preview shows fewer steps than you've added, check that every step is connected with a line. Steps that aren't joined to anything are hidden from the preview.
- Poppi steps never appear in the preview. That's expected, not a bug. To check a Poppi step before you save, click the play icon in that step's header on the canvas to open the test drawer and try it with sample data.
- The preview shows the steps in top-to-bottom canvas order. If they appear in the wrong order, move the step cards up or down on the canvas until they line up the way you want.
- Try the preview both on your laptop and on a real phone after you save. The preview is accurate, but seeing the workflow on the actual hardware in the field is always a useful final check.
Saving a workflow template
A workflow template has one live version: whatever you last saved is what your staff run. There is no separate draft-then-publish step. This page explains how saving works on the canvas, what your staff see, and what happens to work runs that are already underway when you save.
The canvas has a single Save button in the small panel of controls in the top-right, just across from the Name / Tag / Teams header bar. Clicking it writes the template live straight away. There is no separate "publish" step and no draft that sits hidden from your team.
A small amber dot appears on the Save button whenever you have changes you haven't saved yet. While a save is in progress the button shows Saving… with a spinner.
When you save:
- The template becomes the live version that your staff run on their phones.
- Future work runs are re-created from the saved template, so anything that fires from now on uses your latest changes.
- A green Saved confirmation appears briefly.
Save before you walk away from the screen — there is more on the safety nets further down this page.
Saving is explicit — there's no auto-save
The canvas does not save on its own. Your changes are only kept when you click Save, so get into the habit of clicking it before you leave the screen. Closing the tab without saving loses your latest changes.
To the left of Save is the Close and discard button. Clicking it returns you to the Workflow templates view. If you have changes you haven't saved, an Unsaved changes popup appears first with three buttons:
- Keep editing -- closes the popup and leaves you on the canvas
- Discard & close -- leaves the canvas without saving your latest changes
- Save & close -- saves your template first, then closes the canvas
The same popup appears if you try to navigate away using the sidebar while you have unsaved changes. As long as you pick Save & close (or click Save beforehand), nothing is lost.
Why a save won't go through
A save only goes through when the template is complete. If something is missing, clicking Save shows a "Fix the highlighted issues before saving" message, highlights the problem steps with a red border on the canvas, and lists what's wrong underneath the Save button.
The list uses short summaries, grouped so ten unnamed steps show as one line rather than ten. Common entries are:
- Name your template -- the template Name field is empty
- Choose a tag -- no Tag is selected
- Pick a team -- no Teams are selected
- Set a valid schedule -- a scheduled trigger is missing a valid date or time
- A count of unconnected steps -- a step has been dropped onto the canvas but not joined to the workflow with a line, so Pilla can't tell where it fits
- A count of incomplete steps -- a step is missing its name, instructions, content, or list items
- A count of missing Poppi prompts -- a Poppi step has no instructions
- A count of decisions that need Yes/No -- a Poppi decision isn't wired to both branches
- A count of Poppi rules with no steps wired -- a Poppi rule on a step has no Yes/No steps connected
- A count of empty groups -- a group has no steps inside it
Fix the red-bordered steps and clear the listed items, then click Save again.
What your staff see when you save
The canvas is web only. Your staff never see it. When you save, the change reaches them through their work runs.
On web. The Workflow templates view always shows your one live version. There is no version history to scroll through and no older copies to switch between — what you see on the canvas is what runs.
On mobile. Your staff open the Pilla app and see their work runs. The next run that fires from the template uses your latest saved version. They don't see drafts, version numbers, or anything about the canvas — just the steps you've set up, ready to complete.
What happens to work runs already underway
When you save changes to a scheduled template, Pilla protects work that's already in motion and only re-creates work that is still in the future.
- Runs that are already in progress, and today's runs, stay exactly as they were. Your staff can finish them with no surprises mid-task.
- Future runs — anything dated after today that hasn't started — are re-created from your latest saved template, so they pick up your changes.
This means you can save freely without pulling the rug out from under someone halfway through a checklist. The "today is off-limits" rule is built in, so a run someone is part-way through never changes underneath them.
The unsaved-canvas safety net
Brand-new templates that you've never saved keep an extra backup in your browser. If you close the canvas accidentally, or the browser crashes, the work isn't lost.
The next time you start a new canvas, a banner appears near the top with two buttons:
- Resume -- brings your unsaved work back into the canvas
- Discard -- starts with a blank canvas and throws the backup away
The backup is cleared automatically once you've successfully saved the template.
Tips
- If a save won't go through and you can't tell why, read the list under the Save button and scan the canvas for any red-bordered steps. Each one names what's missing.
- There's no auto-save. Click Save regularly as you build, and always before you close the tab, so you don't lose your latest changes.
- Templates built before the current canvas open in the same editable canvas as any other template. The first time you open one, Pilla lays its steps out for you automatically as a top-to-bottom chain. You can pan, zoom, edit any step, and click Save to make your changes live — just like a template you built from scratch.
- There is no version history. The canvas keeps one live version per template, so save when you're confident the workflow is ready for your team.