Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »


ON THIS PAGE


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!

Telegram Account Configuration

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

  • 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.

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 to which Telegram contacts will be associated.

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

  • Complete the Telegram Account configuration.

  • We will need this new Open Channel (Telegram) Account to setup the Telegram plugin.



3011 OLD PORT…. QUESTO SCRIPT FUNZIONA CON V3?

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.

Perché dovrei farlo?

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.


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.

CREATE ACTION FLOW IN NEW OPEN CHANNEL SETUP PAGE


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 Motion

  • Download the Telegram Plugin zip file.

  • 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

  • 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 the button 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)!


Telegram Interactions

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


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.

  • No labels