Skip to main content


channel is an interface that clients use to communicate with your chatbot. On the Channels tab, you can configure all such external interfaces that your chatbot will utilize.

JAICP is a multichannel platform: every chatbot can be connected to multiple channels at the same time. For example, if you are developing a bot that will serve your customers on a website and in an instant messaging service, you can connect it to the chat widget and Telegram channels.


Supported channels

The following channels are supported in JAICP:

  1. Inbound channels — text and hybrid channels where clients communicate with bots, such as messengers, social networks, voice assistants, prompters, and others.

  2. Phone channels — telephony connections whereby bots can handle inbound and outbound calls. These require dedicated SIP server connections and integrations with speech recognition and synthesis APIs.

  3. Customer engagement platforms — channels where clients can have live chats with customer service agents. These channels are connected to inbound channels, so bots can switch the dialog to the agent and back.

Supported features and restrictions

Each channel has a number of its own features and restrictions that you may encounter when developing a bot.

To understand which channel is most suitable for your task, see the detailed information about channels’ features and restrictions.

Channel setup

Follow along the following steps to create a channel.

  1. Open a project and go to the Channels tab. Choose the necessary channel type.
  2. Click Connect channel. A modal window for creating a channel will be displayed.
  3. For inbound channels and customer engagement platforms, select the necessary channel type.
  4. Fill in the connection settings and click Create.

After you have created a channel, use the    icon to edit its connection settings or remove the channel.

Channel properties

All connected channels have the following properties displayed.

TypeThe channel logo.
NameThe name set up when creating the channel.Under the channel name, you can find its botId — the identifier of the bot in this channel.
TestThe icon which brings up the test widget.The icon is available only for the chat widget channel.
Deployment / BranchThe deploy mode and the branch deployed into the channel.
You can also select a Git tag or enter a specific commit hash.
One of the following deploy modes can be selected when creating the channel:
Automatic — every time new changes are saved in the project.
Manual — when the Deploy button is pressed.
StatusThe current status of the channel.The possible statuses for inbound channels are Works, In progress, Tests failed, Deploy failed, Unavailable.
LogThe icon which shows the deploy history and results.
If the channel deploy mode is set to Manual, the bot will not work in this channel until you deploy it for the first time.

Telephony channels have an additional Lines property whose value indicates the number of phone lines available to this channel.

Customer engagement platforms only have the Type, Name, and Status properties. The latter is either Waiting for connection or Connected to the specified number of inbound channels.


Also on the Channels tab, you can set up integrations to integrate your chatbot with various external services which you can access from the bot script.

Supported integrations

The following integrations are supported in JAICP:

  • Google Sheets — this integration allows accessing Google Sheets from the script: reading data from spreadsheets and writing it back.

Integration setup

Perform the following steps to create a new integration:

  1. Open a project and go to the Channels tab.
  2. Click Create integration and select an integration with the necessary service.
  3. Sign in to the appropriate account in the service and grant all the required permissions.

Once an integration has been successfully created, it will show up in the integration list with a unique integrationId under the integration type.

integrationId is an identifier which is used when calling the $integration API in order to interact with external services.