OpenAI Alert - Plug Sample #6: Reach maximum potential with SalesIQ Zobot and ChatGPT Integration

OpenAI Alert - Plug Sample #6: Reach maximum potential with SalesIQ Zobot and ChatGPT Integration

In recent times, AI-powered tools have seen a remarkable surge in usage due to their exceptional capacity to enhance overall performance across diverse industries and sectors. One such tool is ChatGPT which businesses have started to use predominantly for multiple purposes. ChatGPT is an AI-powered chatbot that can understand natural language and respond to queries in real-time. On the other hand, we already know that SalesIQ's Zobot is an excellent tool to automate customer engagement which helps businesses to engage with their customers and perform actions based on unique business needs. By integrating ChatGPT and SalesIQ's Zobot, businesses can create a seamless customer service experience that is not only efficient but also productive.

Notes
Note:
  • SalesIQ offers native integration with OpenAI, supporting several ChatGPT models, including Assistant, under the ChatGPT card.
  • In this post, we’ll explore how to integrate various ChatGPT models with SalesIQ’s Zobot (Codeless Bot Builder) using Plugs for advanced customizations.
  • If you're looking for a ChatGPT Assistant Plug sample for deeper customizations, click here.

What can this plug do?
  • First plug helps to integrate the GPT model - text-davinci-003 with Zobot using your OpenAI's API key.
  • Second plug helps to integrate the GPT- model 3.5-turbo with Zobot using your OpenAI's API key.
  • Get a response from GPT for any text inputs such as questions/issues from the visitor.
Note : Remember that this script cannot train the GPT models according to your business resource. 

How to create the ChatGPT Plug?

Step 1 - Get API keys from the Open AI
  • Navigate to the OpenAI developer section.
  • Click " Log in " on the top right corner to log in with your account. 
  • If you belong to multiple organization, select your organization. 
  • Finally, click on " Create new secret key " to generate an API key for your account. 


Step 2 - Create the Plug
  • In your SalesIQ Dashboard, navigate to Settings > Developers > Plugs > click on Add .
  • Provide your Plug a name, description, select the Platform as SalesIQ Scripts , and click on Create Plug
  • Click on Parameters and provide the following
    • Input Parameter: question | Data Type: String
    • Output Parameter: answer | Data Type: String

  • Copy and paste the below script (text-davinci-003 model or gpt-3.5-turbo) and replace the token with your API key.
Plug script to integrate with GPT - text-davinci-003 model
  1. if(session.containsKey("question"))
  2. {
  3. question = session.get("question").get("value");
  4. }
  5. token = "Bearer sk-oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxK";
  6. //replace the token with your API key | token = "Bearer <your API key>";
  7. header = Map();
  8. header.put("Authorization",token);
  9. header.put("Content-Type","application/json");
  10. chatgpt = Collection();
  11. chatgpt = {"model":"text-davinci-003","prompt":question,"temperature":0.9,"max_tokens":250,"top_p":1,"frequency_penalty":0.0,"presence_penalty":0.6,"stop":{" Human:"," AI:"}};
  12. params = Map();
  13. params.put(chatgpt);
  14. response = invokeurl
  15. [
  16. url :" https://api.openai.com/v1/completions"
  17. type :POST
  18. parameters:params.toString()
  19. headers:header
  20. ];
  21. info response;
  22. answer = response.get("choices").getJSON("text");
  23. info answer;
  24. response = Map();
  25. response.put("answer",answer);
  26. return response;
