Best practices to support multipe channels

How should a chatbot solution be developed so to support multiple channels? The way inputs are processed differs whether if we use teneo web-chat, microsoft teams, the tryout engine or if we enable features like voice recognition. We currently have severalc chatbots that have been developed using teneo-webchat as the chosen channel but if we want to add MS teams as another, it is uncleared wether if we should re-write the whole application and branch from the begining of the flows or if we should make changes at each interaction. The problem with the first approach of branching from the beginining would be if we want to make a change or add something to the solution; we would have to write this change in each of the branches handling the different channels. What is the best way to support different channels for a chatbot solution?

Hi @edhorst,

Multichannel support can be achieved in different ways, and the preferred option will depend on your use case, your team and the differences among the channels. Two options could be:

  • One solution with different flows or branches per channel (where needed)
    • Scripted Context can be used to branch out for different channels when needed. This can be done on a trigger level for content that is exclusive to certain channels, or on transition level for different response settings per channel for the same question. You can see an example of how to use the Scripted Context for Channel management here Commonly used global contexts
    • Content that is identical on all channels can be used as is
  • Multiple solutions where each solution can adapt the flow structure to its needs
    • When all or most of the content needs to be adapted to a channel, working in a separate solution may be the preferred option as this will give full freedom to adapt intent recognition and answer texts to the specific channel.
    • The Channel-specific solutions can be created in a Localization setup to benefit from the native content sharing where you can reuse as much content as needed across solutions.