Kaizen #22 - Connections in Zoho CRM

Kaizen #22 - Connections in Zoho CRM

Hello everyone!

Welcome back to another post in the Kaizen series!
This week, we will discuss Connections in Zoho CRM.

In this post, we will discuss the following:
  1. What are connections?
  2. Authentication types
  3. Creating a connection
  4. Using a connection

1. What are Connections?
A Connection (or a connector) is a simple authentication mechanism to connect your Zoho CRM account with a third-party app. 
 
Zoho provides default integration support to a wide range of apps like core Google services (Contacts, Calendar, and Google Ads) and Microsoft software (MS Office, MS Outlook, etc).
However, there is no default integration with third party services like PandaDoc, SignEasy etc,. In these cases, you can use a connector to expand Zoho's third-party support. Connectors use the OAuth 2.0 or other authentication types to facilitate this integration.

You can use connections to invoke any third-party apps' REST APIs and get access to the authenticated data through your functions or widgets.

Zoho provides more than 20 connections to the most popular third-party apps, out of the box. You can also create your own connection and integrate your app with Zoho CRM.

2. Authentication types
Since different services have different methods of authentication for their service, Connections are equipped with four different modes of authentication.
      a. Basic Authentication
      b. API Key
      c. OAuth 1.0
      d. OAuth 2.0

a. Basic Authentication
This is the authentication method where the user's username and password are sent in the header, form data, or the query string in the format username:password. This method uses the Base64 encoding standard to encode the username and password.

b. API Key
This is a token that the client provides that you can send in the query string or in the header. The API key is unique to every user and stays the same for that user as long as the user uses the service.

c. OAuth 1.0
This method uses a Request Token and an Access Token to get access to the resources on the resource server. The access token does not expire until the user revokes it.

d. OAuth 2.0
This method provides an app limited access by providing an access token only to specific resources. The access token is valid only for an hour.

3. Creating a Connection
To create a new connection,
  1. Go to Setup > Developer Space > Connections
  2. Click Get Started. The Create Connection page opens.
  3. The Pick your Service tab lists all the connections that are already available. Choose the one that meets your needs.
  4. If any third-party app is not listed under this tab, you can add a new service under the Custom Service tab.
  5. For already existing services (under the Pick Your Service tab),
    a. Select the service of your choice.
    b. Enter the details of the connection such as the
    name and choose the scope you require from the list.
    c. Click
    Create and Connect. The below image shows a sample connection created for the YouTube app, and you can use the code shown in the box to invoke the YouTube APIs.
  6. For a new service (services not listed under the Pick Your Service tab),
    a. Click the Custom Service tab.
    b. Enter the name of the service and choose the authentication type that the third-party service supports.
    c. For services that use the OAuth1.0 or OAuth2.0 protocol, enter the following details:
    Client ID and Secret you obtained from the third-party service.
    The URLs to obtain the request token and the access token (OAuth1.0).
    The URLs to obtain the access token and refresh token (OAuth 2.0).
    You must obtain these details from the third-party service's documentation.
    The below image shows a sample connection created for the third-party service "SignEasy".

  7. Enter the name of the connection and the required scope.
  8. Click Create and Connect.
  9. The connection will be created and the summary will be displayed.
    The system also displays the code you must use in a function to invoke the connection.
    The below image shows the sample connection created for the third-party service "SignEasy". You can use the code in the box to use the APIs of SignEasy.
  10. Where, 
    url: The URL that you can obtain from the third-party service.
    type: The HTTP request method (GET, POST, PUT, or DELETE) that the request performs.
    parameters: The parameters that the function uses to replace the dynamic values present in the API with user-specific values.

4. Using a Connection
After creating a connection, you can use them in functions to invoke them.

Let us consider a case where you want to send out newsletters through a MailChimp campaign to the contacts stored in Zoho CRM. Before you can send them the newsletters, you want to obtain their consent through a consent form stored in Google Drive. 
Here, you must establish a connection between MailChimp and Google Drive and have the consent form as a button in the View page of the Contacts module in CRM.
You can choose to place this widget as a button in the View page of a contact. When the CRM user (an agent) clicks this button, the Consent form widget opens where the agent fills the details of the user.
This triggers the function where an email is sent to the customer. When the customer grants consent, the details of that contact are added to the MailChimp campaign list.

Simply put, you must
      a. Establish a connection between Google Drive and MailChimp.
      b. Write a function to call the APIs of both these apps.
      c. Make the function available as an API.
      d. Create a widget and invoke the function.

