Skip to main content

Studio

Studio is Teloring's visual flow builder. You draw a flow on a canvas — when this happens, do that — and Teloring runs it automatically, around the clock, for every conversation, call, form, schedule, or external event you point it at.

Anything a person does repeatedly in Teloring can usually be moved into Studio: greeting a new WhatsApp message, asking two qualifying questions and routing the answer to the right team, opening an IVR menu for phone calls, pushing a new lead into an external CRM, emailing a manager when a report crosses a threshold, or tagging and closing conversations on a schedule.

Studio is built from three kinds of block:

BadgeBlock kindQuestion it answers
WHENTriggerWhat starts this flow?
THENActionWhat should Teloring do?
IFConditionWhich way should the flow go?

You connect the blocks with lines, press Publish, and the flow is live.

Teloring Studio flow editor

Two ways to build a flow

Every flow can be built by hand or by AI. You choose when you create it.

WayHow it worksGuide
I'll build my ownYou drag blocks onto the canvas and configure them yourself.This page
Use AI to buildYou answer a short interview in plain language and Hermes builds the flow for you.Build a flow with AI

Both produce the same thing: an ordinary draft flow you can edit and publish. Building with AI requires the AI Studio switch in AI World.

Key facts

FactMeaning
Every flow starts with a triggerA flow with no WHEN block can never run and cannot be published.
Draft and live are separateEditing never touches the running version. Only Publish does.
One flow can have several triggersFor example one Incoming Message trigger for WhatsApp and another for Telegram, in the same flow. Only the trigger that matches the real event runs.
Blocks can branch and fan outOne block can feed several blocks. All connected paths run.
Studio respects human agentsIf a human agent owns a conversation, Studio stays out of it completely.
Values flow forward as variablesAnything an earlier block produced can be dropped into a later block as {{a.variable}}.
Two kinds of flowVoice flows (started by Incoming Call) and messaging flows (everything else). Each has its own blocks.
Account-isolatedFlows, variables, and executions belong to one account and are never visible to another.
Test before you publishTest Run executes the draft with sample data and sends nothing to real customers.
AI can build the first draftWith AI Studio enabled, Hermes interviews you and lays out the whole flow. What it produces is a normal draft you edit and publish yourself.

Who uses Studio

RoleTypical use
AdminsBuild and publish flows, connect webhooks and external systems, manage saved variables and versions.
Team managersDesign routing, business-hours behavior, escalation, and follow-up rules.
AgentsBenefit from the results — pre-qualified conversations, correct labels, auto-assigned queues, private notes with context.

Core concepts

Flow

A flow is one automation: a canvas holding blocks and the lines between them. Flows have a name, an optional description, and a status (Draft, Live, or Paused).

Block

A block is one step. Every block has:

  • a badge — WHEN, THEN, or IF — and a color that matches it;
  • an input port on top (except triggers, which start the flow);
  • one or more output ports on the bottom;
  • a Configuration panel on the right where you set its properties;
  • output variables it hands to every block downstream of it.
BadgeColorMeaning
WHENCoralTrigger — the entry point
THENTealAction — does something
IFAmberCondition — chooses a path
NOTEAmberSticky note — a comment for your team, never executed

Connection

A line from one block's output port to the next block's input port. The line shows the direction of travel with an animated dotted flow.

Blocks with more than one output — a condition, an IVR menu, Forward to Agent, an Analytics Alert — have one port per outcome, labelled underneath. Wire each outcome to whatever should happen next; a port you leave unconnected simply ends that path.

Messaging flows vs. voice flows

The moment you drop an Incoming Call trigger on the canvas, the flow becomes a voice flow and the block library changes:

Flow kindStarts withBlocks available
Messaging flowAny trigger except Incoming CallReply Message, Wait, and every general block
Voice flowIncoming CallPlay Sound, IVR Menu, Wait / Pause, Forward to Agent, Forward to External Phone, Hang Up, and every general block

Studio hides out-of-scope blocks from the picker, flags them on the canvas if a flow somehow contains one, and refuses to publish a flow that mixes them. See Voice call flows.

The Studio list

Open Studio from the left sidebar to see every flow in the account.

Teloring Studio flow list

