PindoDocs
Web AppWeb

Editor

The editor is where you build a conversation: a canvas of connected nodes that runs your flow. Conversations can be pushed as a voice channel, or an SMS channel (coming soon).

Anatomy of the editor

Open any conversation to edit it. The workspace has a few key regions:

The Pindo conversation editor showing a loan_app flow on a node canvas: a Trigger (Phone call) connects to a Question node with Yes/No/Other answers, branching to more Questions and Final Statements. A Question Details panel is open on the right.
The editor: Includes a node canvas and configuration settings
RegionWhat it's for
HeaderThe conversation name, its Draft state, Publish, and Close.
Conversation settingsFlow-wide options such as the Language.
Add a NodeThe menu you drop new nodes from onto the canvas.
CanvasThe flow itself, starting at Start and branching through your nodes.
ControlsZoom, fit, pan, and undo/redo along the bottom.

Node types

Every flow is built from a small set of nodes. Combine them to handle anything from a one-line autoresponder to a multi-branch, AI-routed call.

Trigger

Starts the flow, for example a Phone call or an inbound SMS. Every flow has exactly one.

Question

Asks the contact something and branches on their answer (e.g. Yes / No / Other).

Final Statement

A closing message that ends a branch of the conversation.

Action

Runs an operation mid-flow, like updating the contact or calling out to your systems.

Every flow begins at Start with a single Trigger; each branch ends at a Final Statement. A flow can have many branches but only one trigger.

Trigger

Every flow starts with exactly one Trigger. It decides how and when a conversation begins, who it reaches (the Audience, one or more contact groups), and the organization phone number it runs on. Pick a trigger type from Trigger Details:

Question

A Question node asks the contact something and branches on their reply. Open Question Details and pick a question style. Both share a few fields:

FieldDescription
LanguageThe language the prompt is spoken/written in.
PromptrequiredWhat you ask the contact (up to 1024 chars). Preview audio to hear it.
Attach an audio fileOptionally play your own recording instead of synthesized speech.
Save answer asrequiredNames the variable that stores the reply, e.g. @variable.<name>.

Final Statement

A Final Statement delivers a closing message and ends that branch of the conversation: a confirmation, a thank-you, or a hand-off line. Open Statement Details to configure it:

FieldDescription
LanguageThe language the statement is spoken/written in.
Statement textrequiredThe closing message (up to 1024 chars). Preview audio to hear it, and use @ mentions to personalize.
Attach an audio fileOptionally play your own recording instead of synthesized speech.

Personalize the close with variables and context, e.g. Thanks @contact.name, your @variable.intent request is received.

Action

An Action runs an operation mid-flow: call an API, update a contact, request a payment, or send an SMS. Open Action Details and choose one of four action types:

Variables & context

The editor exposes two kinds of values you can reference with @ mentions: variables, which the flow captures as it runs, and context, which comes from the contact.

Variables

A variable holds a value the conversation captured, typically a Question's answer. In a Question node, set Save answer as to name the variable; reference it later as @variable.<name>.

# Question node - "Save answer as":
visited_or_trained

# Later, reference the captured answer:
@variable.visited_or_trained
@variable.visited_or_trained.intent

Use an Action node to persist a variable to a contact field: pick Update contact, choose the Field, and set its Value to a @variable.… mention.

Context

Context is what Pindo already knows about the contact: their name, phone number, and any custom field you've defined. Reference it with @contact.<field>:

Muraho @contact.name! Ombi ryawe ryakiriwe.
Uzamenyeshwa kuri @contact.phone.

Type @ in any text field to pick from available variables and contact context. Pindo substitutes the real value when the flow runs.

Build your first workflow

We'll build a simple loan intake: a call comes in, the contact is welcomed and asked a question, and each answer routes to a closing message.

Create a conversation

From New conversation, start Blank, name it, and pick the voice channel. You land on a canvas with a Trigger already placed.

Set the trigger

Open the Trigger and choose Phone call so the flow starts on an inbound call.

Ask a question

Add a Question node from Add a Node, e.g. "Welcome to our Bank. Would you like to apply for a loan?", with Yes / No / Other answers.

Branch the answers

Connect each answer onward: chain another Question for Yes, and a Final Statement (e.g. "Thanks!") for No and Other.

Close the branches

End each path with a Final Statement, personalizing it with @contact.name where it helps.

Publish

Click Publish to take the flow live. It stamps a new version; in-flight calls finish on the version they started on.

The editor autosaves a Draft as you work. Nothing goes live until you Publish, so experiment freely.

Publish & publications

Publishing snapshots the current draft as a version and routes live traffic to it. The previous version keeps running until the moment you publish, so there's no downtime.

Choose a publishing channel

Hit Publish and Pindo asks how the conversation should interact with users:

ChannelWhat it does
Voice ChannelPublish the conversation for voice-based interactions (calls).
SMS / Text Channel Coming soonPublish for SMS-based interactions.

Pick a channel and click Continue. Pindo runs through a short Publishing sequence (Preparing to publish, Compiling conversations, Optimizing for selected channel, and Finalizing deployment), then the version goes live.

Need to keep editing instead? Go back to editor from the publish screen at any time. Nothing is deployed until the sequence finishes.

Conversation states

A conversation can be in one of four states:

StateWhat it means
DraftYour working copy. Edited freely, never receives live traffic.
LiveThe active version handling real conversations right now.
PausedTemporarily stopped. No new conversations start until it's resumed.
ArchivedA retired version, kept for history and reference.

The Publications tab

Open the Publications tab (next to Editor) to see how each published version is performing. A metric dropdown (e.g. Calls) sets what the summary cards count.

CardWhat it shows
AudiencePeople reached by the published versions.
CallsTotal of the selected metric (e.g. calls) across versions.

The Conversations table lists each published version:

ColumnDescription
CallsThe selected metric's value for that version.
StatusWhether that version is Live or Paused.
DeployedWhen the version went out, e.g. 5 days ago.

Each row's menu lets you manage that version: pause or resume it, and review its deployment.

In-flight conversations finish on the version they started on, so publishing or pausing never cuts off a call that's already running.