Plug Sample #8 - Track your ecommerce order real-time with Zobot - Zoho Commerce integration

Plug Sample #8 - Track your ecommerce order real-time with Zobot - Zoho Commerce integration

Hi Everyone!

Zoho SalesIQ's Zobot is an intelligent tool to increase customer engagement and provide support, especially in the e-commerce industry. A crucial aspect of e-commerce is ensuring your customers can easily keep track of their orders. Just imagine your Zobot providing real-time updates on your customers' order status, tracking URL, shipment details, and estimated delivery dates. Sounds cool, right? That's what we are going to look at in this post. 



Zoho Commerce is a comprehensive e-commerce platform for building a website, accepting orders, tracking inventory, processing payments, and more. With SalesIQ's Zobot seamlessly integrated with Zoho Commerce, you can now provide exceptional support and prioritize convenience for your customers by making your bot actively promote your key offers, assist in tracking orders, create support tickets, and much more. 

To learn more about chatbots usage in the e-commerce industry, check out our exclusive webinar and help article. Now, let's dive into the step-by-step process of how to make your bot track orders with the codeless bot builder.

Overview of tracking orders



Step 1 - Create a connection between SalesIQ and Zoho Commerce.

  •  In your SalesIQ Dashboard, navigate to Settings > Developers > Plugs > Click on Add.
  •  Provide your plug a name, and description, select the Platform as SalesIQ Scripts, and finally, click on Connection to your left bottom. You will be redirected to the connection interface.

  •  Click on Create connection at the top right corner. Under Default connection, select Zoho OAuth service. 

  • Provide your connection name, connection link name, and choose the scopes below.
    • ZohoCommerce.salesorders.READ
    • ZohoCommerce.items.READ
  • Click on Create And Connect to connect Zoho SalesIQ and Zoho Commerce. 


  • Upon successful authentication,  Zoho SalesIQ will be connected with Zoho Commerce. 
Note: The Connection Link Name will be used in the scripts to invoke URL tasks.
 

 

Step 2 - Fetch the "Shipped" orders (Plug 1)

First, let's look at how to list all the shipped orders of the visitor from Zoho Commerce. To do this, we need the email address of the visitor. By List all sales orders API, the bot can fetch all the orders from the visitors (email). Then using the status as a filter, all the Shipped orders can be fetched and displayed to the visitors as options. 

Input Parameter:
  • Name: email | Type: Email
Output Parameter: 
  • Name: orderList | Type : Options list


Copy/paste the below code to list all the shipped orders. 
 
  1. response = Map();
  2. if(session.containsKey("email"))
  3. {
  4. email = session.get("email").get("value");
  5. }
  6. params = Map();
  7. params.put("email",email);
  8. params.put("page","1");
  9. params.put("per_page","5");
  10. header = Map();
  11. //Insert your Zoho Commerce Org ID (From your Zoho Commerce, navigate to the Store > Settings > Organization Profile > Organization ID)
  12. header.put("X-com-zoho-store-organizationid","<org_ID>");
  13. check_status = invokeurl
  14. [
  15. url :"https://commerce.zoho.com/store/api/v1/salesorders"
  16. type :GET
  17. parameters:params
  18. headers:header
  19. connection:"zohocommerce"
  20. ];
  21. array = check_status.get("salesorders");
  22. optionList = List();
  23. for each  entry in array
  24. {
  25. salesorder_id = entry.get("salesorder_id");
  26. URL = "https://commerce.zoho.com/store/api/v1/salesorders/" + salesorder_id;
  27. get_order_details = invokeurl
  28. [
  29. url :URL
  30. type :GET
  31. headers:header
  32. connection:"zohocommerce"
  33. ];
  34. shipping_status = get_order_details.get("salesorder").toList().get(0).get("shipped_status").toUpperCase();
  35. //Printing the shipped orders
  36. if(shipping_status == "SHIPPED")
  37. {
  38. product_ordered = get_order_details.get("salesorder").get("line_items").toList().get(0).get("name");
  39. quantity = get_order_details.get("salesorder").get("line_items").toList().get(0).get("quantity").toNumber();
  40. display_text = product_ordered + " (" + quantity + ")";
  41. optionList.add({"id":salesorder_id,"text":display_text});
  42. }
  43. }
  44. response.put("orderList",optionList);
  45. return response;
  • Then, click Save, preview the plug and Publish it. 
Note: API invoked in the plug List all sales orders 

Step 3- Getting order details (Plug 2)

