Conversational Workflows: Chatbot Message Triggers
Build Hexabot chatbot workflows that trigger from incoming channel messages, use conversation context, and reply across connected messaging channels.
Last updated
Was this helpful?
Build Hexabot chatbot workflows that trigger from incoming channel messages, use conversation context, and reply across connected messaging channels.
Conversational workflows are Hexabot chatbot workflows that run when connected channels receive messages or events. They automate message-based conversations using the inbound message and current conversation context.
Use conversational workflow automation to build:
Customer support assistants
Lead-generation chatbots
Product recommendation conversations
FAQ and knowledge-base chatbots
Multi-step data collection
Human handover workflows
Unlike Manual and Scheduled workflows, Conversational workflows receive input automatically from the channel event and conversation context.

To create one:
Open the Workflow Editor.
Create a new workflow.
Select Conversational under Type.
Enter a descriptive Name.
Optionally add a Description.
Click Submit.
The workflow type determines its trigger and available input fields.
A workflow's type cannot be changed after it has been created.
A Conversational workflow must be associated with a channel source before it can process incoming chatbot messages.
See Which channels are supported in Hexabot? to choose a supported channel, or build your own.
Open the relevant channel source and select the workflow in the Workflow field.
When the source receives a new message, Hexabot starts the selected workflow. It provides the message and conversation context as workflow input.
Different sources can use different conversational workflows. For example, assign one chatbot workflow to a website widget and another to a messaging channel.
The input schema of a Conversational workflow is defined by Hexabot and cannot be edited.
The schema is displayed as Read only in the workflow form because its values are generated automatically from the incoming channel event.
The workflow can receive the following properties:
message_type
string
The type of inbound message associated with the event, such as text, quick reply, postback, or attachment.
payload
object or string
Additional payload supplied by the channel event. Its structure may vary depending on the channel and message type.
message
object
The normalized incoming message object received from the channel.
text
string
Text extracted from the incoming message.
mid
string
The unique identifier of the incoming message, when provided by the channel.
thread_id
string
The identifier of the conversation thread associated with the event.
The exact values available in message and payload depend on the connected channel and the type of event received.
For text-oriented workflows, use the text property as the primary message content.
Use message_type when the workflow needs different behavior depending on how the user interacted with the channel. For example, the workflow can handle a text message differently from a button postback or file attachment.
The message property provides the complete normalized message when additional metadata is required.
The payload property can contain channel-specific information, such as the value associated with a quick reply or postback.
Every Conversational workflow execution is associated with a conversation thread.
The thread_id identifies that thread and allows Hexabot to maintain context across multiple user messages. Messaging actions can use the current execution context to reply through the same channel and conversation.
The conversational input object does not accept arbitrary top-level fields. Workflow expressions usually read from $input.text, $input.message, $input.payload, or runtime context in $context.
Last updated
Was this helpful?
Was this helpful?
defs:
reply:
kind: task
action: send_text_message
inputs:
text: "='You said: ' & $input.text"
flow:
- do: reply