Hi Everyone!
Verifying customer information is critical in business to filter out junk data and spammers. Whether it’s lead generation, appointment booking, or any other operation, ensuring quality data is essential for driving meaningful outcomes. A verified mobile number stands out as a dependable source of high-quality data. When automating processes with chatbots, you can enhance data quality by adding mobile number verification through OTP (One-Time Password)
We’ve developed a
plug script that verifies customer mobile numbers using OTP (One-Time Password) integrated with
Twilio. You can add this to your
Codeless bot builder to make your bot smarter, your processes smoother, and your data more reliable.
Overview of verifying the mobile number with OTP:
We need two Plugs:
- Plug 1 - Generate & send OTP to the mobile number:
- Plug 2 - Verify the OTP
Plug 1- Generate & send OTP to the mobile number:
- Open SalesIQ, navigate to Settings > Developers > Plugs > Add.
- Give a name, description for the plug. Select the Platform as Scripts, and click on Create Plug.
- The first step in building the plug is defining the parameters. Click on the parameters on top and declare the following.
Input Parameter
- Name : phone | Type : Phone
Output Parameter
- Name : status | Type : String
- Name : otp | Type : Number
Copy the code below and paste it into your plug builder. Then, make the following changes
- In line #8, replace your account_sid (Navigate to the Twilio > Select your account > Account info > copy the Account SID)
- In line #12, the auth token (Navigate to the Twilio > Select your account > Account info > copy the Live/Test credential)
- In line #19, replace your Twilio phone number.
- response = Map();
- phone = session.get("phone").get("value").remove(" ");
- //Generate OTP
- otp = randomNumber(1000,9999);
- //Message body
- body = "Your OTP for Zylker is " + otp;
- //Navigate to your Twilio profile > Account > API Keys & Tokens > copy the Account SID
- account_sid = "ACa988e5ee589d4c827439d1";
- url = "https://api.twilio.com/2010-04-01/Accounts/" + account_sid + "/Messages.json";
- //To get auth token, Navigate to your Twilio profile > Account > API Keys & Tokens > copy the Account SID and Auth token.
- //auth = "<Account SID>:<Auth token>"
- auth = account_sid + ":e67e8be6805u8jc717cbd6a6a0";
- auth_encoded = zoho.encryption.base64Encode(auth);
- headers = Map();
- headers.put("Authorization","Basic " + auth_encoded);
- params = Map();
- params.put("To",phone);
- //Replace your Twilio number
- params.put("From","+14173879299");
- params.put("Body",body);
- response = postUrl(url,params,headers);
- status = response.get("status");
- if(status == "delivery_unknown" || status == "undelivered" || status == "failed")
- {
- sms = "failed";
- }
- else
- {
- sms = "success";
- }
- info response;
- response.put("status",sms);
- response.put("otp",otp);
- return response;
Then, click Save, preview the plug, and Publish it.
Plug 2 - Verify the OTP
- Open SalesIQ, navigate to Settings > Developers > Plugs > Add.
- Give a name, description for the plug. Select the Platform as Scripts, and click on Create Plug.
- Click on parameters and declear the following.
Input Parameter
- Name : systemotp | Type : Number
- Name : visitorotp | Type : Number
Output Parameter
- Name : otpstatus | Type : String
Copy the code below and paste it into your plug builder
- response = Map();
- systemotp = session.get("systemotp").get("value");
- visitorotp = session.get("visitorotp").get("value");
- if(systemotp == visitorotp)
- {
- otp_status = "OTP verification successful";
- }
- response = Map();
- response.put("otpstatus",otp_status);
- return response;
Then, click Save, preview the plug and Publish it.
Note : Only published Plugs will be listed in Codeless Bot Builder.
How to add Plugs to the Codeless bot builder?
Collect the Visitor's Phone Number
- Use the Phone Card to get the visitor's phone number.
Generate and Send OTP
- Configure Plug 1 to generate and send a unique OTP to the visitor:
- Under Action Cards, select the Plugs Card and choose Plug 1.
- Choose Phone as the input (context variable).
- Get the OTP and its status as outputs, saving them in the bot context as system_otp and otp_status, respectively.
- Click Save to store the configuration.
Check OTP Delivery Status
- Add a Criteria Router Card to verify if the OTP was successfully sent:
- In the Plug Success Flow, add a Criteria Router Card.
- Create a rule: For a flow OTP sending failed flow by setting the context variable otp_status returning "failed" (OTP failed).
- The Not Matched Flow represents successful OTP delivery to the visitor.
Handle OTP Input from Visitor
- In the Not Matched Flow of the Criteria Router:
- Use a Visitor Fields Card to collect the OTP entered by the visitor.
- Save the visitor's input in a context variable (visitor_otp).
Verify OTP
- Use Plug 2 to compare the generated OTP (system_otp) and the visitor-provided OTP (visitor_otp):
- Provide both OTPs as inputs to Plug 2.
- Assign a variable to save the verification result.
Next Steps Based on OTP Verification
- If OTP verification succeeds: Proceed with the next flow.
- If OTP verification fails: Prompt the visitor to re-enter the OTP and repeat the verification process using the button card.
I hope this was helpful. Please feel free to comment if you have any questions. I'll be happy to help you.
Best regards
Sasidar | Zoho SalesIQ
Recent Topics
Kaizen #129 : Client Script Support for Blueprints
Hello everyone! Welcome to another week of Kaizen. Today, let us discuss about how you can use Client Script during a Blueprint transtion to meet your requirements. This Kaizen post will provide solution for the post - Need non-mandatory fields in blueprint
Search Bar Improvement for Zoho Commerce
Hey everyone, I've been using Zoho Commerce for a bit now, and I think the search bar could really use an upgrade. Right now, it doesn't show products in a dropdown as you type, which would make finding items a lot faster. On Shopify, for example, you
Making digital signatures accessible to all: Introducing accessibility controls in Zoho Sign
Hi there! At Zoho Sign, we are committed to building an inclusive digital experience for all our users. As part of our ongoing efforts to align with Web Content Accessibility Guidelines (WCAG), we’re updating the application with support that will go
Navigate with Ease: Announcing Improvements to Your Zoho CRM for Everyone's Setup Experience
Hello Everyone, We’re thrilled to announce new enhancements to the Setup Menu in our Zoho CRM for Everyone system, designed to simplify your workday and streamline your overall experience. What's New? Addition of a Setup Homepage Faster Search in Setup
Currency abbreviations
Hello, Im stuck, and need help. I need the currency fields for example, opportunity value, or total revenue, to be abbreviated, lets say for 1,000 - 1K, 1,000,000 - 1M, and so on, how should I do this?
Account Owner Field From Accounts Module to be Displayed in Contacts module
I have a field in the Accounts Module in the CRM called "Account Owner" i want that field to be also mapped into the Contacts Module custom single line field called "Account Manager".
Update a field in the ZOHO Form, basis numeric value in another field in the same form
I am trying to create a questionnaire in ZOHO, where clients need to answer 10 questions, and basis response, values are assigned. I have created a total score field where the sum of the values is stored. But i am unable to create a rule whereby another
Default Sorting on Related Lists
Is it possible to set the default sorting options on the related lists. For example on the Contact Details view I have related lists for activities, emails, products cases, notes etc... currently: Activities 'created date' newest first Emails - 'created
How to update "Lead Status" to more than 100 records
Hello Zoho CRM, How do I update "Lead Status" to more than 100 records at once? To give you a background, these leads were uploaded or Imported at once but the lead status record was incorrectly chosen. So since there was a way to quickly add records in the system no matter how many they are, we are also wondering if there is a quicker way to update these records to the correct "Lead Status". I hope our concern makes sense and that there will be a fix for it. All the best, Jonathan
Meet up de Zoho en Bilbao
Buenos días comunidad! Estamos estudiando hacer un Meet up en Bilbao desde zoho y varios Partners. Para que la experiencia sea excelente, queremos saber cuantas pesonas se vendrían a Bilbao al evento. Y para que sea lo mas útil posible, que temas dentro
Option to Customize Career Site URL Without “/jobs/Careers”
Dear Zoho Recruit Team, I hope you are doing well. We would like to request an enhancement to the Career Site URL structure in Zoho Recruit. In the old version of the career site, our URL was simply: 👉 https://jobs.domain.com However, after moving to
In Zoho inventory Converting sales return to cerdit note from using Api from Creator Error details: {"code":-1,"message":"Invalid Sales Return ID."}
In Zoho inventory Converting sales return to cerdit note from using Api from Creator Error details: {"code":-1,"message":"Invalid Sales Return ID."} this is button Function used in the Creator map Inventory.Create_Credit_note(int CRE_ID) { return_value
Creator Change History: Ways to improve
Hi Everyone, Recently been working in developing this change history(an idea from Zoho Forms) - unlike forms that you can this with a click but using Creator, we can use "old" keyword. The concept I come up with is to put the result in a table however,
Marketing Tip #2: Recover lost sales with abandoned cart emails
Did you know most online shoppers don’t complete checkout? Automated cart recovery emails are an easy way to bring them back. A simple reminder can recover sales you’d otherwise lose. Try this today: Enable abandoned cart emails in Zoho Commerce and set
Billing Management: #9 Usage Billing in IoTs
We live in a world where connectivity has become a lifestyle rather than a luxury. From smart thermostats that adjust your home's temperature to GPS trackers monitoring end-to-end fleets and sensors that optimize energy grids, the Internet of Things has
{"code":1038,"message":"JSON is not well formed"}
Today this began failing: sales_order_data = zoho.books.createRecord("salesorders",books_organization_ID,order_data); with this error message. {"code":1038,"message":"JSON is not well formed"} This code has been running for two years. Here is the input
Exciting Updates to the Kiosk Studio Feature in Zoho CRM!
Hello Everyone, We are here again with a series of new enhancements to Kiosk Studio, designed to elevate your experience and bring even greater efficiency to your business processes. These updates build upon our ongoing commitment to making Kiosk a powerful
How can I migrate Shared Mailbox from Zoho Mail to Team Inbox?
I am unable to migrate mails from my shared mailbox in Zoho Mail to Team Inbox. I am the super admin of my Zoho One plan and yet I am getting an error saying only admins can do this? I don't understand the issue.
Remember all the ways we've posted?
The world celebrates World Postal Day in 2025 with the theme “#PostForPeople: Local Service. Global Reach". The story of the “post” is a story of human connection itself, evolving from simple handwritten notes carried over long distances to instant digital
In arattai received message can't be deleted
The issue has been noticed in following: arattai app (Android) arattai app (Window) arattai web While the message posted by me may be deleted, the ones received from others can't be. The item <Delete> change to <Report> when the message is a received
Add Support for Authenticator App MFA in Zoho Desk Help Center
Hello Zoho Desk Team, We hope you are doing well. We would like to request an enhancement related to security for the Zoho Desk Help Center (customer portal). Currently, the Help Center supports MFA for portal users via SAML, JWT, SMS authentication,
Can no longer upload my own Notebook cover
I've had Notebook for over a year and have been able to create my own notebook covers, but when I tried to upload my own cover for a new notebook today, the upload feature has suddenly been starred, requiring me to upgrade my account. When did this
External File Share - Allow delete
Hi Team, when I share an external link and give it edit rights the external user can add but not delete files and folders. what am i doing wrong?
Elevate your CX delivery using CommandCenter 2.0: Simplified builder; seamless orchestration
Most businesses want to create memorable customer experiences—but they often find it hard to keep them smooth, especially as they grow. To achieve a state of flow across their processes, teams often stitch together a series of automations using Workflow
Zoho Desk - Cannot Invite or Register New User
Hi who may concern, we encountered a problem that we cannot invite user or the visitor cannot register for a user at all through our help center portal, with the snapshot shown as below and the attachement. It always pops up that "Sorry, Unable to process
Kaizen# 209 - Answering Your Questions | All About Client Script
Hello everyone! Welcome back to another exciting Kaizen post! Thanks for all your feedback and questions. In this post, let's see the answers to your questions related to Client Script. We took the time to discuss with our development team, carefully
Allocating inventory to specific SO's
Is there a way that allocate inventory to a specific sales order? For example, let's say we have 90 items in stock. Customer 1 orders 100 items. This allocates all 90 items to their order, and they have a back order for the remaining 10 items which could
Reports: Custom Search Function Fields
Hi Zoho, Hope you'll add this into your roadmap. Issue: For the past 2yrs our global team been complaining and was brought to our attention recently that it's a time consuming process looking/scrolling down. Use-case: This form is a service report with
Custom domain issue
I recently changed records for my support area custom domain for a few months, I then wanted to come back to Zoho, but now I can't connect it and I can't login as it's having an SSL issue. I cannot get a good response from support, as I've been notified
SOME FEATURES ARE NOT IN THE ZOHO SHEET IN COMPARISION TO ZOHO SHEET
TO ZOHO sir/maam with due to respect i want to say that i am using ZOHO tool which is spreadsheet i want to say that some features are not there in zoho sheet as comparison to MS EXCEL like advance filter and other Features which should be there in ZOHO
Zoho Sheet - Desktop App or Offline
Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
Open Sans Font in Zoho Books is not Open Sans.
Font choice in customising PDF Templates is very limited, we cannot upload custom fonts, and to make things worse, the font names are not accurate. I selected Open Sans, and thought the system was bugging, but no, Open Sans is not Open Sans. The real
Auto-upload Creator Files to WorkDrive
Hi everyone, I’m working on a workflow that uploads files from Zoho Creator to specific subfolders in Zoho WorkDrive, as illustrated in the attached diagram. My Creator application form has two multi-file upload fields, and I want—on successful form submission—to
How do you generate personalized certificates and save them in dynamic folders using Writer's mail merge?
Zoho Writer's mail merge feature can help you enhance the certificate management process. It's a great way to save time and effort! Merge certificates and maintain a well-organised repository with personalised certificates stored in separate folders for
Zoho Editor
Zoho PDf Editor is not working I am clicking on EDIT PDf then it again bringing me back to the same page. again and again.
The present is a "present"
The conversation around mental health has been gaining attention in recent years. Even with this awareness, we often feel stuck; the relentless pace of modern life makes us too busy to pause, reflect, and recharge. In the world of customer support, this
Export as MP4 or GIF
Hi, Just wondering if there's a way to export/convert a presentation to an MP4 video file or even a GIF. One use case would be to use the animation functionality to create social media graphics/charts/gifs/videos. Thanks for a great tool... Rgds Jon
Zoho Autoplay Issue
Currently, we run our graphics on a playlist with youtube videos interspersed in our office -- however, when we go to update the playlist (since last Thursday at around 8-9am EST) it no longer saves the autoplay function. We have tried making a new account, manually saving with cntrl+s, making a new show, etc but nothing seems to work. Even with our old program, we can't change it off of autoplay for ones that were created in the past. Another issue is that if we change a slide transition to anything
Where is the Global Search field?
I am looking for an alternative to SF.com. Zoho CRM seems to be work fine, and be customizable in terms of the fields and reports. But there's one big thing missing and it's going to prevent us from using it: there's no global search box at the top of
Zoho Sheet Autofit Data
While using Autofit Data function in Zoho Sheets with Devnagri Maratji or Hindi Fonts, a word or a number, it keeps couple of characters outside the right side border.
Next Page