In the previous step, we fetched all the "Shipped" orders and displayed them to the visitors. When they click on a specific order, the bot will get the order details from the Retrieve sales order API and provide them to the visitor. 

Input Parameter:
  • Name : orderID | Type : String
Output Parameter: 
  • Name: shippingAddress | Type : String
  • Name: deliveredDate | Type : String
  • Name: orderName | Type : String
  • Name: orderNumber | Type : String
  • Name: quantity | Type : Number
  • Name: orderCost | Type : Number
  • Name: trackingUrl | Type : String
  • Name: shippedDate | Type : String
  • Name: paymentMode | Type : String
  • Name: shippingStatus | Type : String


 Copy and paste the below code to get the order details.
 
  1. if(session.containsKey("orderID"))
  2. {
  3. salesorder_id = session.get("orderID").get("value");
  4. }
  5. header = Map();
  6. //Insert your Zoho Commerce Org ID (From your Zoho Commerce, navigate to the Store > Settings > Organization Profile > Organization ID)
  7. header.put("X-com-zoho-store-organizationid","<ord_ID>");
  8. URL = "https://commerce.zoho.com/store/api/v1/salesorders/" + salesorder_id;
  9. get_order_details = invokeurl
  10. [
  11. url :URL
  12. type :GET
  13. headers:header
  14. connection:"zohocommerce"
  15. ];
  16. order_number = get_order_details.get("salesorder").toList().get(0).get("salesorder_number");
  17. product_ordered = get_order_details.get("salesorder").get("line_items").toList().get(0).get("name");
  18. cost = get_order_details.get("salesorder").get("line_items").toList().get(0).get("rate").toNumber();
  19. quantity = get_order_details.get("salesorder").get("line_items").toList().get(0).get("quantity").toNumber();
  20. payment_mode = get_order_details.get("salesorder").get("offline_payment_details").toList().get(0).get("payment_mode");
  21. shipping_address = get_order_details.get("salesorder").get("shipping_address").toList().get(0).get("address");
  22. tracking_url = get_order_details.get("salesorder").get("packages").toList().get(0).get("status_message");
  23. shipping_address = get_order_details.get("salesorder").get("shipping_address").toList().get(0).get("address");
  24. shipping_status = get_order_details.get("salesorder").toList().get(0).get("shipped_status").toUpperCase();
  25. if(shipping_status == "FULFILLED")
  26. {
  27. shipping_status = "Delivered";
  28. tracking_url = "No tracking URL";
  29. delivered_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  30. shipped_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  31. }
  32. else if(shipping_status == "SHIPPED")
  33. {
  34. shipping_status = "Shipped";
  35. tracking_url = get_order_details.get("salesorder").get("packages").toList().get(0).get("status_message");
  36. shipped_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  37. delivered_date = get_order_details.get("salesorder").get("packages").toList().get(0).get("shipment_date");
  38. }
  39. else
  40. {
  41. shipping_status = "Yet to Ship";
  42. tracking_url = "No tracking URL available";
  43. shipped_date = "NA";
  44. delivered_date = "NA";
  45. }
  46. response = Map();
  47. response.put("orderNumber",order_number);
  48. response.put("orderCost",cost);
  49. response.put("orderName",product_ordered);
  50. response.put("quantity",quantity);
  51. response.put("shippingStatus",shipping_status);
  52. response.put("paymentMode",payment_mode);
  53. response.put("shippingAddress",shipping_address);
  54. response.put("trackingUrl",tracking_url);
  55. response.put("shippedDate",shipped_date);
  56. response.put("deliveredDate",delivered_date);
  57. return response;
  • Then, click Save, preview the plug and Publish it. 
Note: API invoked in the plug Retrieve sales order
 

Step 4 - Adding these plugs to the Codeless bot builder

  • Navigate to Settings > Bot > Add, provide the necessary information, and select Codeless Bot as a bot platform or open an existing bot.
  • To list the shipped orders, get the email address from the visitor by email card. 
  • Then, select the Plugs under Action Cards and select listShippedOrder (Plug 1). In the input parameters, select the Email context variable and provide a name (tracking.order) to save the list of shipped orders. 


  • Next, use the Single choice card to display all the shipped orders. Provide an option "Can't find my order" and click on dynamic suggestions and select the (tracking.order) variable. 

  • Next, click on Save in bot context (post.tracking.order) and store the visitor's order choice. 

  • Then, use the criteria router to route the flow based on the visitor's choice. 

  • After that, select the orderDetails plug in Plug card. And provide the post.tracking.order as the input and provide names for the outputs. 



  • Finally, use these context variables by typing % in the Send message card to display the order details to track orders. 

  • Also, use the markups to provide the tracking URL as a hyperlink.  


