Telegram

Telegram Integration with XCALLY

 

 XCALLY Motion enables you to integrate Telegram messenger as a New Channel, using the Open Channel.

Customers can interact with your Agents, sending and receiving direct messages from your Telegram Official Account.

Agents are able to receive the incoming messages on a special Telegram Queue and to reply from the XCALLY Motion standard GUI.

 

To make the Integration work, you need to configure your Telegram Account and your XCALLY Motion.

Let’s see how to configure Telegram Integration!

 


Requirements

 

The Motion instance must have a public address accessible via HTTPS. For security reasons we strongly recommend to use a Reverse Proxy find out more

Access to a Telegram account

 

 


Telegram Account Configuration

Follow these steps to create a Telegram service (bot) and enable its integration with XCALLY Motion:

  • Type as message /newbot to create a new bot

  • Choose a name for your bot

  • Choose a username for your bot. It must end in bot.

  • Save the BOT token to access the HTTP API. We will need it to setup the Telegram plugin.

Now your Telegram service is completed!


XCALLY Configuration

 

In this section you’ll see how to install and configure the XCALLY Motion Telegram Plugin interface, in order to let your Agents interact with Telegram users.

In this phase of the process, you need to access your XCALLY Motion as Admin.

Setup Telegram Account

 

  • Access the Open Channel Section:

 

  • Create a new Open Channel Account in your XCALLY Motion, clicking on the plus button and filling the fields:

Name: choose a name for your Telegram Account

Key: enter a specif key (it must different for each channel)

Reply URL: http://localhost:3262/sendMessage . This URL is going to be used by Open Channel to answer to the interactions.

List: Choose the List where the new contacts will be saved in the Contacts Manager. If a contact is already present in the List, the new interaction will be associated and reported in the Customer Journey. 

Description: (Optional) Describe to which bot the channel is associate (for example, bot_sales or bot_support).

 

To configure the Telegram Account:

  • Select the Telegram Account in the list of Openchannel Accounts, click on the button and Edit it:

  • Check the information and complete the Telegram Account configuration:

On the top of the screen, you can see the ID Account (the number that follows the # ).

  • Save the ID Account Openchannel. We’ll need it to setup the Telegram plugin.

  • Save the Token. We’ll need it to setup the Telegram plugin.





Setup Telegram Queue

In order to have Agents receive notifications from the Telegram Account and manage interactions, you need to configure a specific Queue.

Follow the next steps:

  • Create a new Open Channel Queue, as Telegram Queue.

  • Add Agents or Teams to the Telegram Queue.

  • Associate he Telegram Queue to the Telegram Account.

Please refer to this documentation to complete this phase of the process.


Generate API Key

Plug-ins, as Telegram, are connected to XCALLY Motion through the API Key.

  • To generate the API Key, go to the Staff section and open the User section

  • Select your Admin user and press on the three dots button to Edit it:

 

  • Click on the API Key Manager Icon:

 

  • Generate the API KEY, clicking on GENERATE button:

  • Save the API Key. We will need it to setup the Telegram plugin.

 


Upload the Plugin to XCALLY

XCALLY Motion does not support two or more identical plugins, concurrently active. For more information, please contact us via Support Portal.

It is necessary to upload the plugin.

  • After the upload, you will find it in the list of the uploaded App Zone Plugins:

  • To Install the plugin, click on   button, and click Install plugin:

  • Click on the button to edit the plugin. Select in the Sidebar field how/to whom this integration must be shown in the menu (default value: Admin Only):

 

Now your Telegram Plugin is active!


Setup Telegram Plugin

 

To configure the Plugin for Telegram, access the Plugins section and select Telegram Openchannel.

  • Fill and check the fields:

 

 

Webhook (XCALLY Motion Omnichannel): http://localhost:9000/api/openchannel/accounts/ID-CHANNEL/notify , where the 'ID_CHANNEL' is the Openchannel Account ID previously saved (id number without # )

API Key (Admin): Insert the API Key previously saved

Port: Plugin port (choose a different port for each plugin)

URL (public) XCALLY Motion: Enter the public XCALLY Motion URL

Proxy token: If necessary, insert the proxy token

 

 

 

Telegram section

Bot Token: Insert the Telegram token previously saved

Message in case of unsupported message: Message that appears to your Customers in case of unsupported message

Message in case of network fail: Message that appears to your Agents in case of network fail

Message in case of file upload fail: Message that appears to your Agents in case of file upload fail

 

Remember to Restart the Plugin:

  • Go to the App Zone section, select the Telegram plugin

  • click on the button and choose the Restart plugin command:

Telegram Integration is ready to be used!

 


Telegram Interactions

The Telegram interaction below shows the communication between the Telegram user (who writes messages to the Telegram Bot created) and your Agent (who interacts from the XCALLY Omnidesktop Interface.

Note that:

  • The Integration allows you to exchange text or attachments. Each message could transfer a text message or a file a time.

  • File >20 MB are not allowed, due to Telegram’s bot limitations.

  • Telegram supports only PDF and ZIP files. DOC, DOCX, TXT are not supported, unless included in a zipped file.

  • MP3 and MP4 are supported, WAV format is blocked by Telegram.

  • Animated GIF are transformed into static picture. GIF can be sent by Customers as file and the Agents receive a MP4 file.

  • PNG images sent by Customers are converted into JPG format: PNG transparent parts are shown in black (color).

  • DDL, EXE, SH files sent by Customers are blocked by XCALLY Motion for safety reason.

 


Additional Information

Configuring your firewall

If your XCALLY service is hosted behind a firewall then please make sure that the HTTPS port is able to accept incoming requests from Telegram webhook server.

A few suggestions in this regard:

  • Try to find the IP address for Telegram server, that is sending webhook requests to XCALLY, using your preferable network analysis tool.

  • Add the rule to allow incoming traffic from Telegram IP address, on Port 443, in your firewall policy.

-- OR --

For Debian, look at the iptables rules and modify those in the file: /etc/iptables/rules.v4 according with your needs

-- OR --

Modify the file /etc/sysconfig/iptables (for centOS Machines) and add the following line:

-A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j ACCEPT

Disclaimer: This method will open port 443 of your XCALLY server for all IP addresses.

-- OR --

Accordingly to the following link https://core.telegram.org/bots/webhooks you can open just the following TCP ports from the specified networks:

149.154.160.0/20

and

91.108.4.0/22

on port 443, 80, 88, or 8443.

 

Debugging/Troubleshooting

All of the log files for Telegram Messenger plugin events are available at:

  • /var/log/xcally/openchannel-interactions-combined.yyyy-mm-dd.log

  • /var/log/xcally/telegram-plugin-plugin.pm2.log