Let us now see these steps in detail.

a. Establish a connection between Google Drive and MailChimp

Follow the steps in the "Create a Connection" section, and create connections for Google Drive and MailChimp.





b. Write the function code
  1. Go to Setup > Developer Space > Functions > +New Function.
  2. Enter details like the function name, display name, description, and choose the function category (Standalone, in our case).
  3. Write the code in the console as shown below. You can find the code as an attachment to this post.
    What does this sample function do?
    a. Invokes the MailChimp API.
    b. Checks for the Campaign ID.
    c. Checks for the email address. If the email already exists on the campaign list, throws the message "The member has already subscribed to the newsletter." Otherwise, adds the email to the campaign list.
    d. Invokes the Google Drive API to get the link of the Consent form.
    e. If the consent form exists on Google Drive, sends the form to the email address.
    e. If the form does not exist, throws the error "No document found".


  4. This function takes the following parameters
    listId (string) - The Campaign ID from MailChimp,
    emailAddress (string) - The email ID of the contact you want to send the newsletter to,
    extraDetails (string) - To capture any extra information about the contact after they grant consent such as the mobile number, address etc.
  5. Click Save and Execute. Provide the listId, emailAddress, and extraDetails to check if the function works as expected.
  6. Click Close.

c. Make the function available as an API
  1. Go to Setup > Developer Space > Functions.
  2. Choose the required function and click the Settings icon. Select REST API.
  3. Enable the OAuth2.0 and API key sliders and click Save.
  4. The function is now available as an API. You can use the URL as a webhook to trigger the function or use the API name of the function in your code to trigger it.
For more details about functions, refer to this post.

d. Create a widget and invoke the function
Since the function is now available as an API, you can use it in any widget and trigger the function based on your needs.
The HTML and the script for the below consent form is attached to this post.
You can also write your own implementation of the widget. Refer to this page to know how.

What does the sample widget code do?
a. The HTML renders the widget.
b. When the user hits the "Subscribe" button, the script invokes the connection and calls the above function (4.b.3) via JavaScript.



We hope you found this post useful. Stay tuned for more!

