Skip to main content
Elements are the individual building blocks you connect on the Plural canvas to create interactive flows for your humanoid robots (Pepper, NAO, Temi) and virtual Avatars. Each element performs a discrete action — speaking a line, presenting a menu, calling an API, branching on a condition, and so on. You wire elements together by dragging the blue output circle from one element onto an empty canvas area or onto the input of another element.
To add any element, right-click on an empty area of your canvas and select the element from the context menu. You can also drag the blue output circle from an existing element and release it on a blank area — the same context menu will appear.

Interaction & Display Elements

Robot Says

Make your robot or Avatar speak text aloud. Add multiple speech variations for a more natural, human-like interaction.

Menu Designer

Display a fully customizable button menu. Users can tap a button or trigger one by voice. Supports background images, icons, speech, and per-button conditions.

Question Designer

Present a multi-button question screen with voice recognition. Save the user’s answer to a variable for use later in the flow.

Rating Designer

Collect star (or custom-icon) ratings from users. Configure per-grade speech reactions and a thank-you message.

Media Designer

Display rich content screens with text, background images or videos, overlays, and QR codes. Optionally hide the Avatar for full-screen media.

Save User Input

Render a text-input field that accepts typed or voice-entered responses. Supports Text, Phone, Email, Number, Time, Date, Dropdown, and Canvas (signature) input types.

Show Website

Embed an external HTTPS website inside your flow. Choose from Fullscreen, Fullscreen with Avatar, Half-size, Quarter-size, or Square-size layouts.

Logic & Routing Elements

Condition

Branch the flow based on variable comparisons (equals, greater than, less than, etc.). Works with both system variables and custom variables.

Time of Day

Route the flow based on the current time on the robot or browser. Default condition checks whether it is before midday.

Age Detection

Branch the flow based on the estimated age of the person detected in front of the robot or Avatar camera.

Gender Detection

Branch the flow based on detected gender (Male, Female, No Match). Detected gender is also saved automatically to #ATTRI/Gender.

Output Randomizer

Randomly select which output path the flow follows next. Add or remove paths in the sidebar.

Back to Flow Start

Jump back to the very beginning of the flow from any point.

Go-to-Destination

Jump to any named destination element elsewhere in your flow without drawing a direct connection arrow.

Pause Flow

Insert a timed pause (in seconds) between two elements.

Variable & Data Elements

Set User Attributes & Variables

Create or update a custom variable and assign it a value. Use #ATTRI/variableName to reference the variable anywhere in the flow.

Reset User Attributes & Variables

Clear one or all custom variables. Note: system variables cannot be reset.

Database

Read from or write to a Plural-managed database within your flow.

QR Code Reader

Scan a JSON-encoded QR code and map its fields to flow variables via transformation rules.

AI & Knowledge Elements

Knowledge Base

Connect a Plural Knowledge Base (PDF data sources) and let your Avatar answer natural-language questions using GPT. Choose Standard (GPT-3.5) or Premium (GPT-4o) models.

Custom API Request

Call any external HTTPS REST API (GET, POST, PUT, PATCH, DELETE). Map JSON response values to variables and use them throughout your flow.

Custom Script

Write and run custom JavaScript logic. Use getVariable() and setVariable() to read and write flow variables.

Custom Plugin

Embed an interactive HTTPS website and establish two-way communication with Plural using the postMessage plugin API.

Communication & Messaging Elements

Send SMS

Send a text message to a predefined phone number, powered by Twilio. Costs 75 GOs per message (up to 160 characters).

IoT Trigger

Pause the flow and wait for an inbound HTTP request from an external system before proceeding. Includes a Live URL, Test URL, and Auth Token.

Robot-to-Robot Chat

Enable two devices running the same project to have a back-and-forth spoken conversation with each other.

Robot-to-Robot Command

Trigger an element in another frame from the current frame. Used to orchestrate multi-device flows and Plural Automation frames.

Robot-Specific Elements

Drive to Location

Temi only. Send Temi to one of its saved navigation locations. Optionally display media and play speech while it navigates.

Change Language

Avatar only. Switch the entire flow to a different language at runtime. Requires additional languages to be added to the project first.

Automation & Server-Side Elements

Plural Automation

A dedicated server-side frame that runs independently of the Avatar frame. Use it to offload heavy logic, Knowledge Base queries, and API chains from the front-end flow.

System Variables

Plural automatically provides a set of read-only system variables you can reference in conditions, speech, and API calls without defining them yourself. Common examples include Time, WeekdayNumber, LanguageISO2, and Gender. See the System Attributes reference for the full list.
Use #ATTRI/variableName anywhere you need to insert a variable value — in robot speech, API URLs, button labels, or website parameters.