Aller au contenu

Construire un bot multicanal avec Tock

Notion de connecteur

Un connecteur Tock permet d'intégrer un bot à un canal de communication (textuel ou vocal) externe. Mis à part le type connecteur de test (utilisé en interne par l'interface Tock Studio), les connecteurs sont associés à des canaux externes à la plateforme Tock.

Tout l'intérêt des connecteurs Tock réside dans la possibilité de développer des assistants conversationnels indépendamment du ou des canaux utilisés pour lui parler. Il est ainsi possible de créer un bot pour un canal, puis le rendre multicanal par la suite en ajoutant des connecteurs.

Le connecteur Web a la particularité d'exposer une API générique pour interagir avec un bot Tock. En conséquence, il permet encore davantage d'intégrations côté "frontend", utilisant cette API comme passerelle.

Cette page liste en fait :

Connecteurs fournis avec Tock

Tock fournit de nombreux connecteurs pour différents types de canaux (voir ci-dessous). De nouveaux connecteurs sont régulièrement ajoutés à la plateforme, en fonction des besoins projets mais aussi du calendrier d'ouverture aux bots des canaux grand public.

Exemples : arrivée de Google Home en France en 2017, Alexa en 2018, ouverture des API WhatsApp puis Business Chat en 2019, etc.

Pour en savoir plus sur les bots référencés utilisant tel ou tel connecteur en production, n'hésitez pas à consulter la page vitrine Tock.

Messenger