ControlUse it to
New FlowCreate a flow. You are asked for a name, an optional description, and whether to build it yourself or with AI.
SearchFilter the list by flow name.
All / Draft / Live / PausedFilter by status.
Flow cardClick anywhere on the card to open the flow.
Card footerShows when the flow was created, when it was last edited, and who edited it.
⚡ Continue with AI badgeThe flow has an unfinished Hermes interview. Clicking the card reopens the conversation instead of the canvas; the Edit button still opens the canvas.
Edit / DeleteRow actions. Delete works on any flow, live included — you must type the flow's name to confirm. See deleting a flow.
Warning badgeAppears when a flow depends on something that no longer exists (for example a deleted analytics alert). The flow is paused automatically until you fix and republish it.

Create your first flow

  1. Click New Flow.
  2. Give it a clear, specific name — WhatsApp — after-hours auto reply beats Flow 3.
  3. Add a description so your teammates know what it does.
  4. Choose How would you like to build it?I'll build my own or Use AI to build. One of the two is required; the button stays disabled until you pick. Choosing AI opens the Hermes interview instead of the canvas.
  5. Click Create Flow. The editor opens on an empty canvas.
  6. Drag a trigger from the left panel onto the canvas.
  7. Drag a connector from the trigger's bottom port and release it on empty canvas — the block picker opens.
  8. Pick an action, configure it on the right, and repeat.
  9. Test Run, then Publish.

Choosing how to build a new flow

The editor

Studio editor anatomy

Top bar

ControlWhat it does
Back to the flow list.
Flow nameClick to rename. Saved with the flow.
Status badgeDraft, Live, or Paused.
Save indicatorShows Saving…, Saved, Unsaved, or Save failed.
Test RunRuns the draft with sample data. Nothing reaches real customers.
⚙ Flow SettingsAuto-save switch, Pause / Resume flow, and the list of saved var.* variables.
Auto-save pillShows whether auto-save is On or Off.
💾 Save nowSaves the draft immediately (Cmd/Ctrl+S).
PublishMakes the current draft the live version.

Left panel — Block Library

The left panel holds the two things you drag onto the canvas:

  • WHEN — Triggers. Every trigger available to the account.
  • NOTE — Editor Tools. The Sticky Note.

Below them, the Version bar shows the current version number and the last save time. Click it to open version history.

tip

Actions and conditions are not in the left panel. You add them from the block picker, which opens when you drag a connector out of a block and drop it on empty canvas. That way every new block is already connected to the one before it.

Adding an action or condition

  1. Point at the bottom port of an existing block.
  2. Drag out a line and release it on empty canvas.
  3. The block picker opens.
  4. Either type in Search all blocks… to search every block at once by name, description, or group, or browse the groups and open one to see its blocks.
  5. Click a block. It is created on the canvas, already connected.

Studio block picker

Blocks are organized into six groups:

GroupWhat's in it
ConversationsReply Message, Private Note, Change Conversation, End Session
FlowCondition If/Else, Business Hours, Agent Availability, Wait, Save as Variable
CRMContact Update, Customer Record
VoicePlay Sound, Wait / Pause, IVR Menu, Forward to Agent, Forward to External Phone, Hang Up
ExternalHTTP Request, Send Email
ToolsCode, Date and Time

The picker only ever lists blocks that are legal in the current flow — a messaging flow never shows voice blocks, and a voice flow never shows Reply Message or Wait.

Canvas

GestureResult
Drag empty canvasPan the view.
Scroll wheelZoom in and out.
Drag a blockMove it.
Click a blockSelect it and open its properties.
Drag output port → input portConnect two blocks.
Hover a connection, click Disconnect the two blocks. Both blocks stay on the canvas.
Click a connectionSelect it.

The bottom toolbar has zoom in/out, the zoom percentage, Fit to View, Undo, Redo, Duplicate selected, and Delete selected. A minimap in the bottom-right corner shows the whole flow and where you are in it.

note

You cannot connect anything into a trigger — triggers are always the start of a path. You also cannot connect a sticky note to anything.

Right panel — Properties

Select any block and the right panel fills with its settings.

Studio properties panel

SectionWhat it holds
ConfigurationEvery property of the selected block. Fields appear and disappear based on your choices — for example Wait timeout only appears once Wait for client response is on.
Available VariablesEverything the blocks above this one produce, grouped by namespace (System, Message, Conversation, Contact, Channel, Reply, and more). Drag a variable straight into a text field, or click it to copy. See Variables.
Execution Log · SoonPer-block run history. Not available yet — the section is marked Soon, and an empty log there does not mean the block failed to run.

