Plug Samples #2 : Prevent junk information by verifying the customer contact details with OTP

Plug Samples #2 : Prevent junk information by verifying the customer contact details with OTP

The chatbot is an excellent way to up stock your business needs. They shine in all the areas you apply them, like conversing with visitors, engaging them on-site, collecting their contact information, etc. Activating your Zobot with a codeless bot platform to collect visitor contact information is easy. But, validating the information and pushing the correct contact details to your CRM for future reference is tedious. In this post, let us learn how to validate the visitor contact information using OTP via plugs. 
  
Plugs help you perform customized actions on the codeless bot platforms. To validate, when a visitor visits your website, you can get their email, generate a unique OTP and allow them to proceed further only if the OTP verification is successful.

Overview of the Plugs:

We need to generate 2 Plugs : 
Plug 1 - For generating unique OTP 
Plug 2 - For verifying the OTP 

How to create a plug:

Plug1 - Generating OTP
  • In your SalesIQ Dashboard, navigate to Settings > Developers > Plugs and Click Add.
  • Provide your plug a name, description. Select the Platform as SalesIQ Scripts, and click on Create Plug
  • Now, create the Plug 1- generating OTP. Click on the parameters on top and declare the following. 
            1. Input Parameter - Name : email | Type : Email
            2. Output Parameter - Name : OTP | Type : Number
  • Copy paste the below code:
  1. response = Map();
  2. email = "";
  3. if(session.containsKey("email"))
  4. {
  5.         email = session.get("email").get("text");
  6. OTP = randomNumber(1000,9999);
  7. }
  8. response = Map();
  9. response.put("OTP",OTP);
  10. return response;
  • Then, click Save, preview the plug and Publish it.
Plug 2 - Verifying OTP
  • Create the Plug 2 - verifying the OTP. Click on the parameters on top and declare the following. 
            1. Input Parameter 1 - Name : emailotp | Type : Number
            2. Input Parameter 2 - Name : visitorotp | Type : Number
            3. Output Parameter : - Name : otpstatus | Type : String
  • Copy paste the below code.
  1. response = Map();
  2. emailotp = "";
  3. visitorotp = "";
  4. emailotp1 = session.get("emailotp").get("value");
  5. visitorotp1 = session.get("visitorotp").get("value");
  6. if(emailotp1 == visitorotp1)
  7. {
  8. otp_status = "OTP verification is Successful";
  9. }
  10. response = Map();
  11. response.put("otpstatus",otp_status);
  12. return response;
  • Then, click Save, preview the plug and Publish it. Now, we have added Plug. 
Note : Only published Plugs will be listed in Codeless Bot Builder. 

Flow to verify OTP on the Codeless Bot platform: 
  1. Initially get the email from the visitor,
  2. Generate a unique OTP using Plug 1,
  3. Send the generated OTP by send mail block
  4. Then get the OTP from the visitor by visitor fields block,
  5. Verify the both OTP (visitor given OTP and plug generated OTP) using Plug 2,
  6. If the OTP verification is successful proceed to the flow, if not, ask the OTP again. 

How to incorporate Plugs in Codeless bot?
  • Navigate to Settings > Bot >Add, enter the necessary information and select Codeless Bot as bot platform or open an existing bot.
  • Select the Plugs block under Action Block and select the Plug 1 (Generate OTP)
  • Provide bot context for email as plug input and get the OTP as plug output and store in bot context (emailotp). 
  • Click Save

  • Now, with Send email block, send an email to the visitor with OTP got from the Plug 1 using bot context (emailotp). 
  • Next, using the visitor fields block, get the OTP from the visitor and save it using the bot context (visitorotp) to verify. 
  • Then, select Plug 2, to verify the OTP created from Plug 1 (emailotp) and OTP entered by the visitor (visitorotp.)
  • Provide both emailotp and visitorotp as Plug input and get the verification successful text from as Plug output and store it in bot context to use it further. Click Save.