Logo Messenger

  • Canal : Facebook Messenger
  • Type : texte (+ voix via l'upload de messages vocaux)
  • Status : connecteur Tock utilisé en production depuis 2016

Le guide Connecter son bot à Messenger explique comment intégrer un bot Tock avec une page Facebook / Messenger.

Pour en savoir plus sur ce connecteur, vous pouvez aussi vous rendre dans le dossier connector-messenger sur GitHub, où vous retrouverez les sources et le README du connecteur.

Slack

Logo Slack

  • Canal : Slack
  • Type : texte
  • Status : connecteur Tock utilisé hors production

Le guide Connecter son bot à Slack explique comment intégrer un bot Tock avec une chaîne Slack.

Pour en savoir plus sur ce connecteur, vous pouvez aussi vous rendre dans le dossier connector-slack sur GitHub, où vous retrouverez les sources et le README du connecteur.

Google Assistant / Home

Logo Google Assistant Logo Google Home

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-ga sur GitHub.

Alexa / Echo

Logo Alexa

  • Canal : Amazon Alexa / Amazon Echo
  • Type : voix
  • Status : connecteur Tock utilisé en production depuis 2018

Remarque importante : dans le cas d'Alexa, le modèle NLP est forcément construit et hébergé chez Amazon. Seul la partie framework conversationel de Tock peut être utilisée.

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-alexa sur GitHub.

Rocket.Chat

Logo RocketChat

  • Canal : Rocket.Chat
  • Type : texte
  • Status : à préciser

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-rocketchat sur GitHub.

WhatsApp

Logo WhatsApp

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-whatsapp sur GitHub.

Teams

Logo Teams

  • Canal : Microsoft Teams
  • Type : texte + voix
  • Status : connecteur Tock utilisé en production depuis 2019

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-teams sur GitHub.

Business Chat

Logo BusinessChat

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-businesschat sur GitHub.

Twitter

Logo Twitter

  • Canal : Twitter (messages privés)
  • Type : texte
  • Status : connecteur Tock utilisé en production depuis 2019

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-twitter sur GitHub.

Allo-Media

Logo Allo-Media

  • Canal : Allo-Media (téléphonie)
  • Type : voix
  • Status : connecteur Tock utilisé en production depuis 2020

Ce connecteur a été développé pour le bot AlloCovid. Pour en savoir plus, voir la classe AlloMediaConnector avec les sources du bot sur GitHub.

Google Chat

Logo Google Chat

  • Canal : Google Chat (anciennement Google Hangouts)
  • Type : texte
  • Status : connecteur Tock utilisé hors production

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-google-chat sur GitHub.

Web (générique)

Logo Web

Ce connecteur générique permet d'intégrer un bot Tock à n'importe quel site Web ou application : portail, application Web ou mobile, client REST, etc.

Le connecteur expose une API REST vers le bot, facilement intégrable depuis n'importe quelle application Web ou mobile, ou langage de programmation.

Plusieurs kits et composants basés sur le connecteur Web sont déjà disponibles pour intégrer des bots Tock à différents sites et applications, comme des sites Web avec React, des applications mobiles natives avec Flutter ou encore des intranets SharePoint.

  • Canal : Web (générique pour tous sites & applications Web)
  • Type : texte
  • Status : connecteur Tock utilisé en production depuis 2020

Pour en savoir plus sur ce connecteur, voir ses sources et son README dans le dossier connector-web sur GitHub. Il contient exemples et documentation format Swagger de l'API REST.

Test (générique)

Logo Web

Ce connecteur est interne à Tock, il sert à dialoguer avec un bot directement dans l'interface Tock Studio (vue Test > Test the bot) en émulant d'autres connecteurs.

Intégrations via le connecteur Web

Le connecteur Web expose une API générique pour interagir avec un bot Tock. En conséquence, il permet encore davantage d'intégrations côté "frontend", utilisant cette API comme passerelle.

React

Logo React

Ce composant React intègre un bot Tock et en assure le rendu graphique dans une application Web.
L'application Web communique avec le bot via un connecteur Web.

  • Intégration : React (JavaScript / JSX)
  • Type : applications Web
  • Status : utilisé en production depuis 2020

Pour en savoir plus, voir les sources et le README dans le dépôt tock-react-kit sur GitHub.

Flutter (beta)

Logo Flutter

Ce composant Flutter intègre un bot Tock et en assure le rendu graphique dans une application mobile ou Web.
L'application communique avec le bot via un connecteur Web.

  • Intégration : Flutter (Dart)
  • Type : applications mobiles natives et Web
  • Status : beta, en développement

Pour en savoir plus, voir les sources et le README dans le dépôt tock-flutter-kit sur GitHub.

SharePoint (beta)

Logo SharePoint

Ce composant WebPart permet d'intégrer un bot Tock dans un site SharePoint.
Il embarque le tock-react-kit pour communiquer avec le bot via un connecteur Web et gérer le rendu graphique du bot dans la page SharePoint.

Pour en savoir plus, voir les sources et le README dans le dépôt tock-sharepoint sur GitHub.

Technologies vocales

Les bots Tock traitent des phrases en format texte par défaut (chatbots). Néanmoins, on peut intégrer des technologies vocales aux "bornes" du bot afin d'obtenir des conversations vocales (voicebots et callbots) :

  • Traduction de la voix en texte (Speech-To-Text) en amont du traitement par le bot (ie. avant l'étape NLU)
  • Traduction du texte en voix (Text-To-Speech) en aval du traitement par le bot (ie. synthèse vocale de la réponse du bot)

Certains connecteurs fournis avec Tock permettent d'intégrer un bot à un canal externe gérant les aspects vocaux STT et TTS.

En outre, d'autres technologies vocales ont pu être intégrées à Tock ces dernières années. Elles sont mentionnées à titre indicatif, même quand il n'est pas fourni de connecteur prêt à l'emploi.

Google / Android

Les fonctions Speech-To-Text et Text-To-Speech de Google sont utilisées à travers le connecteur Google Assistant / Home, également par les fonctions vocales de l'application Microsoft Teams pour Android compatible avec le connecteur Teams, ainsi qu'au sein de la plateforme Android notamment pour des développements mobiles natifs.

Logo Android Logo Google Assistant Logo Google Home Logo Teams

  • Technologie : STT & TTS Google / Android
  • Status : utilisé avec Tock en production (via connecteurs Google Assistant / Home, Microsoft Teams et en natif Android pour les bots intégrés on-app)

Apple / iOS

Les fonctions Speech-To-Text et Text-To-Speech d'Apple sont utilisées à travers le connecteur Business Chat, ainsi qu'au sein d'iOS pour des développements mobiles natifs.

Logo iOS Logo BusinessChat

  • Technologie : STT & TTS Apple / iOS
  • Status : utilisé avec Tock en production (via connecteur Business Chat et en natif iOS pour les bots intégrés on-app)

Amazon / Alexa

Les fonctions Speech-To-Text et Text-To-Speech d'Alexa (Amazon) sont utilisées à travers le connecteur Alexa / Echo.

Logo Alexa

  • Technologie : STT & TTS Amazon / Alexa
  • Status : utilisé avec Tock en production (via connecteur Alexa)

Allo-Media & Voxygen

La société Allo-Media propose une plateforme IA basée sur les appels téléphoniques.

Voxygen propose des services de synthèse vocale.

A l'occasion du développement du bot AlloCovid, un connecteur Allo-Media a été développé pour intégrer le bot (Tock) aux services Allo-Media : Speech-To-Text et Text-To-Speech avec Voxygen.

Logo Allo-Media Logo Voxygen

  • Technologie : Allo-Media & Voxygen
  • Status : utilisé avec Tock en production (via connecteur Allo-Media)

Nuance

Nuance propose des solutions de reconnaissance vocale & IA.

Pour des expérimentations de commande vocale en 2016, Nuance avait été intégré à Tock pour ses fonctions Speech-To-Text. Même si cette intégration n'a pas été maintenue depuis, cela fonctionnait après quelques jours de mise en place.

Logo Nuance

  • Technologie : Nuance
  • Status : utilisé avec Tock en 2016

Architecture de connecteurs & gouvernance des données

Dans une optique de gouvernance des modèles et données conversationnelles, l'architecture en connecteurs Tock présente plusieurs avantages :

  • Le modèle est construit dans Tock, il n'est pas partagé via les connecteurs
  • Le choix des connecteurs d'un bot permet de maitriser la propagation (ou non) des conversations

Par exemple, pour un bot interne à une entreprise, on peut choisir de n'utiliser que des connecteurs vers des canaux propres (site Web, etc.) ou internes à l'entreprise (applications d'entreprise, espace pro sur un téléphone Android, etc.).

  • Même si un bot est connecté à plusieurs canaux/partenaires externes, seule la plateforme Tock possède l'ensemble des conversations sur tous ces canaux.

Développer son propre connecteur

Il est possible de créer son propre connecteur Tock, par exemple pour interfacer un bot Tock avec un canal propre à l'organisation (souvent un site Web ou une application mobile spécifiques), ou bien quand un canal grand public s'ouvre aux bots conversationnels et que le connecteur Tock n'existe pas encore.

La section Bot Framework du manuel développeur Tock donne des indications pour implémenter son propre connecteur.


Dernière mise à jour: 30 octobre 2020