Poppi (AI) Steps
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.
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 as the first thing on the screen when they open that part of the workflow.
Good fits include:
- Showing today's open Shopify orders above a "Pre-shift 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 or group on the canvas and lives to the right of that node as a satellite. It does not change what staff have to fill in, it just adds context above it on the mobile screen.
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
You add a briefing from the element or group it should attach to.
- Hover over the element or group on the canvas to reveal the circular Plus button 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 right of the parent, already connected
- Click the new node to focus it and fill in the fields
The header on the new node reads Poppi (AI) briefing with a grey background, 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 input element shows Tell Poppi what information should be added to the text input 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 checkboxes)
This is the list of connected integrations Poppi is allowed to read from when it builds the briefing. Only services with active connections appear in the list, plus Pilla itself which is always available and marked Always on.
Tick every service you want Poppi to consider. Poppi will only query the ones you select, so leaving a service unticked means it will be ignored even if connected.
How a briefing renders on mobile
When a worker opens the element the briefing is attached to, the briefing appears as a full-width information card above the element. It is read-only. The worker cannot tap, edit, or dismiss it, they just read it and then fill in the element below.
The briefing runs once when the worker first opens the element. It is not refreshed if they leave and come back later in the same workflow run.
Plan requirements
Poppi briefings need a Pro or Enterprise plan. The Briefing option in the add menu is greyed out on Basic and Standard, with a tooltip prompting you to upgrade. This applies whatever data sources the briefing reads, including a briefing that only uses Pilla.
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 is not in the data sources list, it is not connected yet, head to the Integrations page to connect it before adding it to 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 is an AI-powered step on the canvas that evaluates a yes or no question at runtime and routes the workflow accordingly. Poppi reads the upstream workflow context (what staff have answered so far), plus any data sources you give it, then decides yes or no and follows the branch you have set up.
What a Poppi decision is for
A decision lets the workflow branch based on what actually happened, not just what was scheduled. The question is yours, the answer is Poppi's, and what runs next depends on the answer.
Good fits include:
- Branching after an inspection element, run a Slack action on the Yes branch when everything is fine, run a different action on the No branch when something failed
- Gating a delivery check element so it only runs on days a delivery is booked
- Splitting a workflow into "open as normal" or "open with reduced staff" paths based on yesterday's chat handover
- Routing a complaint element down a "minor" or "major" path based on the photo and the worker's note
If the workflow needs to do something different based on context, a decision is the step that decides what that is.
The three placements
A Poppi decision can sit in three positions relative to the node it is connected to. The placement changes what the decision does.
Right-satellite (Yes / No router)
The default placement. The decision sits to the right of an element. After the element is filled in, Poppi evaluates the question and routes into one of two branches. The Yes branch (green dot) sits at the top right and the No branch (pink dot) sits at the bottom right. Each branch feeds a single Poppi action.
This is the right pick when the decision is about what to do AFTER the element is completed, like "post a summary to Slack if everything is fine, send a manager alert if not".
Left-gate
The decision sits on the LEFT of a single node. It is evaluated BEFORE the node runs, when the workflow is set up for the day. If the answer is Yes, the node runs as normal. If the answer is No, the node is skipped entirely and the worker never sees it.
Use a gate for conditional skipping, like "only run this delivery check if a delivery is booked today" or "skip the outdoor inspection if the weather forecast is rain".
Below (main-column router)
The decision sits in the main column with a Yes branch and a No branch dropping out of the bottom (green dot on the left, pink dot on the right). Poppi evaluates the question and sends the main flow of the workflow down one branch or the other. Unlike the right-satellite, each branch here can lead to a Poppi action OR another element, so you can fork the rest of the workflow itself, not just a follow-up action.
Use the below placement when the whole workflow should take a different path depending on the answer.
How to add a Poppi decision
You add a decision using the circular Plus button on a node. There is no right-click menu on the canvas.
- Hover over the element on the canvas to reveal the Plus button to its left, or hover below a node to reveal the Plus button beneath it
- Click the Plus button to open the add menu
- Pick Decision from the menu
- A new Poppi decision node spawns at the chosen placement, already connected
- Click the new node to focus it and fill in the fields
The header reads Poppi (AI) decision with a grey background. For a left-gate, the header reads Poppi (AI) decision (gate) so you can tell the placement at a glance.
Configuration fields
The fields depend on the placement.
Right-satellite and below placements
Both show a single prompt field. The label reads What should Poppi decide? and the placeholder reads: e.g. Were all critical items ticked? Was the photo clean and well-lit?
Write the question as a yes or no question. Poppi reads the worker's answers from the upstream element, then answers your question and picks the matching branch.
Left-gate placement
A gate has two prompt fields plus optional data sources.
The first field is the gate question itself. The label reads When should this [element-type] node run?, with the element type filled in based on the gated node. The placeholder reads: e.g. Only run if a delivery is booked today, or skip if the weather forecast is rain.
The second field is an optional briefing. When the gate resolves to Yes and the node runs, Poppi can also show a short briefing to the worker explaining the context that made the gate fire. This works exactly like a standalone Poppi briefing, with a prompt and a multi-select of data sources to read from.
Data sources are available on the gate field as well, so Poppi can read live data (today's calendar, today's orders, today's chat) when making the gate decision, not just static workflow context.
How to build out a branch
A decision creates two branches, Yes and No. Each branch starts empty with its own + button. What you can add depends on the placement.
For a right-satellite decision, the + button on the Yes or No handle adds a Poppi action straight away, because an action is the only option on this placement.
- Click the + button on the Yes or No handle
- A Poppi action node is added at the end of that branch, already connected
- Fill in the new node like you would any other
For a below (main-column) decision, the + button on the Yes or No handle opens a small menu with two choices, so you can fork the workflow itself, not just a follow-up action.
- Click the + button on the Yes or No handle
- Pick Action to add a Poppi action, or Element to pick an element type
- The chosen node is added at the end of that branch, already connected
- Fill in the new node like you would any other
You can only add one node per branch directly off the decision. If you need more, chain extra nodes off the first one.
How to delete a branch
To delete a branch, remove the edge between the decision and the branch's target node. Once the edge is gone, the + button on that branch reappears and you can add a different node.
Validation warnings
The decision node uses two visual cues to flag problems.
- A red border around the node means the decision is orphaned, usually because the branch is not connected to anything
- The test button (the play icon in the header) is disabled if the prompt is empty, the tooltip reads "Add a question first"
Plan requirements
Poppi decisions need a Pro or Enterprise plan. The Decision option in the add menu is greyed out on Basic and Standard, with a tooltip prompting you to upgrade. This applies to every placement, whether or not the decision reads external data sources.
Tips
- A decision is most useful when paired with an action, the decision picks the branch and the action does something useful on that branch
- Phrase the question so Yes is the "happy path", it makes the canvas easier to read at a glance
- Left-gates are powerful for conditional work, use them when you do not want staff to see an element at all on days it does not apply
- If you need the rest of the workflow to fork rather than just a single follow-up action, use the below (main-column router) placement, which can lead to actions or elements on each branch
- Test the decision with the play button before publishing, so you can see how Poppi answers on real workflow data
Poppi actions
A Poppi action is an AI-powered step on the canvas that runs a single instruction through one of your connected integrations. Poppi reads the upstream workflow context plus your written instruction, picks the right tool call parameters, and runs the action through the chosen service.
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, the decision picks a branch, the action gets the work done in another tool.
Good fits include:
- Posting a summary of a daily inspection to a #site-updates Slack channel after a check element is completed
- Creating a Google Calendar event for a maintenance follow-up after a No branch on a decision
- Uploading a generated PDF report to a Google Drive folder after a closing element
- Sending a polite team message inside Pilla to thank staff after a 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
This is important framing. Actions run under the connecting user's identity, not as a Pilla bot.
If you connected Slack, a message posted by a Poppi action appears in Slack as 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 number).
This applies to every external integration. The only exception is Pilla itself, where the team message is sent from Pilla as a system message, so the on-behalf-of caveat does not apply.
The reason is uniformity. Most integrations do not have a bot mode at all, so a single "your account did this" model is simpler to explain and matches how a human would have used the tool by hand.
How to add a Poppi action
There are two common ways to add an action. There is no right-click menu on the canvas; you add nodes using the circular Plus button.
From a Poppi decision's Yes or No branch
- Click the + button on the Yes or No handle of a Poppi decision node
- Pick Action from the menu (right-satellite decisions skip the menu and go straight to action, because that is the only option there)
- A new Poppi action node spawns at the end of that branch, already connected
From a main element
- Hover over the element on the canvas to reveal the Plus button to its left
- Click the Plus button to open the add menu
- Pick Action from the menu
- A new Poppi action node spawns to the right of the element, already connected
The header reads Poppi (AI) action with a grey background, the same grey on every action node whatever 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.
Service (picker, required)
This is the integration the action will run through. The list shows every service with an active connection, plus Pilla itself which is always available. Pilla supports a large and growing range of integrations, including Slack, Microsoft Teams, Gmail, Outlook, Google Calendar, Google Drive, OneDrive, Dropbox, Notion, Shopify, Stripe, HubSpot, Asana, Trello, Zoom and more.
If a service you want is not in the list, it is not connected yet, head to the Integrations page to connect it before picking it on the action.
Tool (picker, required)
Once a service is picked, the tool picker appears. It lists the actions available on that service, which vary by service. A few examples:
| 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 external integrations, not for Pilla.
Write the instruction in plain English. Poppi reads your instruction, looks at the upstream context (the element answers above the action), and works out the tool call parameters at runtime.
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.
Plan requirements
External integrations such as Slack, Google Calendar, Google Drive, Shopify and WhatsApp need a Pro or Enterprise plan to connect. Pilla itself, used for "Send team message", is always available on any plan.
Validation warnings
A red border around the action node means it is orphaned, usually because the service it was set to has been disconnected. The fix is to either reconnect that service on the Integrations page, or open the node and pick a different service.
The test button (the play icon in the header) is disabled until the action has a service, a tool, and an instruction. The tooltip explains which one is missing.
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 the names to pick the right destination
- Test the action with the play button before publishing, so you can see what Poppi sends through the integration on a real workflow run
- If a service is disconnected after the action is set up, the red border tells you which node needs attention before the next run
- Use a Pilla "Send team message" action for free, no-integration paths if you are still on the Standard plan and want to try Poppi actions before upgrading