Plug Samples #12: Verify Customer Mobile Numbers with OTP to Avoid Spam Entries

Plug Samples #12: Verify Customer Mobile Numbers with OTP to Avoid Spam Entries

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. 
  1. response = Map();
  2. phone = session.get("phone").get("value").remove(" ");
  3. //Generate OTP
  4. otp = randomNumber(1000,9999);
  5. //Message body
  6. body = "Your OTP for Zylker is " + otp;
  7. //Navigate to your Twilio profile > Account > API Keys & Tokens > copy the Account SID 
  8. account_sid = "ACa988e5ee589d4c827439d1";
  9. url = "https://api.twilio.com/2010-04-01/Accounts/" + account_sid + "/Messages.json";
  10. //To get auth token, Navigate to your Twilio profile > Account > API Keys & Tokens > copy the Account SID and Auth token. 
  11. //auth = "<Account SID>:<Auth token>"
  12. auth = account_sid + ":e67e8be6805u8jc717cbd6a6a0";
  13. auth_encoded = zoho.encryption.base64Encode(auth);
  14. headers = Map();
  15. headers.put("Authorization","Basic " + auth_encoded);
  16. params = Map();
  17. params.put("To",phone);
  18. //Replace your Twilio number 
  19. params.put("From","+14173879299");
  20. params.put("Body",body);
  21. response = postUrl(url,params,headers);
  22. status = response.get("status");
  23. if(status == "delivery_unknown" || status == "undelivered" || status == "failed")
  24. {
  25. sms = "failed";
  26. }
  27. else
  28. {
  29. sms = "success";
  30. }
  31. info response;
  32. response.put("status",sms);
  33. response.put("otp",otp);
  34. 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
  1. response = Map();
  2. systemotp = session.get("systemotp").get("value");
  3. visitorotp = session.get("visitorotp").get("value");
  4. if(systemotp == visitorotp)
  5. {
  6. otp_status = "OTP verification successful";
  7. }
  8. response = Map();
  9. response.put("otpstatus",otp_status);
  10. return response;
