Fundamental Core Flows
The core library that contains all relevant flows related to user and bot utterance events and actions.
User Event Flows
user said $text -> $transcript
Wait for a user to have said the provided text using an exact match.
Example:
user said something -> $transcript
Wait for a user to have said something matching any transcript.
Example:
user saying $text -> $transcript
Wait for a user to say the given text while talking (this matches the partial transcript of the user utterance even if the utterance is not finished yet).
Example:
user saying something -> $transcript
Wait for any ongoing user utterance (partial transcripts).
Example:
user started saying something
Wait for start of user utterance.
Example:
user said something unexpected -> $transcript
Wait for a user to have said something unexpected (no active match statement for the user utterance that
matches the incoming event). This is a rather technical flow. If you are looking for a way to react to a
wide variety of user messages, check out the flows in llm.co.
Example:
Bot Action Flows
bot say $text
Execute a bot utterance with the provided text and wait until the utterance is completed (e.g. for a voice bot, this flow will finish once the bot audio has finished).
Example:
Semantic variants
For more expressive interaction histories and more advanced use cases, the core.co library provides several
semantic wrappers for bot say. You can use them anywhere instead of a bot say to annotate the
purpose of the bot utterance.
Bot Event Flows
bot started saying $text
Wait for the bot to start saying the given utterance
Example:
bot started saying something
Wait for the bot to start saying any utterance
Example:
bot said $text
Wait for the bot to finish saying the given utterance
Example:
bot said something -> $text
Wait for the bot to finish saying any utterance
Example:
Semantic variants
You may react to specific semantic wrappers for bot say that are defined in the core.co library
Utilities
wait indefinitely
Helper flow to wait indefinitely. This is often used at the end of the main flow to make sure the interaction
is not restarted.
Example:
it finished
Wait until a flow or action has finished. This will also check the action’s or flow’s state and, if it has already finished, continue immediately. If the awaited flow has already failed instead of finished, this flow will also fail.
Note: Actions can never fail, even if stopped, but will always finish. If an action was stopped, the ActionFinished
event will have a was_stopped=True argument.
Example:
State Tracking Flows
These are flows that track bot and user states in global variables.
tracking bot talking state
Track bot talking state in global variable $bot_talking_state, $last_bot_script.
Example:
tracking user talking state
Track user utterance state in global variables: $user_talking_state, $last_user_transcript.
Example:
Development Helper Flows
notification of colang errors
A flow to notify about any runtime Colang errors
Example:
notification of undefined flow start
A flow to notify about the start of an undefined flow
Example:
notification of unexpected user utterance
A flow to notify about an unhandled user utterance
Example: