On conversation-start
Fires once when a new conversation session begins – initialize state or trigger a greeting.
The On conversation-start handler fires once at the beginning of every new conversation session – before the user has sent any message. It is the ideal place for initialization logic: setting up variables, triggering an opening greeting, or logging the session start.
When It Runs
This handler is triggered by the predefined conversation-start signal, which fires automatically when:
- A user opens the web widget for the first time in a session
- A Kiosk conversation session initializes
- A new conversation is explicitly started after a previous one ended
It runs before the On User Input handler and before any Conversational Flow is activated.
Common Uses
- Trigger a greeting flow – Use
Activate Flowto run yourGreetflow as soon as a session starts, so the virtual being speaks first - Initialize session variables – Use
Store Variableto set default values for conversation variables at the start of each session - Log session starts – Use
Call WebhookorTrigger Automationto notify an external system that a new session has begun - Pre-load data – Use
Find record(s)to query a data table and store results in a variable for use throughout the conversation
Typical Node Pattern
Signal Handler (On conversation-start) ──► Continue ProcessingOr with a greeting:
Signal Handler (On conversation-start) ──► Activate Flow (Greet)When Activate Flow is used, there is no need for Continue Processing – the flow is activated and the handler finishes.
Available Nodes
| Node | Category | Purpose |
|---|---|---|
| Continue Processing | Exit | Pass control to Conversational Flows |
| Abandon Processing | Exit | Drop the event – no flow is triggered |
| Activate Flow | Exit | Trigger a specific Conversational Flow |
| Check Variable | Context | Read a variable value |
| Store Variable | Context | Write a value to a variable |
| Find record(s) | Context | Query a data table |
| Route by Profile | Logic | Branch by touchpoint (Web vs. Kiosk) |
| Route by Language | Logic | Branch by active language |
| Route by Signal | Logic | Branch by a named signal |
| Is Flow Active | Logic | Check if a flow is currently running |
| Trigger Automation | Integration | Fire an Automation |
| Comment | Other | Canvas annotation |
Example: Profile-Specific Greeting
Greet differently based on whether the user is on the web widget or a kiosk:
- Signal Handler (On conversation-start)
- Route by Profile
- Web Widget branch → Activate Flow (WebGreet)
- Kiosk branch → Activate Flow (KioskGreet)
The On conversation-start handler is the right place for logic that should run once per session. Do not put per-message logic here – use On User Input instead.
Relationship to the Greet Flow
A common pattern is to pair On conversation-start with a dedicated Greet Conversational Flow. The handler uses Activate Flow to trigger the Greet flow, which sends the opening message. After the Greet flow ends, the pipeline is ready to receive user messages via the On User Input handler.