Plug script to integrate with GPT - gpt-3.5-turbo model
  1. if(session.containsKey("question"))
  2. {
  3. question = session.get("question").get("value");
  4. }
  5. token = "Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2";
  6. //replace the token with your API key | token = "Bearer <your API key>";
  7. header = Map();
  8. header.put("Authorization",token);
  9. header.put("Content-Type","application/json");
  10. chatgpt = Collection();
  11. chatgpt = {"model":"gpt-3.5-turbo","messages":{{"role":"user","content":question}},"temperature":0.9,"max_tokens":250,"top_p":1,"frequency_penalty":0.0,"presence_penalty":0.6,"stop":{" Human:"," AI:"}};
  12. params = Map();
  13. params.put(chatgpt);
  14. response = invokeurl
  15. [
  16. url :"https://api.openai.com/v1/chat/completions"
  17. type :POST
  18. parameters:params.toString()
  19. headers:header
  20. ];
  21. info response;
  22. answer = response.get("choices").getJSON("message").get("content");
  23. info answer;
  24. response = Map();
  25. response.put("answer",answer);
  26. return response;
  • Click on Save to save the plug. 
  • Test the plug by giving any input.

  • The API response from GPT () will be as below.

  • Finally, click on Publish .
How to incorporate plugs in 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.
  • Select the Plugs under Action Cards and select the required plug (Only published plugs will be listed here).
  • Provide the bot context variables for the plug input (question) and output (answer).

  • In this case, the "visitor.question" is the visitor's input (maybe a question/issue) that is stored in the bot context by the visitor fields card.

  • The plug executes and returns the answer from the GPT response as output (answer) which has to be stored in bot context (gptResponse) for displaying it to the visitors.
  • Click Save. 
  • Then using any input/response cards, display the answer. Type % to list all the dynamic and context variables. 


Heads up:
  • Use a single choice card to display the answer and provide two follow-up actions such as "I've another question" for the visitor to ask another question and "End chat" to end the conversation. 

  • Save the visitor's choice in a bot context and using criteria router , route the flow respectively. 