Bot Preview (Output)

  • The bot will ask for the email address and then provide the "shipped" orders list.  

  • Then the visitor selects one order, and the bot will provide the information about the order.  

  • Once the bot flow is complete, click Publish to deploy Zobot on your website or online store. Zobot will be ready to engage with your customers, provide support, and assist with their purchasing journey.
 
Related links:
To know more about the features of Zobot, kindly visit our Resources Section. 

    Access your files securely from anywhere









                          Zoho Developer Community




                                                • Desk Community Learning Series


                                                • Digest


                                                • Functions


                                                • Meetups


                                                • Kbase


                                                • Resources


                                                • Glossary


                                                • Desk Marketplace


                                                • MVP Corner


                                                • Word of the Day


                                                • Ask the Experts





                                                          Manage your brands on social media



                                                                Zoho TeamInbox Resources



                                                                    Zoho CRM Plus Resources

                                                                      Zoho Books Resources


                                                                        Zoho Subscriptions Resources

                                                                          Zoho Projects Resources


                                                                            Zoho Sprints Resources


                                                                              Qntrl Resources


                                                                                Zoho Creator Resources



                                                                                    Zoho CRM Resources

                                                                                    • CRM Community Learning Series

                                                                                      CRM Community Learning Series


                                                                                    • Kaizen

                                                                                      Kaizen

                                                                                    • Functions

                                                                                      Functions

                                                                                    • Meetups

                                                                                      Meetups

                                                                                    • Kbase

                                                                                      Kbase

                                                                                    • Resources

                                                                                      Resources

                                                                                    • Digest

                                                                                      Digest

                                                                                    • CRM Marketplace

                                                                                      CRM Marketplace

                                                                                    • MVP Corner

                                                                                      MVP Corner







                                                                                        Design. Discuss. Deliver.

                                                                                        Create visually engaging stories with Zoho Show.

                                                                                        Get Started Now


                                                                                          Zoho Show Resources

                                                                                            Zoho Writer

                                                                                            Get Started. Write Away!

                                                                                            Writer is a powerful online word processor, designed for collaborative work.

                                                                                              Zoho CRM コンテンツ






                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • 👋 Welcome to the Zoho MCP Community

                                                                                                            Hello all, glad to have you here! This is your space for everything AI agents, MCP tools, and intelligent business apps. This community is for you — developers, partners, creators, and businesses exploring how agents can transform work. Whether you’re
                                                                                                          • DNS Manager

                                                                                                            Where Can I find my DNS manager so I can link this to click funnels or AWEBER
                                                                                                          • How do I sync multiple Google calendars?

                                                                                                            I'm brand new to Zoho and I figured out how to sync my business Google calendar but I would also like to sync my personal Google calendar. How can I do this so that, at the very least, when I have personal engagements like doctor's appointments, I can
                                                                                                          • Need to extract date from datetime field

                                                                                                            I have a datetime field and need only the date part from it. I am unable to find a built-in function that would be <DateTime>.Date(). I don't think I want to go the string conversion route of converting the datetime to string and then parsing out values and create a date out of it. Any one out there has a better solution to this? Thanks in adavnce. Regards Moiz Tankiwala Smart Training & IT Solutions
                                                                                                          • New in Cadences: WhatsApp follow-ups, upgraded limits, and options for add-ons

                                                                                                            Hello everyone, We're rolling out two key updates to help you engage better and scale smarter with Cadences in Zoho CRM. Reach customers on WhatsApp, directly from Cadences Previously, Cadences have enabled you to automate follow-ups through emails, calls,
                                                                                                          • additional accounts

                                                                                                            If I brought 5 emails to my account. Can I later buy additional emails.
                                                                                                          • Why I am unable to configure Zoho Voice with my Zoho CRM account?

                                                                                                            I have installed Zoho Voice in my Zoho CRM, but as per the message there is some config needed in Zoho Voice interface. But when I click on the link given in the above message, I get an access denied page.
                                                                                                          • Issue with Hour Calculation in Zoho People Attendance Module

                                                                                                            I have noticed an issue in the attendance regularization feature of Zoho People. When trying to regularize past dates, the total working hours are not calculated correctly. For example, if I enter a check-in and check-out time for a previous day, the
                                                                                                          • Cliq Meeting Calls No Audio and Screen Share

                                                                                                            When in a Cliq channel meeting, the audio does not work at all on pc. When i use my phone as audio source, screen share on pc does not work. I have updated audio drivers but the strangest thing is that during a 1 on 1 call, it works well. Therefore the
                                                                                                          • Work anniversary and birthdays on connect

                                                                                                            Hello, I like the idea of having employee's work anniversary and birthdays on the dashbaord. Do you have to have the employee complete this information themselves in connect settings, or does it pull from their directory settings? (ie. we use Zoho one
                                                                                                          • Alias Email Id already exists

                                                                                                            Hi I'm trying to create an alias : contact @ yoavarielevy.co.il but i get the message  Alias Email Id already exists I had an account with the same name but I deleted it. Can you help? Thanx Yoav
                                                                                                          • Feature Request: Ability to Set a Custom List View as Default for All Users

                                                                                                            Dear Zoho CRM Support Team, We would like to request a new feature in Zoho CRM regarding List Views. Currently, each user has to manually select or favorite a custom list view in order to make it their default. However, as administrators, we would like
                                                                                                          • Adding Multiple Products (Package) to a Quote

                                                                                                            I've searched the forums and found several people asking this question, but never found an answer. Is ti possible to add multiple products to a quote at once, like a package deal? This seems like a very basic function of a CRM that does quotes but I can't
                                                                                                          • webinar registration confirmation are landing in SPMA folders

                                                                                                            I am trialing zoho webinar and do not have access to custom domains. When I test user registrations, they are working but the resulting confirmation email is landing in a spam folder. How can I avoid this?
                                                                                                          • Multiple organizations under Zoho One

                                                                                                            Hello. I have a long and complicated question. I have a Zoho One account and want to set it up to serve the needs of 6 organizations under the same company. Some of the Zoho One users need to be able to work in more than 1 organization’s CRM and other
                                                                                                          • Unbundle feature for composite items

                                                                                                            We receive composite items from our vendors and sell them either individually or create other composite items out of them. So, there is a lot of bundling and unbundling involved with our composite items. Previously, this feature was supported in form
                                                                                                          • Regarding the integration of Apollo.io with Zoho crm.

                                                                                                            I have been seeing for the last 3 months that your Apollo.io beta version is available in Zoho Flow, and this application has not gone live yet. We requested this 2 months ago, but you guys said that 'we are working on it,' and when we search on Google
                                                                                                          • workflow not working in subform

                                                                                                            I have the following code in a subform which works perfectly when i use the form alone but when i use the form as a subform within another main form it does not work. I have read something about using row but i just cant seem to figure out what to change
                                                                                                          • Fetch data from another table into a form field

                                                                                                            I have spent the day trying to work this out so i thought i would use the forum for the first time. I have two forms in the same application and when a user selects a customer name from a drop down field and would like the customer number field in the
                                                                                                          • Record comment filter

                                                                                                            Hi - I have a calendar app that we use to track tasks. I have the calendar view set up so that the logged in user only sees the record if they are assigned to the task. BUT there are instances when someone is @ mentioned in the record when they are not
                                                                                                          • How to View Part Inventory and Warehouse Location When Creating a Work Order in Zoho FSM

                                                                                                            Hi everyone, We’re currently setting up Zoho FSM and would like to improve how our team selects parts when creating a Work Order. Right now, when we add a part or item to a Work Order, we can select it from our Zoho Inventory list but we don’t see any
                                                                                                          • FSM too slow today !!

                                                                                                            Anybody else with problem today to loading FSM (WO, AP etc.)?
                                                                                                          • Not able to Sign In in Zoho OneAuth in Windows 10

                                                                                                            I recently reset my Windows 10 system, after the reset when I downloaded the OAuth app and tried to Sign In It threw an error at me. Error: Token Fetch Error. Message: Object Reference not set to an instance of an object I have attached the screenshot
                                                                                                          • Mapping a custom preferred date field in the estimate with the native field in the workorder

                                                                                                            Hi Zoho, I created a field in the estimate : "Preferred Date 1", to give the ability to my support agent to add a preferred date while viewing the client's estimate. However, in the conversion mapping (Estimate to Workorder), I'm unable to map my custom
                                                                                                          • Is there a way to request a password?

                                                                                                            We add customers info into the vaults and I wanted to see if we could do some sort of "file request" like how dropbox offers with files. It would be awesome if a customer could go to a link and input a "title, username, password, url" all securely and it then shows up in our team vault or something. Not sure if that is safe, but it's the best I can think of to be semi scalable and obviously better than sending emails. I am open to another idea, just thought this would be a great feature.  Thanks,
                                                                                                          • Single Task Report

                                                                                                            I'd like a report or a way to print to PDF the task detail page. I'd like at least the Task Information section but I'd also like to see the Activity Stream, Status Timeline and Comments. I'd like to export the record and save it as a PDF. I'd like the
                                                                                                          • Auto-response for closed tickets

                                                                                                            Hi, We sometimes have users that (presumably) search their email inbox for the last correspondence with us and just hit reply - even if it's a 6 month old ticket... - this then re-opens the 6 month old ticket because of the ticket number in the email's subject. Yes, it's easy to 'Split as new Ticket', but I'd like something automated to respond to the user saying "this ticket has already been resolved and closed, please submit a new ticket". What's the best way to achieve this? Thanks, Ed
                                                                                                          • How to Push Zoho Desk time logged to Zoho Projects?

                                                                                                            I am on the last leg of my journey of finally automating time tracking, payments, and invoicing for my minutes based contact center company - I just have one final step to solve - I need time logged in zoho desk to add time a project which is associated
                                                                                                          • Cannot access KB within Help Center

                                                                                                            Im working with my boss to customize our knowledge base, but for some reason I can see the KB tab, and see the KB categories, but I cannot access the articles within the KB. We have been troubleshooting for weeks, and we have all permissions set up, customers
                                                                                                          • Export to excel stored amounts as text instead of numbers or accounting

                                                                                                            Good Afternoon, We have a quarterly billing report that we generate from our Requests. It exports to excel. However if we need to add a formula (something as simple as a sum of the column), it doesn't read the dollar amounts because the export stores
                                                                                                          • why my account is private?

                                                                                                            when i post on zohodesk see only agent only
                                                                                                          • Getting ZOHO Invoice certified in Portugal?

                                                                                                            Hello, We are ZOHO partners in Portugal and here, all the invoice software has to be certified by the government and ZOHO Invoice still isn´t certified. Any plans? Btw, we can help on this process, since we have a client that knows how to get the software certified. Thank you.
                                                                                                          • 500 Internal Server Error

                                                                                                            I have been trying to create my first app in Creator, but have been getting the 500: Internal Server Error. When I used the Create New Application link, it gave me the error after naming the application. After logging out, and back in, the application that I created was in the list, but when I try to open it to start creating my app, it gives me the 500: Internal Server Error. Please help! Also, I tried making my named app public, but I even get the error when trying to do that.
                                                                                                          • Client Script | Update - Client Script Support For Portals

                                                                                                            Dear All! We are excited to announce the highly anticipated feature: Client Script support for Portals. We understand that many of you have been eagerly awaiting this enhancement, and we are pleased to inform you that this support is now live for all
                                                                                                          • Professional Plan not activated after payment

                                                                                                            I purchased the Professional Plan for 11 users (Subscription ID: RPEU2000980748325) on 12 September 2025, and the payment has been successfully processed. However, even after more than 24 hours, my CRM account still shows “Upgrade” and behaves like a
                                                                                                          • Auto Update Event Field Value on Create/Edit

                                                                                                            Hi there, I know this question has been posted multiple times and I've been trying many of the proposed similar scripts for a while now but nothing seems to work... what might I do wrong? The error I receive is this: Value given for the variable 'meetingId'
                                                                                                          • Pre-orders at Zoho Commerce

                                                                                                            We plan to have regular producs that are avaliable for purchase now and we plan to have products that will be avaliable in 2-4 weeks. How we can take the pre-orders for these products? We need to take the money for the product now, but the delivery will
                                                                                                          • Payroll and BAS ( Australian tax report format )

                                                                                                            Hello , I am evaluating Zoho Books and I find the interface very intuitive and straight forward. My company is currently using Quickbooks Premier the Australian version. Before we can consider moving the service we would need to have the following addressed : 1.Payroll 2.BAS ( business activity statement ) for tax purposes 3.Some form of local backup and possible export of data to a widely accepted format. Regards Codrin Mitin
                                                                                                          • Problem with Email an invoice with multiple attachments using API

                                                                                                            I have an invoice with 3 attachments. When I send an email manually using the UI, everything works correctly. I receive an email with three attachments. The problem occurs when I try to initiate sending an email using the API. The email comes with only
                                                                                                          • Page Layouts for Standard Modules like CRM

                                                                                                            For standard modules like quotes, invoices, purchase orders, etc, it would be a great feature to be able to create custom page layouts with custom fields in Zoho Books similar to how you can in Zoho CRM. For example, and my current use case, I have a
                                                                                                          • Next Page