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

    • Cannot see Application from Lookup field

      Hi all, I am trying to access data for an application on our account via a lookup field; however, the application doesn't appear in the dropdown at all. Can anyone shed any light on this, please? I have asked Zoho support; however, they're just as confused,
    • Cannot see correct DNS config for mail after moving domain to another provider

      I have moved my domain from one provider to another and after that zoho mail stopped working (expected). Problem is, zoho mail admin panel still shows (10 hours after move) that all records are correct while I haven't changed anything in my domain DNS
    • Zoho CRM Meetings Module Issues

      We have a use-case that is very common in today's world, but won't work in Zoho CRM. We have an SDR (Sales Development Rep) who makes many calls per day to Leads and Contacts, and schedules meetings for our primary Sales Reps. He does this by logging
    • Zoho Books integration sync from Zoho CRM does not work

      Hi Zoho Community & Zoho Support We just tried to get a sync some products into Zoho Books from CRM using the native sync and we're getting an error: "It looks like some mandatory fields you're trying to map are empty. Please provide valid field names
    • P & L Sub-categorized accounts

      How can I show sub-categorized Income and Expense accounts on the P & L report?
    • Report showing Bill Details with Project and Sales Invoice Number

      Hi There, I am hoping that someone can help, I am looking for report that can show the bill and expense details along with project its as assigned to and the invoice number that the sales has been raised in. The goal is I can filter a customer/project
    • Advanced Payment for Inventory Items with serial numbers

      Hello, We sell equipment that we track the unique serial numbers on using Sales Orders. We can charge the customers an advanced payment, then the balance on delivery. We cannot figure out a way to do this in Books/Inventory: - Cannot part invoice a SO
    • Is it possible to restrict ZCRM user to see only custom views created by administrator

      I have segmented data in my CRM and I want to allow different users to be able to see only parts of it based on some criteria. I've tried to create and share a custom view, but then there is always an option for user to see all open lead for example.
    • Issues Logging into ZOHO

      Hello, one of my coworkers is having issues logging into ZOHO, she has requested a code when entering and the email is correct but she has not received the code. can you help us with this?
    • Google Fonts Integration in Pagesense Popup Editor

      Hello Zoho Pagesense Team, We hope you're doing well. We’d like to submit a feature request to enhance Zoho Pagesense’s popup editor with Google Fonts support. Current Limitation: Currently, Pagesense offers a limited set of default fonts. Google Fonts
    • Add Popup Rejection Metrics to Reports

      Hello Zoho PageSense Team, We would like to request improved reporting for popup interactions. Current Limitation: PageSense currently provides conversion data, but there is no clear visibility into: Popup rejections Popup closes (✕ button clicks) Dismissals
    • Ability to Reset / Reinitialize Popup Cookies

      Hello Zoho PageSense Team, We would like to request the ability to manually reset popup cookies. Current Limitation: At the moment, it is not possible to initiate a new popup cookie from the our side. Visitors who rejected or closed a popup will not see
    • Control Popup Cookie Expiration Duration

      Hello Zoho PageSense Team, We would like to request an enhancement related to popup cookie management. Current Limitation: Currently, PageSense popup cookies remain active for 365 days, and this duration cannot be modified by us. If a visitor closes or
    • Clone / Export Popup Design Across PageSense Projects

      Hello Zoho PageSense Team, We hope you’re doing well. We would like to request an enhancement that allows popup designs to be reused across different PageSense projects. Problem Statement: Currently, Zoho PageSense allows popups to be duplicated only
    • Are there settings for hyperlinks?

      Clicking a hyperlinked cell in Sheet creates this little pop-up with the actual hyperlink inside. Is it possible to have a 1-click link where if you click the cell it opens the link directly with no pop-up?
    • Automatically include all ticket attachments in the ticket resolution email

      Hello Zoho Community, We are implementing Zoho Desk in a real customer-facing production environment and have run into a limitation that is becoming a blocking requirement for our clients. The problem When a ticket is closed or resolved, Zoho Desk sends
    • Finding text within a ticket: Expand All or Search this Ticket

      The auto-collapse feature within a ticket is nice for screen scrolling, however it makes it difficult to find text within the ticket if the email is collapsed. In fact you cannot find text if it is collapsed. I would like to propose a feature that allows
    • Books & Desk. Client mapping

      Hi, I’ve been using Zoho Books for several years and am now looking to improve my customer service. I'm experimenting with Zoho Desk and want to sync and map my client data from Zoho Books. However, it seems that mapping requires both contacts to have
    • String handling

      If I cut a currency string from a quote and try and paste it into the Deal "Amount", it will fail unless I manually delete any commas. Dollar signs are no problem, but comma's seem to fail. Please correct this Input Validation error.
    • Feature Request - Allow Customers To Pick Meeting Duration

      Hi Bookings Team, It would be great if there was an option to allow customers to pick a duration based on a max and minimum amount of time defined by me and in increments defined by me. For example, I have some slots which are available for customers
    • YouTube Live streaming? how to? Zoom has this feature, built-in. Can't find it on zoho meetings.

      YouTube Live streaming? how to? Zoom has this feature, built-in. Can't find it on zoho meetings.
    • Feature Request - A Way To Search Item Groups

      Hi Inventory Team, I can't find any way to filter or search by fields of Item Groups. It would be great to see that functionality added. I have a use case where a single product might come from 5 or more suppliers and each supplier's item is an Item in
    • Feature Reqeust - Include MPN In Selectable FIelds

      I have noticed that the MPN is not available to show in the list view of Items. Please consider adding it as EAN, UPC and ISBN are all available, so it doesn't make much sense to exclude this similar option. Thanks for considering my feedback.
    • Feature Request - Option To Hide Default System Fields on Items

      Hi Zoho Inventory Team, As far as I know it is not possible to hid some of the defult system fields on Items, such as UPC, MPN, EAN, ISBN. A good use case is that in many cases ISBN is not relevant and it would be an improved user experience if we could
    • Making an email campaign into a Template

      I used a Zoho Campaign Template to create an email. Now I want to use this email and make it a new template, but this seems to be not possible. Am I missing something?
    • Campaigns does not work!

      I am running into so many problems trying to use Zoho Campaigns, that I am seriously considering dropping the app from my (shrinking) list of Zoho applications I actually use. Apart from having to fight the software trying to create a design and email,
    • Feature Request - Make Available "Alias Name" Field In Item List View

      Hi Zoho Inventory Team, I have noticed that the "Alias Name" field does not appear on the list of selectable columns in the Customise Columns feature in the Items module. This would be very useful to see for businesses who are using the Alias Name field
    • Cliq iOS can't see shared screen

      Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
    • project name field issue- n8n

      Hey guys, I have a question. I want to create a new product using the workflow. The problem is with the product name field; I don't know how to fill it in. The workflow starts with retrieving information from the leads table, retrieving links to scrape
    • How to filter Packages in zoho inventory api

      Hi Team, I want to perform some tasks in a schedular on the packages which are in "Shipped" state. I tried to use filter_by in my api call but in return I get response as {"code":-1,"message":"Given filter is not configured"} My Api request is as follows
    • CRM

      Is anyone else experiencing this issue? Our company is not moving out of using Gmail's web app. It just has more features and is a better email program than Zoho Mail. Gmail has an extension (Zoho CRM for Gmail) that we're using but we've found some serious
    • Syncing with Google calendar, Tasks and Events

      Is it possible to sync Zoho CRM calendar, task and events with Google Calendar's tasks and events. With the increasing adoption by many major tool suppliers to sync seamlessly with Google's offerings (for instance I use the excellent Any.do task planning
    • How can i view "Child" Accounts?

      It can be very useful in our field of business to know the parent-child account relationship. However, there seems to be a shortcoming in the parent account view: no child account list. How can we view the child accounts per each account?
    • Ability to assign Invoice Ownership through Deluge in FSM

      Hi, As part of our process, when a service appointment is completed, we automated the creation of the invoice based on a specific business logic using Deluge. When we do that, the "Owner" of the invoice in Zoho FSM is defaulted to the SuperAdmin. This
    • Easily perform calculations using dates with the new DATEDIF function

      Hey Zoho Writer users! We've enhanced Zoho Writer's formula capabilities with the new DATEDIF function. This allows you to calculate the difference between dates in days, months, and years. Function syntax: =DATEDIF(start_date, end_date, unit) Inputs:
    • Adding Comments Using Workflows - How to Change User Attributed

      We have worklflows in Desk where a comment is added to a ticket based on certain criteria. It seems that the comment added is always attributed to the user who last edited the workflow. This does not make sense for us because: - It's misleading to other
    • Add Attachment Support to Zoho Flow Mailhook / Email Trigger Module

      Dear Zoho Support Team, We hope you are well. We would like to kindly request a feature enhancement for the Mailhook module in Zoho Flow. Currently, the email trigger in Zoho Flow provides access to the message body, subject, from address, and to address,
    • Conect chat of salesiq with zoho cliq

      Is there any way to answer from zoho cliq  the chat of salesiq initiated by customers?
    • Les dernières avancées en saisie de données et collaboration

      Après une année dédiée à la recherche et au développement, notre équipe est prête à dévoiler des améliorations majeures pour Zoho Sheet. Ces nouveautés seront lancées par étapes afin d’en assurer une prise en main optimale. Nous commençons avec des fonctionnalités
    • Deluge Learning Series – Client functions in Deluge | January 2026

      We’re excited to kick-start the first session of the 2026 Deluge Learning Series (DLS) with Client functions in Deluge. For those who are new to DLS, here’s a quick overview of what the series is all about: The Deluge Learning Series takes place on the
    • Next Page