Cheers!


    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.







                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner









                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • CRM gets location smart with the all new Map View: visualize records, locate records within any radius, and more

                                                                                                                  Hello all, We've introduced a new way to work with location data in Zoho CRM: the Map View. Instead of scrolling through endless lists, your records now appear as pins on a map. Built on top of the all-new address field and powered by Mappls (MapMyIndia),
                                                                                                                • Integrating Zoho People Attendance to Biometric Machine (ZKTeco 40 k )

                                                                                                                  Please help us for Integrating Zoho People Attendance to Biometric Machine (ZKTeco 40 k )
                                                                                                                • Move email between inboxes?

                                                                                                                  Is it possible to move emails from one team inbox to another? We would like to be able to have a single "catch-all" inbox for incoming requests, and then move the email to the appropriate department inbox. I was hoping we would be able to accomplish this
                                                                                                                • Updating records through Zoho Sheets View doesn't update timeline or trigger workflow rules

                                                                                                                  I have noticed that when i update a series of record with the zoho sheets view (see here http://d.pr/i/ahnR) it doesn't update timeline history or trigger workflow rules. I am using it in the Deals module. Looking forward for some more info. Denis
                                                                                                                • Manage control over Microsoft Office 365 integrations with profile-based sync permissions

                                                                                                                  Greetings all, Previously, all users in Zoho CRM had access to enable Microsoft integrations (Calendar, Contacts, and Tasks) in their accounts, regardless of their profile type. Users with administrator profiles can now manage profile-based permissions
                                                                                                                • inability to use different primary address on invoice per location

                                                                                                                  my company operates in two different locations with different email address. The problems then is the inability to edit the primary to suite the invoice for the second location.
                                                                                                                • AI Search and Record Retrieval Inside Zoho Creator – Is This Possible?

                                                                                                                  Is it possible to integrate an AI assistant into Zoho Creator that can intelligently search, retrieve, and analyze records within the application’s forms and reports? Can AI access and query existing Creator data securely using Deluge or APIs to provide
                                                                                                                • Rename Service Report

                                                                                                                  Some of our customers are requesting the name of the service report PDF to be in a specific format, for example, instead of REP-001.PDF some are requesting to include their name like customername.pdf. is that possible?
                                                                                                                • Smarter holiday planning with yearly-specific Holiday Lists

                                                                                                                  Hello everyone! Managing holidays and business hours is now easier and more efficient. Holiday Lists now support holidays that fall on different dates every year, while business hours now supports more than one holiday list. This helps businesses manage
                                                                                                                • AI Search and Record Retrieval Inside Zoho Creator – Is This Possible?

                                                                                                                  Is it possible to integrate an AI assistant into Zoho Creator that can intelligently search, retrieve, and analyze records within the application’s forms and reports? Can AI access and query existing Creator data securely using Deluge or APIs to provide
                                                                                                                • Scheduled AU Data Center Database Version Upgrade for Zoho Forms

                                                                                                                  Dear Zoho Forms' users, We would like to update you on a scheduled AU Data Center database version upgrade for Zoho Forms. Find the schedule below: Migration window: Sunday, 22nd February 2026 12.00 AM to 12.30 AM AEDT This migration is a part of our
                                                                                                                • Cannot get code to work with v2.mergeAndStore!

                                                                                                                  Please can someone help me pass subform items into a repeating mail merge table row using v2.mergeAndStore? I have a mail merge template created in Writer and stored in Workdrive. This template is referenced by a custom CRM function which merges all of
                                                                                                                • Hotmail is blocking the zoho mail IP

                                                                                                                  Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
                                                                                                                • Zoho Bookings and Survey Integration through Flow

                                                                                                                  I am trying to set up flows where once an appointment is marked as completed in Zoho Bookings, the applicable survey form would be sent to the customer. Problem is, I cannot customise flows wherein if Consultation A is completed, Survey Form A would be
                                                                                                                • Zoho CRM Community Digest - December 2025 | Part 2

                                                                                                                  Hello Everyone! During the final weeks of December, Zoho CRM introduced updates that not only enhanced product capabilities but also offered deeper guidance through Kaizen posts. This section highlights what was released and shared in the last two weeks
                                                                                                                • CRUD actions for Resources via API

                                                                                                                  Hello, is it possible to perform CRUD actions through the API for Resources? We want to create a sync from Zoho CRM Car record to Bookings resources to create availabilities for Car bookings. For Test drives, not only the sales person needs to be available,
                                                                                                                • Kaizen #186 : Client Script Support for Subforms

                                                                                                                  Hello everyone! Welcome back to another exciting Kaizen post on Client Script! In this edition, we’re taking a closer look at Client Script Support for Subforms with the help of the following scenario. " Zylker, a manufacturing company, uses the "Orders"
                                                                                                                • Unable to Assign Multiple Categories to a Single Product in Zoho Commerce

                                                                                                                  Hello Zoho Commerce Support Team, I am facing an issue while assigning categories to products in Zoho Commerce. I want to assign multiple categories to a single product, but in the Item edit page, the Category field allows selecting only one category
                                                                                                                • オンライン勉強会のお知らせ Zoho ワークアウト (2/19 参加無料)

                                                                                                                  ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 2月開催のZoho ワークアウトについてお知らせします。 今回はZoomにて、オンライン開催します。 ▶︎参加登録はこちら(無料) https://us02web.zoom.us/meeting/register/6AyVUxp6QDmMQiDGXGkxPA ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目指すイベント「Zoho
                                                                                                                • doubts about customer happiness in zoho desk

                                                                                                                  Good afternoon, Desk community. The reason for my message is that I have a question regarding the customer satisfaction surveys we can ask our clients to rate our service. I know that in Desk, you can activate Customer Happiness to send a survey to the
                                                                                                                • COQL API in JS Widget only pulling 200 records

                                                                                                                  Hello! We've been building a custom homepage widget using the Zoho JS SDK, and it seems that this https://help.zwidgets.com/help/latest/ZOHO.CRM.API.html#.coql only allows 200 records. I thought the limit was 2000 for COQL queries, but am I mistaken?
                                                                                                                • Standard Description Field - Can I change label or add dd tooltip

                                                                                                                  Is there a way fo you guys to allow the customer to change the label name for the description field in the customer portal when submitting tickets. Or at least allow us to add a tooltip to clarify what description we need from them. I know I can create my own separate multi line description field but if I do that, it doesn't have the nice toolbar with Bold, Italic, Underline, color, font, indent, etc. Can you please allow us to add a tooltip to the zoho standard description field?
                                                                                                                • Introducing parent-child ticketing in Zoho Desk [Early access]

                                                                                                                  Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
                                                                                                                • Ability to CC on a mass email

                                                                                                                  Ability to CC someone on a mass email.
                                                                                                                • Different Task Layouts for Subtasks

                                                                                                                  I was wondering how it would be possible for a subtask to have a different task layout to the parent task.
                                                                                                                • Compensation | Salary Packages - Hourly Wage Needed

                                                                                                                  The US Bureau of Labor Statistics says 55.7% of all workers in the US are paid by the hour. I don't know how that compares to the rest of the world, but I would think that this alone would justify the need for having an hourly-based salary package option.
                                                                                                                • Customizing Helpcenter texts

                                                                                                                  I’m customizing the Zoho Desk Help Center and I’d like to change the wording of the standard widgets – for example, the text in the “Submit Ticket” banner that appears in the footer, or other built-in widget labels and messages. So far, I haven’t found
                                                                                                                • Ability to Edit Ticket Subject when Splitting a Ticket

                                                                                                                  Often someone will make an additional or new request within an existing ticket that requires we split the ticket. The annoying part is that the new ticket maintains the subject of the original ticket after the split so when the new ticket email notification
                                                                                                                • Automatically Update Form Attachment Service with Newly added Fields

                                                                                                                  Hi, When I have a Form Setup and connected to a 3rd Party Service such as OneDrive for Form Attachments, when I later add a new Upload Field I have to remove and redo the entire 3rd Party Setup from scratch. This needs to be improved, such as when new
                                                                                                                • 🚀 WorkDrive 6.0 (Phase 1): Empowering Teams with Content Intelligence, Automation, Accessibility, and Control

                                                                                                                  Hello, everyone! WorkDrive continues to evolve from a robust file management solution into an intelligent, secure, and connected content collaboration platform for modern businesses. Our goal remains unchanged: to simplify teamwork, strengthen data security,
                                                                                                                • Reopen ticket on specific date/time

                                                                                                                  Is there a way that we can close a ticket and setup a reopen of that ticket on a specific date and time? (without using the "on hold" ticket option)
                                                                                                                • Column letter from number

                                                                                                                  Hello, I am trying to select a cell and i have the column number. How do i do this or is there a way of getting the letter from the number? Thank you
                                                                                                                • API credit COQL COUNT

                                                                                                                  The docs describe API credits in COQL from the LIMIT perspective: https://www.zoho.com/crm/developer/docs/api/v8/COQL-Overview.html When using aggregate functions such as `COUNT` or `SUM`, is that billed as 1 API credit?
                                                                                                                • Weekly Tips : Save Time with Saved Search

                                                                                                                  Let's assume your work requires you to regularly check emails from important clients that have attachments and were sent within a specific time period. Instead of entering the same conditions every time—like sender, date range, and attachments included—you
                                                                                                                • Remove 'This is an automated mail from Zoho Sign' in footer

                                                                                                                  Hi there, Is it possible to remove or change the text under the e-mail templates? I can't figure out how to do that: Would love to hear from you. Kind regards, Tristan
                                                                                                                • Organize and manage PDFs with Zoho PDF Editor's dashboard

                                                                                                                  Hello users, Zoho PDF Editor's dashboard is a one-stop place to upload, sort, share PDF files, and more. This article will explore the various capabilities that Zoho PDF Editor's dashboard offers. A few highlights of Zoho PDF Editor's dashboard: Upload
                                                                                                                • Custom function return type

                                                                                                                  Hi, How do I create a custom deluge function in Zoho CRM that returns a string? e.g. Setup->Workflow->Custom Functions->Configure->Write own During create or edit of the function I don't see a way to change the default 'void' to anything else. Adding
                                                                                                                • Passing Info from Function to Client Script

                                                                                                                  Hello, I have recently started making use of client script for buttons, allowing me to give the user information or warnings before they proceed. This is great. However, I have never quite managed to pass back any extra information from the function to
                                                                                                                • Drag 'n' Drop Fields to a Sub-Form and "Move Field To" Option

                                                                                                                  Hi, I would like to be able to move fields from the Main Page to a Sub-Form or from a Sub-Form to either the Main Page or another Sub-Form. Today if you change the design you have to delete and recreate every field, not just move them. Would be nice to
                                                                                                                • Zoho Payroll for Canada

                                                                                                                  Is anyone else having problems getting setup for Canada?
                                                                                                                • Next Page