Skip to content

Building a multichannel bot with Tock

Notion of connector

A Tock connector allows you to integrate a bot into an external communication channel (text or voice). Aside from the test connector type (used internally by the Tock Studio interface), connectors are associated with channels external to the Tock platform.

The whole point of Tock connectors lies in the ability to develop conversational assistants independently of the channel(s) used to talk to it. It is thus possible to create a bot for a channel, then make it multichannel later by adding connectors.

This page actually lists:

  • The connectors provided with the Tock distribution:

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

logo React logo Vue

logo android logo ios Logo voxygen

Connectors provided with Tock

Channel Type Connector Documentation
Web (websites, mobile apps) text web Web
WhatsApp text whatsapp_cloud WhatsApp
Messenger text messenger Messenger
Microsoft Teams text teams Teams
Slack text slack Slack
Google Chat text google_chat Google Chat
Mattermost text mattermost Mattermost
iAdvize text iadvize iAdvize
Alcmeon text alcmeon Alcmeon
OpenAI-compatible clients (e.g. Open WebUI) text openai OpenAI API

New connectors are regularly added, depending on the needs of the projects. The connectors for Alexa, Google Assistant, Twitter, Apple Business Chat and Rocket.Chat are removed in Tock 26.9.1 (see Upgrading Tock). To learn more about the bots using these connectors in production, see the Tock showcase.

The former WhatsApp connector for the On-Premise API (whatsapp), sunset by Meta, is still provided but deprecated: use whatsapp_cloud (see WhatsApp).

The test connector (rest, module connector-rest) is internal to Tock: it is used to talk to a bot directly in Tock Studio (Test menu), by emulating the other connectors.

Integrations via the Web connector

The Web connector exposes a generic API to interact with a Tock bot. As a result, it allows even more integrations on the "frontend" side, using this API as a gateway.

React

logo React

This React component integrates a Tock bot and renders it graphically in a web application. The web application communicates with the bot via a Web connector.

  • Integration : React (JavaScript / JSX)
  • Type : Web applications
  • Status : Used in production since 2020

For more information, see the sources and the README in the repository tock-react-kit on GitHub.

Vue

logo Vue

This Vue 3 chat widget integrates a Tock bot and renders it graphically in a web page or application. It is an alternative to the React kit: it can be embedded in a plain HTML page as well as in a Vue, Angular, React or Svelte application. The page communicates with the bot via a Web connector. Its appearance and wording can be customized, for example with the Tock Vue Kit Editor.

  • Integration: Vue 3 (JavaScript / TypeScript)
  • Type: Web applications and websites
  • Status: Used in production, published on npm, see the demo page

For more information, see the sources and the README in the tock-vue-kit repository on GitHub.

SharePoint (archived)

logo Sharepoint

This WebPart component allows you to integrate a Tock bot into a SharePoint site. It embeds the tock-react-kit to communicate with the bot via a Web connector and manage the graphic rendering of the bot in the SharePoint page.

  • Integration : Microsoft SharePoint
  • Type : Websites & Intranets
  • Status : Archived, no longer maintained since 2020

For more information, see the sources and the README in the tock-sharepoint repository on GitHub.

Voice technologies

Tock bots process sentences in text format by default (chatbots). However, voice technologies can be integrated into the bot's "terminals" in order to obtain voice conversations (voicebots and callbots):

  • Translation of voice into text (Speech-To-Text) upstream of the processing by the bot (ie. before the NLU step)
  • Translation of text into voice (Text-To-Speech) downstream of the processing by the bot (ie. voice synthesis of the bot's response)

Some connectors provided with Tock allow a bot to be integrated into an external channel managing the STT and TTS voice aspects.

In addition, other voice technologies have been integrated into Tock in recent years. They are mentioned for information purposes, even when no ready-to-use connector is provided.

Google / Android

Google's Speech-To-Text and Text-To-Speech functions are used by the voice functions of the Microsoft Teams app for Android compatible with the Teams connector, as well as within the Android platform for native mobile developments.

logo android

logo teams

  • Technology: STT & TTS Google / Android
  • Status: used with Tock in production (via the Microsoft Teams connector and natively on Android for on-app bots)

Apple / iOS

Apple's Speech-To-Text and Text-To-Speech functions are used within iOS for native mobile developments.

logo ios

  • Technology: STT & TTS Apple / iOS
  • Status: used with Tock in production (natively on iOS for on-app bots)

Allo-Media & Voxygen

The company Allo-Media offers an AI platform based on phone calls.

Voxygen offers speech synthesis services.

On the occasion of the development of the AlloCovid bot, in 2020, an Allo-Media connector was developed to integrate the bot (Tock) with the Allo-Media services: Speech-To-Text and Text-To-Speech with Voxygen.

logo Allo-Media

Logo voxygen

  • Technology: Allo-Media & Voxygen
  • Status: used with Tock in production for AlloCovid in 2020 (the allocovid repository is archived)

Nuance

In 2016, Nuance Speech-To-Text was integrated with Tock for voice command experiments. This integration is no longer maintained.

Connector architecture & data governance

With a view to governance of conversational models and data, the Tock connector architecture has several advantages:

  • The model is built in Tock, it is not shared via connectors
  • The choice of a bot's connectors allows you to control the propagation (or not) of conversations

For example, for a bot internal to a company, you can choose to use only connectors to its own channels (website, etc.) or internal to the company (enterprise applications, professional space on an Android phone, etc.).

  • Even if a bot is connected to several external channels/partners, only the Tock platform has all the conversations on all these channels.

Developing your own connector

It is possible to create your own Tock connector, for example to interface a Tock bot with a channel specific to the organization (often a specific website or mobile application), or when a general public channel opens to conversational bots and the Tock connector does not yet exist.

The Developing your own connector section of the Tock developer manual gives instructions for implementing your own connector.

Chat with Tock
×