Zalo channel

Last update: 07.03.2024
Only official Zalo accounts are connected to Deskie. Customers will be able to add your channel to their contacts to write whenever questions arise.


1. Log in to your official Zalo account on the Zalo developer page.

2. In the Setting section, copy the values of the Application ID and Application Secret fields and paste them into the corresponding fields in the form of connecting Zalo-account to Deskie on the following path: Administrator account → "Channels" section → "Zalo" subsection → "Add Zalo-account" button.

3. Copy the link from the Zalo account connection form to Deskie → on the Zalo developer website, go to Domain authentication → paste the link in the URL prefix block → click on Accuracy.

4. Go to the Webhook section → click the Change button to the right of the Webhook URL field and in the modal window that opens, specify the same link from the connection form in Deskie → click Update.

5. Enable the Webhook Retry option.


Some user messages from Zalo may be delayed because Zalo only expects a response to a webhook within two seconds, which is very short, especially since the request must reach Zalo servers  in Vietnam.

If Zalo does not receive a response within two seconds, the Webhook Retry setting is precisely responsible for retrying to send webhooks after 30 seconds, 5 minutes, 15 minutes, 30 minutes, 1 hour.

6. In the same section, in the List of webhook events block, include the following events:

- user_recieved_message
- user_read_message
- user_send_location
- user_send_image
- user_send_link
- user_send_text
- user_send_sticker
- user_send_gif
- user_send_audio
- user_send_video
- user_send_file
- user_send_business_card
- anonymous_send_text
- anonymous_send_image
- anonymous_send_file
- anonymous_send_sticker
- oa_send_text
- oa_send_image
- oa_send_gif
- oa_send_file
- oa_send_sticker

To avoid flipping through the entire list of events, use the search:

a) First, enable the user_recieved_message and user_read_message events seen on the first page on lines 7 and 8;

b) next, search for the user_send key and include the first ten events;

c) search for the anonymous_send key and include all four events found;

d) search for the oa_send key and enable events 1, 2, 4, 5, and 6.

7. Click the Application management button in the upper left corner → on the page that opens, hover over the Tools section → go to the API Explorer subsection.

8. In the Type of access token field, select the OA Access Token option → click the Get Access Token button → accept the conditions in the modal window that appears → copy the received tokens and paste them into the corresponding fields in the connection form in Deskie → click the Connect button.

What do Zalo messages look like in Deskie?

9. All cases list displays only the cases coming from asynchronous channels — users on both sides reply when it’s convenient for them. As for real-time chats, they are displayed and processed in a separate interface.When you get a new chat (Zalo, Viber, Slack, Telegram, FB messages, Whatsapp, Skype), a green icon appears in the upper right corner of the agent’s account. You can see incoming chats or new replies in chats through it:

Chats are displayed in the all cases list too, but only after they were ended:

  • when an agent is ending the chat by clicking "end chat" in the lower right corner;

  • after 10 minutes (default value) of inactivity on both sides;

  • when one of the automated rules is applied, that has an "end chat and set status" action (for example, if you don't plan to process chats and want to get them as cases in the all cases list):

We have separated synchronous and asynchronous communication on purpose because, if you want to provide first-class support, it is necessary to consider the specifics and expectations of users, depending on the type of channel you use to carry out the communication.

For example, the user is ok to wait for a couple of hours to get a response to his/her email. However, even a 5-minute response delay in chats might seem like an eternity. If you do not take this point into account and treat cases from emails and chats equally, some users will have an unpleasant experience interacting with the company.

Was this article helpful?