When creating your conversational AI application in Zammo you have the option of deploying it directly to multiple channels, including Website Chatbot, IVR/Telephony, SMS, Microsoft Teams, WhatsApp, Slack, Facebook Messenger, and more.
You might want to introduce different design components or capabilities to your conversational AI application based on a particular channel.
In this guide, details of the channel definitions are included. This information is accessed by leveraging the turn.zammoData.Channel
variable in UI Builder can let you implement specific logic based on the channel the conversation is taking place on.
Channel specific mappings can be found in the table below
Channel | Type | Accessor |
---|---|---|
ACS IVR | Voice | =turn.zammoData.Channel == "telephony" |
Twilio IVR | Voice | =turn.zammoData.Channel == "twilio-voice" |
Alexa | Voice | =turn.zammoData.Channel == "alexa" |
Soul Machines | Voice | =turn.zammoData.Channel == "soul-machines" |
Website Chatbot | Text | =turn.zammoData.Channel == "directline" |
Microsoft Teams | Text | =turn.zammoData.Channel == "msteams" |
ACS SMS | Text | =turn.zammoData.Channel == "sms" |
Twilio SMS | Text | =turn.zammoData.Channel == "twilio-sms" |
Text | =turn.zammoData.Channel == "whatsapp" | |
Slack | Text | =turn.zammoData.Channel == "slack" |
You can implement logic to perform an evaluation on the channel accessor and then perform the appropriate action or send a specific message.
For example, you can use the Branch: If/else
condition to define channel-specific logic within your conversational AI application:
In this example, my business is supporting both a Website chatbot and IVR/Telephony application. For this particular flow, I am comfortable getting my end-users mailing address in a single response on the Website chatbot but for IVR/Telephony I would like to complete individual steps to get the street number, street name, state, and zip code for better results
or the Branch: Switch (multiple options)
condition to define channel-specific logic within your conversational AI application:
In this example, my business is supporting multiple chat-based channels (Teams, Slack, and a Website Chatbot) for which I want to use a different contextual message for my given flow. Because the If/else logic wouldn’t cover all my cases we can use the Switch block to define each channel and its specific logic individually