All Channels - Condition Steps
Table of Contents
Action steps can be used in the Bot Editor, applicable across all available channels (e.g., AlcmeonChat, WhatsApp, etc.).
They are fundamental for creating branches within your bot scenarios. By setting up a "test" you can for exemple determine if a customer's message arrives during or outside your business hours, check if a customer has entered specific text, etc.
Condition on Schedule
This step creates two branches based on your pre-defined business hours for the specific channel:
- HO (Business Hours): This branch is followed if the local time of the customer's message, when converted to the time zone set for your business hours, falls within those defined working hours.
- HNO (Non-Working Hours): All other cases
📄 Note: You can configure your working hours for each channel from the “Settings / Working Hours” page.
Condition on entered text
This step lets you create multiple branches (unlimited number) by testing whether the customer's last message exactly matches specific values. There's also a default "else" output that activates if the customer's message doesn't match any of your specified conditions.
For example, you could define the following 2 outputs:
- “customer service”: If the customer’s last message is exactly “advisor” or “agent” or “speak to an advisor”.
- "welcome": If the last message from the client is exactly "menu" or "welcome" or "home" or "return".
…if a customer sends the message:
- “advisor” => They'll follow the branch 1 ("customer service").
- “advisors” => They'll go through the default "else" branch
- “return” => They'll follow the branch 2 ("welcome").
- “welcome back” => They'll go through the default "else" branch.
📄 Note 1: The text is case-insensitive. However, it is sensitive to diacritics (accents, cedillas, umlauts, etc.) and other letter variations across all alphabets.
📄 Note 2: When entering keywords for testing, always press "enter", after each word to save it. then, you can type the next one and press “enter” again. If you forget to press "enter" and to save, that specific entry will not be saved when you reopen the configuration.
Condition on Custom Field
This step enables the user to create one or more scenario branches by evaluating the values of a custom field.
Possible tests are as follows:
- Has a value
- = [text or number]
- <, > [number]
- Contains, Does not contain [text]
Condition on Variable
⚠️Advanced feature, please contact Alcmeon support before using it.
This step generates two branches in your scenario based on the outcome of a test applied to one or more variables: one branch if the branch is true, and the other if it is not.
The conditions written in this step must adhere to the Jinja2 format (refer to: https://palletsprojects.com/p/jinja/)
For instance, if an earlier action step in the scenario set the variable “intent” to the value "commerce", you could use a "Condition on variable" step with the condition intent == “marketing”. In this example, the customer would proceed through the "else" branch, as the condition evaluates to false.
Furthermore, we have included custom filters to assist users in handling dates. Developer documentation is available here: https://developers.alcmeon.com/docs/jinja2-documentation-and-custom-filters-guide
Multiple Conditions on Variable
⚠️Advanced feature, please contact Alcmeon support before using it.
This step allows you to create multiple scenario branches by evaluating the outcomes of various tests applied to a variable.
The conditions written in this step must adhere to the Jinja2 format (refer to: https://palletsprojects.com/p/jinja/
Furthermore, we have included custom filters to assist users in handling dates. Developer documentation is available here: https://developers.alcmeon.com/docs/jinja2-documentation-and-custom-filters-guide
📄 Note: variables must be of type “string” in order to be evaluated by this condition. For example, using conditions on integers or booleans will always return “false.”
Condition on advisor conversation
This step checks whether the customer is already talking with an advisor, and creates 2 branches:
- "Advisor conversation in progress" if a conversation with an advisor is in progress for this customer
- "No advisor conversation in progress" otherwise
A conversation with an advisor is considered in progress when ALL of the following conditions are met for the customer's latest conversation:
- the conversation has not been closed (see Close the conversation manually)
- the last message is more recent than the conversation duration set for your account (see Definition of an Alcmeon Conversation)
- at least one message of the conversation is neither answered nor archived, which means it is still in the "Received" or "Ongoing" tab of the Inbox
This step is useful to prevent an automatic message from interrupting an ongoing exchange. For example, placed at the start of a scenario that sends an offer or a notification, it lets you send nothing to the customer in the "Advisor conversation in progress" branch, and continue the scenario normally in the other branch.
📄 Note: A customer whose latest conversation has been fully handled (all their messages answered or archived) follows the "No advisor conversation in progress" branch, even if an advisor replied to them in the past.
Condition on User Language
Available exclusively for the Apple Messages channel
This step allows you to retrieve the language setting from the customer's Apple device and then create distinct scenario branches based on this information.
Condition on User Country
Available exclusively for the Apple Messages channel
This step lets you retrieve the country setting from the customer's Apple device and then create distinct scenario branches based on this information.