Telegram Integration with XCALLY
Requirements
Panel | ||
---|---|---|
| ||
☑️ 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:
Open your Telegram and find bots app https://t.me/botfather
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:
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 GENERATEbutton:
Save the API Key. We will need it to setup the Telegram plugin.
Upload the Plugin to XCALLY
Note |
---|
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.
Download the Telegram Plugin zip file: https://repository.xenialab.com/repository/plugins/telegram-plugin/telegram-plugin-v2.1.1.zip
Open the App Zone section
Upload the Telegram 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 >10 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 --
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.
-- OR --
For Debian, look at the iptables rules and modify those in the file: /etc/iptables/rules.v4 according with your needs
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