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

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"
WhatsApp Text =turn.zammoData.Channel == "whatsapp"
Slack Text =turn.zammoData.Channel == "slack"

Using a Channel Accessor

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

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

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

Summary