Related Links:
To know more about the features of zobot, kindly visit our Resources Section. 

    • Sticky Posts

    • Optimizing Chatbot Versatility by Combining Answer bot and Zobot

      Hi everyone! Great to see you. We are delighted to introduce the Answer bot card/autopilot function for the Codeless and SalesIQ Script bot platforms. This provides your bot with Q&A capabilities similar to the Answer bot. So, you can bring your Answer
    • What will happen if we deploy two Zobots/Chatbots on the website?

      Hi everyone,  The chatbot is a powerful tool to automate customer interaction on your website. But, what will happen if we deploy two different chatbots on the website? If you've deployed both answer bot and Zobot on the website for the same flow, then
    • Recent Topics

    • error while listing mails

      I can't access email in any of my folders: Oops, an error occurred - retry produces the second error response: error while listing mails (cannot parse null string). I've signed in and out of Zoho, restarted my iMac.
    • Unlocking New Levels: Zoho Payroll's Journey in 2025

      Every year brings its own set of challenges and opportunities to rethink how payroll works across regulations and teams. In 2025, Zoho Payroll continued to evolve with one clear focus: giving businesses more flexibility, clarity, and control as they grow.
    • Introducing Connected Records to bring business context to every aspect of your work in Zoho CRM for Everyone

      Hello Everyone, We are excited to unveil phase one of a powerful enhancement to CRM for Everyone - Connected Records, available only in CRM's Nextgen UI. With CRM for Everyone, businesses can onboard all customer-facing teams onto the CRM platform to
    • Send Supervisor Rule Emails Within Ticket Context in Zoho Desk

      Dear Zoho Desk Team, I hope this message finds you well. Currently, emails sent via Supervisor Rules in Zoho Desk are sent outside of the ticket context. As a result, if a client replies to such emails, their response creates a new ticket instead of appending
    • form data load issue when saving as duplicate record is made

      Hello. I have a form with a lookup when a value is selected the data from the corresponding record is filled into all of the fields in the form. But the form is loaded in such a state that if any value is changed it will take all of the values pre loaded
    • CRM project association via deluge

      I have created a workflow in my Zoho CRM for closing a deal. Part of this workflow leverages a deluge script to create a project for our delivery team. Creating the project works great however, after or during the project creation, I would like to associate
    • Zoho Browser??

      hai guys, this sounds awkward but can v get a ZOHO BROWSER same as zoho writer, etc. where i can browse websites @ home and continue browsing the same websites @ my office, as v have the option in Firefox, once i save and close the browser and again when i open it i will be getting the same sites. If u people r not clear with my explanation, plz let me know. Thanks, Sandeep  
    • Where can we specify custom CSS in Zoho Forms custom theme ?

      I'm using a form with a dark theme. The OTP popup window is unreadable, because for some reason, the OTP popup background fixes color to white, but still takes the font color specified in the custom theme. This ends up as white on white for me, rendering
    • MCP no longer works with Claude

      Anyone else notice Zoho MCP no longer works with Claude? I'm unable to turn this on in the claude chat. When I try to toggle it on, it just does nothing at all. I've tried in incognito, new browsers, etc. - nothing seems to work.
    • Enable History Tracking for Picklist Values Not Available

      When I create a custom picklist field in Deals, the "Enable History Tracking for Picklist Values" option is not available in the Edit Properties area of the picklist. When I create a picklist in any other Module, that option is available. Is there a specific reason why this isn't available for fields in the Deals Module?
    • The reason I switched away from Zoho Notebook

      My main reason for switching to Zoho was driven by three core principles: moving away from US-based products, keeping my data within India as much as possible, and supporting Indian companies. With that intent, I’ve been actively de-Googling my digital
    • Add RTL and Hebrew Support for Candidate Portal (and Other Zoho Recruit Portals)

      Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to set the Candidate Portal to be Right-to-Left (RTL) and in Hebrew, similar to the existing functionality for the Career Site. Currently, when we set the Career Site
    • Ability to Edit YouTube Video Title, Description & Thumbnail After Publishing

      Hi Zoho Social Team, How are you? We would like to request an enhancement to Zoho Social that enables users to edit YouTube video details after the video has already been published. Your team confirmed that while Zoho Social currently allows editing the
    • Free Webinar : Unlock AI driven business insights with Zoho Inventory + Zoho Analytics

      Are you tired of switching between apps and exporting data to build customized reports? Say hello to smarter & streamlined insights! Join us for this exclusive webinar where we explore the power of the Zoho Inventory–Zoho Analytics integration. Learn
    • Critical Issue: Tickets Opened for Zoho Support via the Zoho Help Portal Were Not Processed

      Hi everyone, We want to bring to your attention a serious issue we’ve experienced with the Zoho support Help Portal. For more than a week, tickets submitted directly via the Help Portal were not being handled at all. At the same time no alert was posted
    • Hide/Show Subform Fields On User Input

      Hello, Are there any future updates in Hide/Show Subform Fields "On User Input"?
    • Cloning Item With Images Or The Option With Images

      Hello, when I clone an item, I expect the images to carry over to the cloned item, however this is not the case in Inventory. Please make it possible for the images to get cloned or at least can we get a pop up asking if we want to clone the images as
    • Archiving Contacts

      How do I archive a list of contacts, or individual contacts?
    • WorkDrive and CRM not in sync

      1/ There is a CRM file upload field with WorkDrive file set as the source: 2/ Then the file is renamed in WorkDrive (outside CRM): 3/ The File in CRM is not synced after the change in WorkDrive; the file name (reference) in CRM record is not updated (here
    • Custom validation in CRM schema

      Validation rules in CRM layouts work nicely, good docs by @Kiran Karthik P https://help.zoho.com/portal/en/kb/crm/customize-crm-account/validation-rules/articles/create-validation-rules I'd prefer validating data input 'closer to the schema'
    • Adding Default Module Image into mail merge field

      As with most people finding their way to these forums i have a specific requirement that doesn't seem to be supported by Zoho I have created 2 custom modules to suit my purpose 1 is an inventory type module that lists aluminium extrusions, and all relevant
    • Sync Data from MA to CRM

      Currently, it's a one-way sync of data from the CRM to MA. I believe we should have the ability to select fields to sync from MA to the CRM. The lead score is a perfect example of this. In an ideal world we would be able to impact the lead score of a
    • Is it possible to roll up all Contact emails to the Account view?

      Is there a way to track all emails associated with an Account in one single view? Currently, email history is visible when opening an individual Contact record. However, since multiple Contacts are often associated with a single Account, it would be beneficial
    • Update CRM record action

      Currently, MA only offers a "Push Data" action to push data to a CRM module. This action is built to cover the need to both create a new record and update an existing record. Because it has been implemented this way all required fields on the CRM module
    • Notes badge as a quick action in the list view

      Hello all, We are introducing the Notes badge in the list view of all modules as a quick action you can perform for each record, in addition to the existing Activity badge. With this enhancement, users will have quick visibility into the notes associated
    • What's new in Zoho One 2025

      Greetings! We hope you have all had a chance by now to get hands-on with the new features and updates released as part of ZO25. Yes, we understand that you may have questions and feedback. To ensure you gain a comprehensive understanding of these updates,
    • Good news! Calendar in Zoho CRM gets a face lift

      Dear Customers, We are delighted to unveil the revamped calendar UI in Zoho CRM. With a complete visual overhaul aligned with CRM for Everyone, the calendar now offers a more intuitive and flexible scheduling experience. What’s new? Distinguish activities
    • Add deluge function to shorten URLs

      Zoho Social contains a nice feature to shorten URLs using zurl.co. It would be really helpful to have similar functionality in a Deluge call please, either as an inbuilt function or a standard integration. My Creator app sends an email with a personalised
    • Edit default "We are here to help you" text in chat SalesIQ widget

      Does anyone know how this text can be edited? I can't find it anywhere in settings. Thanks!
    • Quick way to add a field in Chat Window

      I want to add Company Field in chat window to lessen the irrelevant users in sending chat and set them in mind that we are dealing with companies. I request that it will be as easy as possible like just ticking it then typing the label then connecting
    • How to create a two way Sync with CRM Contacts Module?

      Newbie creator here (but not to Zoho CRM). I want to create an app that operates on a sub-set of CRM Contacts - only those with a specific tag. I want the app records to mirror the tagged contacts in CRM. I would like it to update when the Creator app
    • Zoho Sheet for Desktop

      Does Zoho plans to develop a Desktop version of Sheet that installs on the computer like was done with Writer?
    • Allow Manual Popup Canvas Size Control

      Hello Zoho PageSense Team, We hope you're doing well. We would like to request an enhancement to the PageSense popup editor regarding popup sizing. Current Limitation: Currently, the size (width and height) of a popup is strictly controlled by the selected
    • Where is the settings option in zoho writer?

      hi, my zoho writer on windows has menu fonts too large. where do i find the settings to change this option? my screen resolution is correct and other apps/softwares in windows have no issues. regards
    • How to set page defaults in zoho writer?

      hi, everytime i open the zoho writer i have to change the default page settings to - A4 from letter, margins to narrow and header and footer to 0. I cannot set this as default as that option is grayed out! so I am unable to click it. I saved the document
    • Develop and publish a Zoho Recruit extension on the marketplace

      Hi, I'd like to develop a new extension for Zoho Recruit. I've started to use Zoho Developers creating a Zoho CRM extension. But when I try to create a new extension here https://sigma.zoho.com/workspace/testtesttestest/apps/new I d'ont see the option of Zoho Recruit (only CRM, Desk, Projects...). I do see extensions for Zoho Recruit in the marketplace. How would I go about to create one if the option is not available in sigma ? Cheers, Rémi.
    • How to import data from PDF into Zoho Sheet

      I am looking to import Consolidated Account Statement (https://www.camsonline.com/Investors/Statements/Consolidated-Account-Statement) into zoho sheet. Any help is appreciated. The pdf is received as attachment in the email, this document is password
    • Zoho Projects Android app: Integration with Microsoft Intune

      Hello everyone! We’re excited to announce that Zoho Projects now integrates with Microsoft Intune, enabling enhanced security and enterprise app management. We have now added support for Microsoft Intune Mobile Application Management (MAM) policies through
    • Cant't update custom field when custom field is external lookup in Zoho Books

      Hello I use that : po = zoho.books.updateRecord("purchaseorders",XXXX,purchaseorder_id,updateCustomFieldseMap,"el_books_connection"); c_f_Map2 = Map(); c_f_Map2.put("label","EL ORDER ID"); c_f_Map2.put("value",el_order_id); c_f_List.add(c_f_Map2); updateCustomFieldseMap
    • Wrapping up 2025 on a high note: CRM Release Highlights of the year

      Dear Customers, 2025 was an eventful year for us at Zoho CRM. We’ve had releases of all sizes and impact, and we are excited to look back, break it down, and rediscover them with you! Before we rewind—we’d like to take a minute and sincerely thank you
    • Next Page