Connection
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.
- 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
b) next, search for the user_send key and include the first ten events;
d) search for the oa_send key and enable events 1, 2, 4, 5, and 6.
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.
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.