> ## Documentation Index
> Fetch the complete documentation index at: https://support.humanizing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Building Conversation Flows in Plural

> Learn how to design and navigate conversation flows in Plural using frames, elements, and flow arrows for robots and avatars.

The Flow Builder is the heart of Plural — a visual canvas where you connect elements into conversation flows that your robot or avatar executes when it detects a human nearby. Understanding how flows work helps you create engaging, natural interactions from the first moment a user appears.

## How Flows Work

Every Plural project starts with two special system nodes at the top of your canvas: **Human detected** and **No human detected**.

* When a robot or avatar detects a human (via face detection), it begins executing the flow connected to the **Human detected** node, following arrows from element to element.
* When no human is in the robot's field of view, the device loops on the **No human detected** node — your **idle screen**.
* If a robot or avatar loses sight of a face while a flow is running, the flow immediately jumps back to the **No human detected** node.

<Note>
  NAO behaves differently from other devices. While a flow is running, NAO does **not** cancel it when no human is detected. You can use open-ended flows (elements with no outgoing arrow) to give NAO natural pause points where it can restart or wait for interaction. See the section below for more details.
</Note>

## Awareness Feature

The **Awareness Feature** governs the transition between idle and active states:

* The "No human detected" node acts as a repeating idle state — it loops as long as no human is seen.
* As soon as a face is detected, the flow following "Human detected" triggers and runs until no human has been seen for **3 seconds**.
* Use the **"No human interaction for 20 seconds"** trigger on elements to prompt the robot to repeat a question or offer a hint if the user goes quiet.

## Frames

Frames are containers on the canvas that group a set of connected elements into a logical flow. Each frame is associated with a specific device type (Avatar, Pepper, Temi, or NAO).

<Steps>
  <Step title="Add a frame">
    Click the **+** button on the canvas or use the toolbar to add a new frame and select the device type.
  </Step>

  <Step title="Resize a frame">
    Click the frame's border to highlight it, then drag any side or corner to resize. Frames also expand automatically when you drag elements to the edge.
  </Step>

  <Step title="Move a frame">
    Hover over the **top bar** of the frame until your cursor changes, then click and drag to reposition it on the canvas.
  </Step>

  <Step title="Delete a frame">
    Right-click the frame and choose **Delete** from the context menu, or click the robot-type icon in the upper-left corner, open the sidebar panel, and select **Delete** followed by confirmation.
  </Step>
</Steps>

<Warning>
  Changing the device type of a frame after you have already added device-specific elements will fail. For example, if your Temi frame contains navigation elements, you cannot switch it to an Avatar frame because avatars cannot move.
</Warning>

## Flow Navigation

Use these controls to move around large canvases comfortably:

| Action                   | How to do it                                          |
| ------------------------ | ----------------------------------------------------- |
| Pan the canvas           | Hold the left mouse button (or middle-click) and drag |
| Zoom in / out            | Scroll the mouse wheel                                |
| Jump to a specific frame | Use the frame selector in the top toolbar             |
| Move a frame             | Drag its top bar                                      |

## Connecting Elements with Flow Arrows

Draw connections between elements by dragging the **output circle** on one element to another element or to an empty area (which opens the element picker). The arrow defines the sequence the robot follows.

* Add **back buttons** by drawing an arrow from a later element back to an earlier one.
* For long flows, return users to the **second** element at the end rather than the first to skip repeated introductions.
* Leave **no dead ends** — an element with no outgoing arrow leaves the robot frozen on the last screen. Connect open ends back to a menu or the flow start.

<Tip>
  Check out the Plural example project, the Wine Sommelier at [https://go.plural.io/s/9c453bf582](https://go.plural.io/s/9c453bf582), to see a well-structured long-form flow in action.
</Tip>

## General Design Suggestions

Good flows feel like natural conversations, not monologues. Keep these principles in mind:

<CardGroup cols={2}>
  <Card title="Keep it conversational" icon="comments">
    Avoid long introductory speeches, especially ones that repeat on every visit (like main menus). Guide users by suggesting options they can say or tap.
  </Card>

  <Card title="Give users a way out" icon="arrow-left">
    Always provide back buttons or verbal escape routes so users can revisit content or exit gracefully.
  </Card>

  <Card title="Use media thoughtfully" icon="image">
    When displaying images or video, give users enough time to view them. Consider hiding buttons and letting users say "next" or "back".
  </Card>

  <Card title="Handle silence" icon="clock">
    Use the "No human interaction for 20 seconds" feature to prompt users who have gone quiet — repeat the question or offer a gentle hint.
  </Card>
</CardGroup>

## NAO-Specific Differences

<Note>
  NAO is a screenless robot with unique flow behavior. Keep these differences in mind when designing for NAO.
</Note>

Unlike Pepper, Temi, and Avatar — which stop a flow when face detection is lost — NAO continues running the active flow regardless of human presence. This means:

* **Open ends are intentional** — leaving an element without an outgoing arrow gives NAO a natural breakpoint where it can return to its idle state.
* **No screen** — NAO cannot show visual buttons or UI panels. Every instruction must be delivered verbally. Always tell the listener what words or phrases NAO expects to hear.
* **No "No human interaction for 20 seconds"** fallback is needed in the same way — use open-ended flows instead to create return-to-idle points.

## Context Menu

Right-clicking anywhere on the canvas or on a frame's border opens the **context menu**, which gives you quick access to options such as adding a new frame, deleting the current frame, and other canvas-level actions.
