How to manage Telegram Messages from XCALLY
RIVEDERE SOTTO
XCALLY Motion Open Channel offers the integration of Telegram messenger as a New Channel, allowing:
the Customers to interact with your Agents sending direct messages to your Telegram Official Account;
your Agents to receive the incoming messages on a special Telegram Queue and to reply from the XCALLY Motion standard GUI;
the Customers to receive the messages back on Telegram messenger.
Telegram Account Configuration
Follow these steps to create a Telegram service (bot) and enable its integration with XCALLY Motion:
Access to the Telegram bots app https://t.me/botfather
Type /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 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.
Setup Open Channel Account
Below you can find the steps to create an Open Channel Account and an Open Channel Queue:
Create a new Open Channel Account in your XCALLY Motion in the Open Channel Section:
The default Reply URL is http://localhost:3011/sendMessage and you usually don't need to change it.
But if the 3011 port is already in use (or you want to change it for any other reason), you can modify its value here and also in the configuration file: just before installing the plugin, unzip the files and change the property of the Port variable in the following file: server/config/config.json.
{ "token" : "{TOKEN}", "webhook": "https://{HOSTNAME}/api/plugins/webhook?port=3011&encoding=binary&path=/api/messages", "openChannel": { "id": "", "receiveUrl": "", "mapKey": "" }, "authentication": { "username": "", "password": "" }, "port": "3011" }
At the end of these changes, zip all the folder files and upload the plugin you modified.
Complete the Open Channel account configuration (Disposition, Action, etc)
Don't forget to select telegram (or any other custom field of the Customer profile) as mapKey and add the proper Agents to the account used for Telegram interactions.
Open Channel Queue
Create a new Open Channel Queue. LINK
Add Agents or Teams to the queue. LINK
Upload the Plugin to XCALLY Motion
Download the Telegram Plugin zip file that you can find in the App Zone Page.
Login as admin in XCALLY Motion, upload the Telegram Plugin and Install it:
After the upload, you will find it in the list of the uploaded App Zone Plugins. :
Edit this plugin clicking on the three dots
:
and select in the Sidebar field how/to whom this integration must be shown in the menu (default value: Admin Only):
Finally, install the Plugin:
click on and then you find the proper command:
and at the end the plugin will become Active
Setup Telegram Plugin
Configure the Plugin for Telegram by selecting Telegram integration from the list of Plugins:
Insert BOT Token (the one you obtained in previous steps)
Select your Open Channel account from the list (as created in the previous step)
Insert the admin username and password
Update the Webhook inserting your server name
The webhook URL should follow the format: https://{HOSTNAME}/api/plugins/webhook?port={PORT}&path=/api/messages&token={TOKEN}
where {HOSTNAME} is usually your XCALLY hostname or IP address, or the hostname of another server in case you would like to host your integration/application separately.
{PORT} is usually 3011, or the specific port you have defined in your Telegram Plugin settings inside XCALLY Motion.
{TOKEN} is the Open Channel Account token
Remember to modify the admin password you inserted here anytime you change it!
Pay attention to the Port value: each Port can be associated only to one service. Check if the chosen value has already been assigned to another service.
After saving the changes, remember to Restart the Plugin: click on
and you'll find the proper command
Now you can test the communication between the Telegram users (who will write messages to the Telegram Bot you created) and your Agents (who will interact from the XCALLY Omnidesktop Interface)!
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 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/ directory under openchannel-line- naming convention.
Telegram Interaction
scrivere dove visualizzare interazioni e stamp
The integration allows you to exchange text or attachments. To send both text and attachments, you must send more messages