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.

Cette page liste en fait :

logo messenger Logo slack logo whatsapp logo teams logo google chat logo mattermost logo web logo web logo openai

logo React logo Vue

Connecteurs fournis avec Tock

Canal Type Connecteur Documentation
Web (sites, applications mobiles) texte web Web
WhatsApp texte whatsapp_cloud WhatsApp
Messenger texte messenger Messenger
Microsoft Teams texte teams Teams
Slack texte slack Slack
Google Chat texte google_chat Google Chat
Mattermost texte mattermost Mattermost
iAdvize texte iadvize iAdvize
Alcmeon texte alcmeon Alcmeon
Clients compatibles OpenAI (ex. Open WebUI) texte openai API OpenAI

De nouveaux connecteurs sont régulièrement ajoutés, en fonction des besoins des projets. Les connecteurs Alexa, Google Assistant, Twitter, Apple Business Chat et Rocket.Chat sont retirés dans Tock 26.9.1 (voir Mettre à jour Tock). Pour en savoir plus sur les bots utilisant ces connecteurs en production, voir la vitrine Tock.

L'ancien connecteur WhatsApp pour l'API On-Premise (whatsapp), arrêtée par Meta, est encore fourni mais déprécié : utilisez whatsapp_cloud (voir WhatsApp).

Le connecteur test (rest, module connector-rest) est interne à Tock : il permet de parler à un bot directement dans Tock Studio (menu Test), en émulant les 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
  • Statut : 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.

Vue

logo Vue

Ce widget de chat Vue 3 intègre un bot Tock et en assure le rendu graphique dans une page ou une application Web.
C'est une alternative au kit React : il s'intègre aussi bien dans une simple page HTML que dans une application Vue, Angular, React ou Svelte. La page communique avec le bot via un connecteur Web. Son apparence et ses libellés sont personnalisables, par exemple avec le Tock Vue Kit Editor.

  • Intégration : Vue 3 (JavaScript / TypeScript)
  • Type : applications et sites Web
  • Statut : utilisé en production, publié sur npm, voir la page de démonstration

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

SharePoint (archivé)

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.

  • Intégration : Microsoft SharePoint
  • Type : sites Web & intranets
  • Statut : archivé, plus maintenu depuis 2020

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 par les fonctions vocales de l'application Microsoft Teams pour Android compatible avec le connecteur Teams, ainsi qu'au sein de la plateforme Android pour des développements mobiles natifs.

logo android

logo teams

  • Technologie : STT & TTS Google / Android
  • Statut : utilisé avec Tock en production (via le connecteur 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 au sein d'iOS pour des développements mobiles natifs.

logo ios

  • Technologie : STT & TTS Apple / iOS
  • Statut : utilisé avec Tock en production (en natif iOS pour les bots intégrés on-app)

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.

À l'occasion du développement du bot AlloCovid, en 2020, 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
  • Statut : utilisé avec Tock en production pour AlloCovid en 2020 (le dépôt allocovid est archivé)

Nuance

En 2016, le Speech-To-Text de Nuance a été intégré à Tock pour des expérimentations de commande vocale. Cette intégration n'est plus maintenue.

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 Développer son propre connecteur du manuel développeur Tock donne des indications pour implémenter son propre connecteur.

Chat with Tock
×