Cheers, 
Sasidar Thandapani







      • Recent Topics

      • Search Option

        🚫 Current Limitation: As of now (September 2025), Zoho FSM lacks a global search functionality, which makes it difficult to quickly: Find specific Work Orders by number or keyword Search for customer records or contact info Locate assets, jobs, or service
      • Mobile Chat Window - Full Screen

        Hello, The mobile chat window takes up the full screen, which is highly confusing for most customers! Using a desktop machine, I see the same happens when reducing the browser width to 800px or below. This suggests that it responsive web design, causing the switch to full screen. Can we fix this very annoying behaviour ourselves using a custom css file? If so, can you please let me know how? Thanks
      • Is it possible to customize ZC Themes?

        I understand you can choose a layout and customize Brand Color, App Header, Menu, and Sub-Menu components, but can you override some of the default theme settings with CSS or a config file? For example, - Table highlight color - Listview auto filter highlight
      • Is it possible to create Custom function-based Lookup field in Zoho CRM

        Is it possible to create a custom function-based lookup field in Zoho CRM? If so, how? Use case: Need to fetch users from Zoho Projects into a dropdown field in Zoho CRM.
      • @mention in comments no notification

        Hi, hope someone can help. When we @mention someone in the comments in Zoho Creator, how is that user notifed as we don't get anything on email or in the app notifications. 
      • Add "Running Balance" column to Account Transaction Reports

        Hello, Currently Zoho Account Transaction Reports give you the opening balance, then lists the transactions, then provides the closing balance.  It would be great if you could add a column on the far right that shows the "Running Balance" on the account after each transaction.  There are many times when analyzing or tie-ing out transactions that this would be very helpful.  I currently have to frequently run a tape on my adding machine to get balance totals after a specific transaction on the list.
      • Unified customer portal login

        As I'm a Zoho One subscriber I can provide my customers with portal access to many of the Zoho apps. However, the customer must have a separate login for each app, which may be difficult for them to manage and frustrating as all they understand is that
      • WhatsApp Channels in Zoho Campaigns

        Now that Meta has opened WhatsApp Channels globally, will you add it to Zoho Campaigns? It's another top channel for marketing communications as email and SMS. Thanks.
      • error : Object code : 6500

        b3 = map(); b3.put("name", "Test Project Name"); updateprojects2 = invokeurl [ url :"https://projectsapi.zoho.eu/restapi/portal/era0130/projects/169495000000928007/" type :PUT parameters: b3 connection:"in2" ]; info b3 ; info updateprojects2; ------------
      • I got unknown charge from Zoho

        Good day, I need help disputing a charge I don't know from, zoho. I have ZohoMail and ZeptoMail. I purchase credits for ZeptoMail, and for ZohoMail I am not subcribed.
      • How can I see content of system generated mails from zBooks?

        System generated mails for offers or invices appear in the mail tab of the designated customer. How can I view the content? It also doesn't appear in zMail sent folder.
      • Zadarma + Zoho CRM Integration – Missed Calls Saved as Contacts Instead of Leads

        Hello everyone, I’m looking for input from anyone with experience using the Zadarma + Zoho CRM integration. Currently, I’m seeing that missed calls are automatically being created as Contacts instead of Leads. From a CRM perspective, this doesn’t make
      • Function 56: Automatically enable the option for customers to pay via bank account

        Hello everyone and welcome back to our series! One of the key features of Zoho Books is its integration with multiple payment gateways, allowing you to receive online payments for your invoices. This ensures faster payments, automates payment tracking
      • Attach Files to Your Notecards and share them on the go!

        Hey everyone! We’re excited to share a feature many of you have been asking for — you can now attach files directly to your text notecards and share with ease! 🙌 This update was built with your feedback in mind, especially for those who wanted a simple
      • Can i connect 2 instagram accounts to 1 brand?

        Can i connect 2 instagram accounts to 1 brand? Or Do i need to create 2 brands for that? also under what subscription package will this apply?
      • Workdrive on Android - Gallery Photo Backups

        Hello, Is there any way of backing up the photos on my android phone directly to a specific folder on Workdrive? Assuming i have the workdrive app installed on the phone in question. Emma
      • Integración Books para cumplir la ley Crea y Crece y Ley Antifraude (VeriFactu)

        Hola: En principio, en julio de 2025, entra en vigor la ley Crea y Crece y Ley Antifraude (VeriFactu). ¿Sabéis si Zoho va a cumplir con la ley para cumplir con la facturación electrónica conectada a Hacienda? Gracias
      • YouTube Live #1: AI-powered agreement management with Zia and Zoho Sign

        Hi there! We're excited to announce Zoho Sign’s first YouTube live series, where you can catch the latest updates and interact with our Zoho Sign experts, pose questions, and discover lesser-known features. We're starting off by riding the AI wave in
      • How to add a % Growth column for year-over-year comparison (2024 vs 2025)

        Hello, I am trying to build a monthly revenue comparison between 2024 and 2025 in Zoho CRM Analytics. My current setup is: Module: Deals (Affaires) Filter: Stage = Closed Won Date field: Closing Date Grouping: By Month Metrics: Sum of Amount for 2024,
      • How to searchByCriteria records that are under approval?

        I need to search for both approved and pending approval records Is that possible with this method? Or I need to a different method? var priceReqID = $Page.record_id; log(priceReqID); var records = ZDK.Apps.CRM.Price_List_Item.searchByCriteria("Price_Request:equals:"
      • Power of Automation::Streamline log hours to work hours upon task completion.

        Hello Everyone, A Custom Function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as to when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:-
      • How to add Simple Analytics to Zoho Pages?

        I have a website with Zoho Pages, how do I add Simple Analytics on it? They seem to have code they need to be embedded https://docs.simpleanalytics.com/script
      • End Date in Zoho Bookings

        When I give my appointments a 30 minutes time I would expect the software not to even show the End Time.  But it actually makes the user pick an End Time.  Did I just miss a setting?  
      • Cant seem to delete an email account

        Hello, I have researching for 4 days how to delete an email account and I am absolutely without a clue. The email account I am trying to delete is support<AT>fyshoes<dot>com. It's the first email account I made and it (is???) was associated with the super user (me). I have since changed it to adming<AT>fychoes<dot>com and I see the support email in my list but I just cant seem to get rid of it. Ultimately I want to associate that email account with another user that I want to add. This is really
      • Commerce Order as Invoice instead of Sales Order?

        I need a purchase made on my Commerce Site to result in an Invoice for services instead of a Sales Order that will be pushed to Books. My customers don't pay until I after I add some details to their transaction. Can I change the settings to make this
      • Import data into Multi-Select lookup field from CSV/Excel

        How to import data into a multi-select lookup field from the CSV/Excel Sheet? Let's say I have an Accounts multi-select lookup field in the Deals module and I want to import the Deals with Accounts field. Steps:- 1. Create/edit a multi-select lookup field
      • Sync desktop folders instantly with WorkDrive TrueSync (Beta)

        Keeping your important files backed up and accessible has never been easier! With WorkDrive desktop app (TrueSync), you can now automatically sync specific desktop folders to WorkDrive Web, ensuring seamless, real-time updates across devices. Important:
      • Script that deletes a record?

        We're using WP Plugin "Integration for WooCommerce and Zoho Pro", and have created a couple of Feeds to send data to Zoho. We are trying to create Contact records, but only based upon condition. Tried to make it with small Deluge function and Workflow,
      • A formula that capitalises the first letter of each word

        Hi all, is there a zoho formula that can capitalise the first letter of each word in a string? INITCAP only capitalises the first letter of the first word.
      • Reverse payment on accidentally closed invoice.

        An invoice was closed accidentally with the full payment added. However, only partial payment was paid. How can I reopen the invoice and reverse this to update it to show partial payment?
      • Quotes in Commerce?

        In Zoho Ecommerce, I need to be able to generate quotes, negotiate with customers, and then generate invoices. Currently, I plan to integrate Zoho CRM to generate quotes. After negotiation and confirmation, I will push the details to Zoho Ecommerce to
      • Zoho Commerce - Mobile Application

        Does Zoho Commerce have a mobile application for customers to place an order?
      • Register user through Phone Number by Generating OTP

        In zoho commerce , I am developing website on online food store Inilialy the user get verification code to their email for registering there account for login. But I need to login using phone number by generating OTP automatically rather than verification
      • Custom Buttons for Mass Actions

        Hello everyone, We’ve just made Custom Buttons in Zoho Recruit even more powerful! You can now create Bulk Action Buttons that let you perform actions on multiple records at once, directly from the List View. What’s new? Until now, custom buttons were
      • Zoho Vault Passwords

        Is there a way to consume Zoho Vault Manager passwords using the API? Thanks in advance.
      • Is the ChatGPT Assistant integration capable of recognizing WhatsApp voice messages?

        I was wondering: if a visitor sends me a voice message on WhatsApp, would the assistant be able to transcribe it and reply to them?
      • Zoho Creator to Zoho CRM Images

        Right now, I am trying to setup a Notes form within Zoho Creator. This Notes will note the Note section under Accounts > Selected Account. Right now, I use Zoho Flow to push the notes and it works just fine, with text only. Images do not get sent (there
      • 【Zoho CRM】レポート機能のアップデート

        ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中から、レポート機能のアップデートをご紹介します。 目次 1. レポートのエクスポート時のレコードIDの表示について 2. 通貨項目の表示について 3. レポートの削除の監査ログへの反映について 1. レポートのエクスポート時のレコードIDの表示について これまで、レポートをエクスポートするとファイルにレコードIDが必ず含まれていました。レコードIDが識別子として役立つ場合もありますが、実際には多くの企業で参照されることはありません。
      • Translation in zoho bookings

        We cant translate zoho booking emails. The general text we can change. But what about text like: ""Here a link to join the meeting online:"" and "Add to Zoho Calendar" and "Add to Google Calendar"? No professional business have mixed languages. Its looking
      • Is there any way to bill one client in different currencies on different invoices?

        I have some customers who have their currency set as USD and most of their billing is done in USD.   However, from time to time I have a need to bill them in my base currency GBP for some specific invoices, but there seems to be no way of doing this that I can see. The only workaround that I can see is to create two client records for the same client, one for USD billing and one for GBP billing, but this is not an ideal situation. Is it likely that the (hopefully!) soon to arrive multi-currency support
      • Next Page