Then, click Save, preview the plug and Publish it. 
NotesNote : 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.



    • Recent Topics

    • 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
    • Stage Transition Rules prevent moving deals to other pipelines

      I have rules in place when moving deals to lost or win to ensure some particular fields are updated to ensure accuracy. However these rules are preventing me from moving deals to other pipelines. I'm having to delete the rules, move deals, then set rules
    • Can't send email using template. Email address has been blocked error.

      Hi. I'm setting up a new Zoho CRM account and doing our first customizations. While testing the email templates to use during blueprint transitions, I always get this error: "Sorry! Email address has been blocked." Any ideas? Thanks. Bruno
    • unify organisation management

      As I am exploring different Zoho products (such as Workplace, CRM, Books, Contracts, Projects), I am noticing that there is no unified and streamlined organisation management. You can define different parameters for the same organisation (e.g. base currency)
    • Cannot Send Outgoing Mails on TeamInbox Reason:554 5.1.8

      Hello, I am receiving this error when trying to send emails from TeamInbox: Error while processing the request! Unable to send message;Reason:554 5.1.8 Email Could not be delivered for policy reasons. Does anyone know how I can solve this issue? Thank
    • Bring more clarity to your blueprints with color-coded transitions

      As your hiring processes evolve, blueprints naturally become more detailed. When multiple transitions connect different stages, it can take extra effort to identify approvals, rejections, reviews, and other actions at a glance. With this enhancement,
    • MARKED AS SOLVED BUT ISN'T SOLVED - Unable to Send Outgoing Messages in Android Cliq App

      Every time when an outgoing message in the android cliq app is sent it will look like it successfully sent, but when you check the message it just has an error exclamation point icon next it and has option to resend or delete the message. When the resend
    • Canvas and calendar

      Is it possible to have a canvas view that shows say a contacts details with the meetings calendar on the same page?
    • Free webinar: Zoho Sign in Q2 2026 - A quick walkthrough

      Hi there, The second quarter of 2026 has flown by, and the Zoho Sign team has been hard at work releasing features to enhance how you send, sign, and manage documents. Join us for our upcoming webinar, where we'll discuss what's new and what's to come.
    • Zoho Marketing Automation WhatsApp Campaign Import Sync for Zoho Analytics

      WhatsApp is a critical channel in modern marketing, yet WhatsApp Campaign metrics from Zoho Marketing Automation currently cannot be natively imported into Zoho Analytics via the default advanced analytics connector. Integrating this into the standard
    • 【Zoho CRM】アップデートのお知らせ:ミラー要素

      ユーザーの皆さま、こんにちは。コミュニティグループの中野です。 Zoho CRMに新しいフィールド機能「ミラーの要素」が追加されましたのでご紹介します。 これにより、別タブにある項目の値をリアルタイムで表示できるようになりました。 目次 1. ミラーの要素とは 2. ミラーの要素とルックアップ項目の連動項目の比較 ― どちらをいつ使うべきか 3. 適用範囲と制限事項 1. ミラーの要素とは これまで、別タブにある項目の値を引っ張ってくるには、カスタム関数やワークフローを使った値の更新が必要でした。
    • Generate payment links to collect your payments from Android

      Hello everyone! We're happy to announce that users can now generate payment links from their Bigin mobile app to collect payments from customers. This will help them manage their payments more efficiently, as payment records are linked to the pipeline
    • Introducing the Image Slider field: Multiple images, one clean carousel

      Hey everyone, Some context is best communicated visually. When you are offering a service, a written description rarely does enough work on its own. People want to see what they are signing up for before they book or pay. When you are selling a product
    • Online PDF Editor

      Hello Team, There is a small glitch i found when i was using your online software called "PDF Editor", There is a menu bar on right side comes when we click on 3 dots for any pdf, but that entire menu has no options to choose, that is totally blank, please
    • How to migrate emails from Amazon Work Mail?

      Hi, I've an account with Amazon Work Mail, I'd like to migrate emails from Amazon Work Mail to Zoho Mail. Can you guide me? Regards, Mahendran
    • IP Address List > Sigma

      We have developed a ZohoCRM extension that utilizes API calls to our server from Deluge scripts and Widgets. Our API server has IP restrictions in place. To ensure successful communication, we require a list of IP addresses utilized by Zoho's platform
    • steps and options to change Domain DNS/Nameservers settings

      Please share the options or steps to change  Domain DNS/Nameservers settings 
    • Zoho Contacts *Web Interface Does Not Load* (Tested in Firefox, Safari)

      The error shown in the console is: The resource from “https://static.zohocdn.com/zmail/zm/newContactsChange11/js/main.js” was blocked due to MIME type (“application/json”) mismatch (X-Content-Type-Options: nosniff). This should be fairly self-explanatory,
    • Product sorting in Zoho Commerce - how can I influence standard behaviour?

      Hello Zoho, I want to sort my products by e.g. name, SKU (Ascending / Descending) or by another attribute. I could neither find any solution in the settings, nor an entry in this help. Can you advice how this would work? Seems the standard sorting is
    • Journey vs Campaign Confusions

      Hi there! I hope you're all doing great! I'm new to the Zoho MA and I'm confused between Journey and Campaigns. I'm not sure if these two work together or not. I hope you can enlighten me. What I'm trying to do is setting up a Newsletter. 1. We have a
    • Survey questions inside email template

      We have a Net Promoter Score survey.  It is 3 questions only. When the deal is closed we need to send an email to a customer asking them these 3 questions. Currently, the only option I can find is to give a customer a link to survey. What we need is to
    • No DINAR (Serbia) in currency list

      There is no Serbian Dinar listed in the currency list. Dinar is available in Books, Inventory, CRM, FSM. Please make it available in Desk as well. Without it, the integration with other apps is not possible.
    • #18 Money in the Bank Doesn't Mean Your Books Are Upto Date

      Many businesses have experienced this. A customer transfers the payment. You check your bank account and see the money has arrived. A week later, while reviewing outstanding invoices, you realize the same invoice is still marked "Unpaid." The payment
    • "Print" option of GET Expense Report API not working

      Hello! I have been trying to use the "print" option of the GET Expense Report API but it seems the option does not alter the output. Is there an issue with the API or am I using it wrong? Here's my request code, in Deluge: response = invokeurl [ url :"https://www.zohoapis.com/expense/v1/expensereports/"
    • Enhance form structure with the Heading field

      Hello form builders, A form without structure creates cognitive load. When respondents can see where one section ends and where another begins, they move through the form with less friction and more confidence. This is the reason we have introduced Heading
    • Canva Integration

      Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
    • Zoho Books - Feature Request - Improve Online Payment Badges

      Hi Finanace Suite Team, I use Stripe to facilitate online payments and I often have customers who don't notice the online payment option on the invoice. The below example shows how a stripe payment link appears on the invoice. In this example you can
    • Allow customers to choose meeting venue and meeting duration on booking page

      My business primarily involves one-to-one meetings with my clients. Given the hybrid-work world we now find ourselves in, these meetings can take several forms (which I think of as the meeting "venue"): In-person Zoom Phone call I currently handle these
    • Improved configuration experience for Zia AI features

      Hello everyone, Zia, the AI assistant built in to Zoho Creator, powers a range of capabilities—from generating forms and suggesting fields to writing Deluge scripts and running AI agents—that help you build applications faster. Until now, configuring
    • Cdata - Looker Studio Community Connector Error to Zoho CRM

      Hi! Has anyone encountered the error message below when trying to connect to Zoho CRM from Looker Studio, and found a solution? I opened a ticket wih CData but didn't hear back.
    • Can I add Conditional merge tags on my Templates?

      Hi I was wondering if I can use Conditional Mail Merge tags inside my Email templates/Quotes etc within the CRM? In spanish and in our business we use gender and academic degree salutations , ie: Dr., Dra., Sr., Srta., so the beginning of an email / letter
    • Zoho CRM v2.1 deprecation or sunset plans ?

      Hi Team Wanted to know if there is any plan to deprecate v2.1 CRM apis https://www.zoho.com/crm/developer/docs/api/v2.1/ and if yes by when
    • i cant able to transfer data

      i cant able to transfer all data in folders (multiple data) from ONEDRIVE Microsoft to the ZOHO work drive. Each time I can only send 1 file. like 1 photo, 1 audio. It's not very useful for me. Please give me a solution to upload multiple files at a
    • How many Zoho Sales IQ do I need?

      Hello, We are a SME currently moving from Hubspot to Zoho. We are already using Zoho books and CRM, I am wondering how many ZohoSalesIQ account do I need? We mostly need to track our website users, no need for chatbot or anything. I am thinking to buy
    • Email Password Reset - Vishal & shaik Vali Babu

      Hi Team, The below-mentioned employees are unable to log in to their Gmail due to a password error. Kindly look into this on priority vishal.r@jumbotail.com shaik.babu@jumbotail.com
    • Where can I find the best mail backup tool for Windows?

      Later this evening I found Mail Backup Tool in google. Actually I was looking for a solution to download/save emails to my local drive. As I had plenty of important data stored in my email account. So i was not in a mood to take this thing lightly. This made me curious to found any software which can help me to backup my data to hard drive. Then I found the above application which was like a gem. A complete email backup solution for Zoho Mail, Gmail, Yahoo Mail, Office 365 and more than 40+ email
    • Zoho Desk data sync shows repeated “temporary error” after successful syncs

      Hi everyone, we are currently using Zoho Analytics with a data synchronization from Zoho Desk. In the synchronization history, I can see a repeating pattern: the sync runs successfully, but shortly after that, another sync entry fails with the message:
    • Zoho ERP | Product updates | June 2026

      Hello users, We launched Zoho ERP on January 23, and since then, our goal has been to help businesses streamline and manage their operations with greater efficiency, flexibility, and control. Since the launch, we've continued to enhance the platform every
    • Integration problem between zoho crm and zoho forms for an update in zcrm, with two mapped custom fields

      Hello everyone, I need to correct an existing integration between Zoho CRM and Zoho Forms: the use case is that a user needs to send an email to a contact, who will click on a button in this email, redirecting to a Zoho Forms. The contact can update or
    • Marketing Tip #40: Build trust by adding a contact option on every page

      Customers are more likely to buy when they know help is easy to reach. A visible contact option like chat, email, or a contact form, reassures shoppers that there’s a real team behind the store and that support is available if they need it. This is especially
    • Next Page