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







                            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 #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
                                                            • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                              Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved


                                                            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

                                                                                                              • How can I check all announce?

                                                                                                                Hiii, May I ask how can I check all the announce based on broadcast date instead of reply date based So that I will not will miss out any new function
                                                                                                              • Recurring Automated Reminders

                                                                                                                Hi, The reminders feature in Zoho Books is a really helpful feature to automate reminders for invoices. However, currently we can set reminders based on number of days before/after the invoice date. It would be really helpful if a recurring reminder feature
                                                                                                              • Zobot Execution Logs & Run History (Similar to Zoho Flow)

                                                                                                                Dear Zoho SalesIQ Team, We would like to request an enhancement for Zoho SalesIQ Zobot: adding an execution log / run history, similar to what already exists in Zoho Flow. Reference: Zoho Flow In Zoho Flow, every execution is recorded in the History tab,
                                                                                                              • using the client script based on the look up filed i wnat to fetch the record details like service number , service rate

                                                                                                                based on selected service look up field iwant to fetch the service serial number in the serice form how i achive using client script also how i get the current date in the date field in the on load of the form
                                                                                                              • Importing into Multiselect Picklist

                                                                                                                Hi, We just completed a trade show and one of the bits of information we collect is tool style. The application supplied by the show set this up as individual questions. For example, if the customer used Thick Turret and Trumpf style but not Thin Turret,
                                                                                                              • I need to know the IP address of ZOHO CRM.

                                                                                                                The link below is the IP address for Analytics, do you have CRM's? https://help.zoho.com/portal/ja/kb/analytics/users-guide/import-connect-to-database/cloud-database/articles/zoho-analytics%E3%81%AEip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9 I would like to
                                                                                                              • Password Assessment Reports for all users

                                                                                                                I'm the super admin and looking at the reporting available for Zoho Vault. I can see that there is a Password Assessment report available showing the passwords/weak and security score by user. However I'm confused at the 'report generated on' value. Monitor
                                                                                                              • Allow people to sign a zoho form by using esign or scanned signature

                                                                                                                Allow people to sign a zoho form by using esign or scanned signature
                                                                                                              • Can't change form's original name in URL

                                                                                                                Hi all, I have been duplicating + editing forms for jobs regarding the same department to maintain formatting + styling. The issue I've not run into is because I've duplicated it from an existing form, the URL doesn't seem to want to update with the new
                                                                                                              • How to Print the Data Model Zoho CRM

                                                                                                                I have created the data model in Zoho CRM and I want the ability to Print this. How do we do this please? I want the diagram exported to a PDF. There doesnt appear to be an option to do this. Thanks Andrew
                                                                                                              • Customer ticket creation via Microsoft Teams

                                                                                                                Hi all, I'm looking to see if someone could point me in the right direction. I'd love to make it so my customers/ end users can make tickets, see responses and respond within microsoft teams. As Admin and an Agent i've installed the zoho assist app within
                                                                                                              • Transfer ownership of files and folders in My Folders

                                                                                                                People work together as a team to achieve organizational goals and objectives. In an organization, there may be situations when someone leaves unexpectedly or is no longer available. This can put their team in a difficult position, especially if there
                                                                                                              • Setting certian items to be pickup only

                                                                                                                How do we have some items that are pickup only? I have several items in my item's list that I do not ship. But they need to be on the website to be sold, and picked up in store. Need to be able to do this as one of these products is a major seller for
                                                                                                              • Using gift vouchers

                                                                                                                We would like to be able to offer a limited number of gift vouchers, of varying values, to our customers, and are looking for the best way to do this. We have looked at Coupons and Gift Certificates, but neither seem to fit the bill perfectly. Coupons:
                                                                                                              • Automatically updating field(s) of lookup module

                                                                                                                I have a lookup field, which also pulls through the Status field from the linked record. When the lookup is first done, the Status is pulled through - this works perfectly. If that Status is later updated, the lookup field does not update as well. As
                                                                                                              • Zoho Commerce and Third-party shipping (MachShip) API integration

                                                                                                                We are implementing a third-party shipping (MachShip) API integration for our Zoho Commerce store and have made significant progress. However, we need guidance on a specific technical challenge. Current Challenge: We need to get the customer input to
                                                                                                              • Adding custom "lookup" fields in Zoho Customization

                                                                                                                How can I add a second “lookup” field in Zoho? I’m trying to create another lookup that pulls from my Contacts, but the option doesn’t appear in the module customization sidebar. In many cases, a single work order involves multiple contacts. Ideally,
                                                                                                              • Can you import projects into Zoho Projects yet?

                                                                                                                I see some very old posts asking about importing project records into Zoho Projects. But I can't find anything up to date about the topic. Has this functionality been added? Importing tasks is helpful. But we do have a project where importing projects
                                                                                                              • Allocating inventory to specific SO's

                                                                                                                Is there a way that allocate inventory to a specific sales order? For example, let's say we have 90 items in stock. Customer 1 orders 100 items. This allocates all 90 items to their order, and they have a back order for the remaining 10 items which could
                                                                                                              • Introducing Workqueue: your all-in-one view to manage daily work

                                                                                                                Hello all, We’re excited to introduce a major productivity boost to your CRM experience: Workqueue, a dynamic, all-in-one workspace that brings every important sales activity, approval, and follow-up right to your fingertips. What is Workqueue? Sales
                                                                                                              • Zoho Inventory. Preventing Negative Stock in Sales Orders – Best Practices?

                                                                                                                Dear Zoho Inventory Community, We’re a small business using Zoho Inventory with a team of sales managers. Unfortunately, some employees occasionally overlook stock levels during order processing, leading to negative inventory issues. Is there a way to
                                                                                                              • Automation #10 - Auto Assign Ticket based on Keywords

                                                                                                                This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips on optimizing
                                                                                                              • Automate attendance tracking with Zoho Cliq Developer Platform

                                                                                                                I wish remote work were permanently mandated so we could join work calls from a movie theatre or even while skydiving! But wait, it's time to wake up! The alarm has snoozed twice, and your team has already logged on for the day. Keeping tabs on attendance
                                                                                                              • Reusable Custom Functions Across Department Workflows

                                                                                                                Dear Zoho Desk Team, We appreciate the powerful workflow automation capabilities in Zoho Desk, particularly the ability to create and use custom functions within workflows. However, we have encountered a limitation that impacts efficiency and maintainability.
                                                                                                              • Contact data removes Account data when creating a quote

                                                                                                                Hi, Our customer has address fields in their quote layout which should be the address of the Account. They prefill the information, adding the account name - the address data is populated as per what is in the account - great. However when they then add
                                                                                                              • Feature Request - Gift Cards or Gift Voucher Capability in Zoho Commerce

                                                                                                                Hi Zoho Commerce team, I'm comming accross more and more retail businesses who sell gift cards. As there is currently no way to manage this in Zoho Commerce, it is a blocker to addoption. This is particularly popular in Europe and North America. I recently
                                                                                                              • Don't Allow Customer to Edit Values After Submitting Ticket

                                                                                                                After a customer submits a ticket through the customer portal, they can go into the ticket and see some of the values from the questions they answered in the sidebar. Currently, a customer can edit these values even after they submitted them. This makes no sense. We ask very specific questions that we don't want customers to later change! Please disable the ability for customers to edit the values to their submission questions in the portal. Screenshot attached.
                                                                                                              • Analytics <-> Invoice Connection DELETED by Zoho

                                                                                                                Hi All, I am reaching out today because of a big issue we have at the moment with Zoho Analytics and Zoho Invoice. Our organization relies on Zoho Analytics for most of our reporting (operationnal teams). A few days ago we observed a sync issue with the
                                                                                                              • text length in list report mobile/tablet

                                                                                                                Is there a way to make the full text of a text field appear in the list report on mobile and tablet? With custom layouts, the text is always truncated after a certain number of characters.
                                                                                                              • Automation #4 - Auto Delete Tickets based on Rules

                                                                                                                This is a monthly series in which we pick some common use cases that have been either discussed or most asked about in our community and explain how they can be achieved using one of the automation capabilities in Zoho Desk. Unwanted tickets spamming
                                                                                                              • Automation #3 - Auto-sync email attachments to tickets

                                                                                                                This is a monthly series where we pick some common use cases that have been either discussed or most asked about in our community and explain how they can be achieved using one of the automation capabilities in Zoho Desk. Most of our customers use email
                                                                                                              • Automation #11 - Auto Update Custom Fields with Values from Emails

                                                                                                                This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips to optimize
                                                                                                              • Automation #13 - Auto assign tickets based on agent shift time

                                                                                                                This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips to optimize
                                                                                                              • Automation #14: Capture Jira Issue Key/ID in a Ticket Custom Field

                                                                                                                Hello Everyone! This month's edition brings you a custom function to consolidate your records associated with Jira integration. Jira integration enables support engineers and R&D units to collaborate seamlessly on feature development, product improvement,
                                                                                                              • Automation #16: Automate Ticket Reopening on Scheduled Timestamp

                                                                                                                Hello Everyone! This edition uncovers the option to schedule reopening a ticket automatically. Zylker Finance tracks insurance policyholder activities through Zoho Desk. For policyholders who pay monthly premiums, tickets are closed upon payment completion.
                                                                                                              • Automation#19:Auto-Close Tickets Upon Task Completion

                                                                                                                Hello Everyone! We’re excited to bring you another custom function this week. In this edition, we’ll show you how to automatically close tickets when all associated tasks are marked as completed. Let’s see how ZylkaPure, a leading water filter company,
                                                                                                              • Automation #15: Automatically Adding Static Secondary Contacts

                                                                                                                Rockel is a top-tier client of Zylker traders. Marcus handles communications with Rockel and would like to add Terence, the CTO of Zylker traders to the email conversations. In this case, the emails coming from user address rockel.com should have Terence
                                                                                                              • How to apply customized Zoho Crm Home Page to all users?

                                                                                                                I have tried to study manuals and play with Zoho CRM but haven't found a way how to apply customized Zoho CRM Home Page as a (default) home page for other CRM users.. How that can be done, if possible? - kipi Moderation Update: Currently, each user has
                                                                                                              • City field suggestion in Zoho Books

                                                                                                                Hi team, We are using Customers module in Zoho Books. In the Address section, we want to understand whether the City field can show suggestions while typing using any API or built-in feature. For example, if a user types “Mum”, can the system suggest
                                                                                                              • Improved UX design for Projects CRM integration

                                                                                                                The current integration embeds the entier projects inteface into the CRM this is confusing and allows users to get lost. For example as a user i navigate to an account and go down to the related projects list and want to get information about a specific
                                                                                                              • Next Page