Warnings on a block

A block shows a ⚠ warning badge on the canvas, and an explanation at the top of its properties panel, when Studio can see it will not work:

WarningWhat it means
This block is not connected to anythingNothing points into it, so it can never run. Drag a connector from an earlier block into its top port.
This is a voice blockIt is in a messaging flow. Voice blocks only work in a flow that starts with Incoming Call.
This block is not supported in Incoming Call voice flowsUse Play Sound, IVR, or a voice transfer instead.
A required choice is missingFor example Send Email with no inbox, or Customer Record with no object type.
Invalid JSON bodyAn HTTP Request whose JSON body no longer parses.
The selected analytics alert no longer existsThe alert was deleted in Analytics.

You can keep editing with warnings on the canvas, but fix them before you publish — the publish dialog reminds you, and some warnings block publishing outright.

Sticky notes

Drag Sticky Note from Editor Tools onto the canvas to leave a comment for whoever opens the flow next: why a branch exists, what an external system expects, who to ask about it.

Sticky notes have a title and a body, can be resized from the bottom-right corner, and have no ports. They are editor-only — they are never executed and are not part of the published flow.

Keyboard shortcuts

ShortcutAction
Cmd/Ctrl + SSave the draft now
Cmd/Ctrl + ZUndo (up to 50 steps)
Cmd/Ctrl + YRedo
Cmd/Ctrl + DDuplicate the selected block
DeleteDelete the selected block or connection

Duplicating a block copies its type and all of its settings, but not its connections — wire the copy in yourself.

How a flow runs

  1. An event happens — a customer messages you, a call arrives, a form is submitted, a webhook is called, a schedule comes due, a record changes.
  2. Studio looks for live flows whose trigger matches that event. Draft and paused flows are ignored.
  3. The matching trigger node runs. If a flow holds two Incoming Message triggers — one for WhatsApp, one for Telegram — only the one whose settings match the event starts.
  4. The flow walks forward along the connections. Where a block has several outgoing lines, all of them run. Where a condition chose a branch, only that branch runs.
  5. Each block adds its outputs to the flow's variables, so later blocks can use them.
  6. A block can pause the flow — Reply Message waiting for the customer's answer, or a Wait counting down. The rest of the flow resumes later, exactly where it stopped. Other branches keep running in the meantime.
  7. The run finishes when every path has ended.

Every run is recorded as an execution with a status:

StatusMeaning
runningCurrently executing.
waitingPaused for a customer reply or a timer.
completedEvery path finished.
failedA block returned an error.
timed_outA wait expired before the customer replied.
cancelledThe run was stopped.

Studio and human agents

When a flow starts handling a conversation, the conversation moves into the Studio Bot queue and shows that a flow owns it. This keeps bots and people from replying over each other.

SituationWhat Studio does
Conversation has no agentA matching flow can take it over and run.
Conversation is assigned to a human agentStudio skips it entirely — no triggers, no waiting flows, no replies.
A flow hands the conversation to a human (Human intervention)Studio releases ownership. Later messages go to the person, not back into the flow.
The conversation is resolvedThe handover marker is cleared, so a future re-open can be automated again.
A flow runs End SessionStudio releases the conversation, and the next customer message starts trigger matching from scratch.

See Change Conversation and End Session.

Limits

LimitValue
Blocks per flow200
Connections per flow500
Saved versions kept per flow50 (the most recent)
Undo history50 steps
Wait block1–15 seconds
Voice Wait / Pause0–30 seconds
Wait for a customer replyUp to 30 days
Recurring Schedule interval1 minute – 24 hours
HTTP Request timeout1–60 seconds
Email recipients per Send Email25
Custom email headers10

Where to go next

PageWhat it covers
Build a flow with AI (Hermes)Describe what you want, answer a few questions, and let AI lay out the flow.
Triggers — the WHEN blocksEvery trigger, its properties, and the variables it produces.
Actions — the THEN blocksEvery action, its properties, and its outputs.
Conditions — the IF blocksBranching, operators, business hours, and agent availability.
VariablesThe {{variable}} system and the full variable reference.
Voice call flowsBuilding phone flows: greetings, IVR menus, transfers, recording.
Test, publish, and versionsDraft vs. live, testing, publishing, rolling back.
Flow recipesComplete, worked examples you can copy.
TroubleshootingWhy a flow didn't fire, and how to fix it.