In this case study, we explore how we successfully integrated a client’s Zoho Creator POS system with the WhatsApp Business API to enhance customer communication using Interakt. The client required a solution to send order estimates and updates to customers via WhatsApp, leveraging the existing setup with Interakt for customer queries.

Generated by Dall-E AI
Systems Used
- Zoho Creator — Zoho Creator is a low-code app development platform (LCAP) that enables rapid app creation with drag-and-drop capabilities.
- Deluge — The low-code part of Zoho Creator’s LCAP offering. Zoho’s proprietary scripting language.
- WhatsApp Business API — WhatsApp Business Platform supports large-scale customer engagement and sales acceleration for businesses.
- Interakt — Interakt is a WhatsApp Business solution provider facilitating online sales growth and automated customer support.
Requirements
The client has two Zoho Creator pages:
- Order Estimates: generates and displays the Order Estimate.
- Order Status: generates and displays the current status of the Order.
We need to do the following:
- Create a manual trigger so that the client’s employees can send the Order Estimate to the customer via WhatsApp whenever needed.
- Create an automation where the Order Status is communicated to the customer via WhatsApp automatically whenever it reaches a status of interest to the customer.
Discovery Phase
We started by understanding and analyzing the system. The client has two Zoho Creator pages:
- Order Estimates: generates and displays the Order Estimate.
- Order Status: generates and displays the current status of the Order.
To-do:
- Order Estimate — Create a manual trigger and send Order Estimate Page Link to the customer via WhatsApp.
- Order Status — Create a trigger on change of Order status and send the Order Status page link to the customer via WhatsApp.
Interakt
We began by understanding the message channel for our communication, which was WhatsApp messages to be sent via Interakt. Interakt appeared to have a direct integration with Zoho, but we found that it was only with Zoho CRM and did not cover Zoho’s Creator product.
In cases like these, the best way forward is typically to use the open APIs provided by the product in question. Interakt has made them available for easy access in a Postman Collection.
We started by testing the message sending API (/v1/public/message/). The setup for their APIs is simple enough: get the API Key from Interakt > Developer Settings and add an Authorization header of the format Basic {{API_KEY}} and another Content-Type header of application/json. After setting it up and sending a test message, we encountered an error: Customer has not messaged within the last 24 hours. This error revealed two things:
- The connection to Interakt was working perfectly.
- There was a constraint we didn’t know about.
To address this issue, we utilized message templates, which are pre-approved WhatsApp messages that can be sent as notifications to users who might not have spoken to you in the last 24 hours on your WhatsApp number. We created a template and received approval within 10 minutes.
We then tested the solution again, and it worked as expected. We tried again, with a different number since we hadn’t waited 24 hours, to see if it would work in a live customer environment, we encountered another error: Customer matching query does not exist.
Upon investigation, we realized that the number we tested earlier was already in our client’s system from a previous interaction, which is why we didn’t get this error.
The solution in this case was to use the /v1/public/track/users/ API to first register the customer with Interakt and then trigger the message template.
Triggering Interakt from Zoho Creator
Now that we had the messaging system figured out, the next challenge was how to trigger this from Zoho Creator. We had two touch points here:
- A manual trigger for the user to send an Order Estimate to their customer as a WhatsApp message.
- An automated message when the customer’s order reaches specific stages.
For the manual trigger, we created a Report Button in Zoho Creator’s Order Estimate Report that triggers Interakt’s Track User and Send Message APIs via workflow.
// Code to get customer information, link of Order Estimate page, and Interakt template name
api_key = "{{API_KEY}}";
body = {
"phoneNumber": cNum,
"countryCode": "+91",
"traits": { "name": cName }
};
trackUserURL = "https://api.interakt.ai/v1/public/track/users/";
headers = Map();
headers.put("Authorization", "Basic " + api_key);
headers.put("Content-Type", "application/json");
response = postUrl(trackUserURL, body.toString(), headers);
// Handle response errors
smBody = {
"countryCode":"+91",
"phoneNumber": cNum,
"type":"Template",
"callbackData":"some_callback_data",
"template": {
"name": templateName,
"languageCode": "en",
"bodyValues": { link }
}
};
sendMessageURL = "https://api.interakt.ai/v1/public/message/";
smHeaders = Map();
smHeaders.put("Authorization", "Basic " + api_key);
smHeaders.put("Content-Type", "application/json");
response2 = postUrl(sendMessageURL, smBody.toString(), smHeaders);
// Handle errors
For the automated trigger, we created a workflow that triggers on the edit of the Order when the Status field gets updated:
// Code to create messageStatusArray List with all order statuses that trigger notifications
if (messageStatusArray.contains(input.Status))
{
// Code to generate link for the page with Order status data, and send the data to Interakt same as in the manual trigger with link and status variables
}
Final Implementation
Manual Trigger: A Report Button in Zoho Creator’s Order Estimate Report that triggers Interakt’s Track User and Send Message with message template APIs via workflow to send the link of the order estimates page to customers.
Automated Trigger: A Zoho Creator workflow that triggers on the update of the Order Status field, which in turn triggers Interakt’s Track User and Send Message with message template APIs to send the link of the order status page to customers.
Outcomes Achieved
The client’s POS system now has the added capability that allows their employees to send order estimates to their customers and automatically notify customers when their order status reaches a point of interest. This integration reduces communication overhead and enhances customer engagement for the company.
Thank you for reading! Please let me know if case studies like these are of interest to you. I’ll try to create more if these prove to be of help.
Originally Published: