Extension Pointers #1: A step-by-step guide to integrate Google Contacts using Sigma

Extension Pointers #1: A step-by-step guide to integrate Google Contacts using Sigma

Integrating and syncing data is a significant factor for effective customer relationship management.

Let's consider a scenario where an entrepreneur is planning on starting a new venture. An important factor in propelling any business towards success is a solid customer base. Maintaining important information about potential customers is also a critical element in managing a business effectively. In this post, we want to show you how to establish an integration that will manage data synchronization between different services efficiently.

Why integrate?

Integrating two services allows data to sync seamlessly between them. The Zoho Developer platform, Sigma, lets you build plug-in software extensions. Connector is a feature in Sigma that allows you to integrate with a third-party application through these extensions.

So let's say that an entrepreneur needs to sync Zoho CRM (client application) with Google Contacts (third-party application) and develops an extension using Sigma. Using the Connectors component, we can accomplish this integration between the applications. This integration will effectively sync contacts between the apps, providing consolidated customer information. This saves the entrepreneur's time and manual work. Below, we'll see the exact steps on how to establish a connection between these two services and export a contact from Zoho CRM to Google Contacts.

Topics covered:
➤ Creating a connection between Zoho CRM and a third-party application
➤ Registering with Google to obtain client credentials
➤ Adding a custom button and associating it with a custom function to perform an action

How to establish connections between services

To enable secure synchronization with a third-party application, certain authorization protocols must be followed. Zoho Developer provides two approaches for integrating services based on the type of user authentication supported by the third-party application:

1. If the third-party application that you want to integrate with Zoho CRM supports OAuth 2.0 protocol for user authentication, you can use connectors.
2. If the application you want to integrate with Zoho CRM only supports API key forms for user authentication, you can use custom variables.
In our scenario, lets see how to use connectors to create a secure connection with Google Contacts.

How to use connectors to establish a connection via OAuth 2.0

 You will need URLs for a request token, access token and refresh token along with a client ID and secret to complete the connection process.


1. Choose Connectors from the left panel of the Zoho CRM console under Utilities, and then click Create Connection.



2. Provide the required information in the respective fields.
  • Connector Name: A name for the connection to be established.
  • Name of the Service: The name of the third-party application.
  • Signup URL: The signup URL of the third-party application.
  • Request Token: The URL for sending an authorization request to the third-party application server from the client application.
  • Access Token: Once the request is authorized by the server, the access token is sent to the client. This token is exchanged every time the client needs to access the third-party application data.
  • Refresh Token: There are few access tokens that expire after a limited time. In that case, this URL should be used to request a different access token.
Note: The URLs for a request token, access token, and refresh token can be obtained from the API documentation of Google.

For your reference, the values used in our example are as follows: 

3. Click Save after providing the necessary details.



4. In order to obtain the Client ID and Client Secret, you must register with a web service (in our example, Google). If you need further instruction on how to obtain the Client ID and Client Secret, please take a look at the following section.
Note: The Redirect URL appearing in the Client Credentials dialog box is necessary to create the Client ID and Client Secret in the upcoming section.

5. Click Save after entering the Client ID and Client Secret to set the Client Credentials successfully.

6. Click Authorize Connector to Authorize the connection between the services. A connection is now successfully established between Zoho CRM and Google Contacts.

How to register with Google and obtain the Client ID and Client Secret?

1. Log into the Google API Console with your Gmail account credentials. Create a New Project.



2. Click ENABLE APIS AND SERVICES to manage the necessary APIs.



3. Search for the Contacts API, and click the ENABLE button to activate it.



4. Select the Credentials section present in the left panel, and click the CONFIGURE CONSENT SCREEN to fill in the application information.



5. Click Create after choosing either Internal or External depending on your target users.



6. Enter the Application name and the Authorized domain, and click Save.



7. Go back to the Credentials section, click CREATE CREDENTIALS, and choose OAuth client ID.



8. Provide the Application Name along with the Redirect URL that was listed on the CRM developer page during connector creation, and click Create.



9. The OAuth client credentials are now created and appear in a dialog box



10. Enter the unique Client ID and Client Secret obtained here in the Zoho CRM Client Credentials dialog box.

Add API calls and associate them with the connector

Upon authorizing the connection, the next step is to create a connector API that specifies how the components should interact. The steps to create connector APIs in the client application are:

1. Click Create Connector API. Enter the necessary details in the Create Connector API dialog box. In our example for adding a contact from Zoho CRM to Google:

Name of Connector API
PushContacts
Method Type
POST
URL

Request Body: 
  1. <atom:entry xmlns:atom="http://www.w3.org/2005/Atom"

    xmlns:gContact="http://schemas.google.com/contact/2008"

    xmlns:gd="http://schemas.google.com/g/2005">

    <atom:category scheme="http://schemas.google.com/g/2005#kind"

    term="http://schemas.google.com/contact/2008#contact"></atom:category>

    <gd:name>

    <gd:givenName>${FirstName}</gd:givenName>

    <gd:familyName>${LastName}</gd:familyName>

    </gd:name>

    <atom:content type="text">Notes</atom:content>

    <gd:email rel="http://schemas.google.com/g/2005#work"

    primary="true"

    address="${Email}" displayName="${FirstName}"></gd:email>

    <gd:phoneNumber rel="http://schemas.google.com/g/2005#work"

    primary="true">

    ${Mobile} 

    </gd:phoneNumber>

    <gd:organization rel="http://schemas.google.com/g/2005#work" primary="true">

    <gd:orgTitle>${Title}</gd:orgTitle>

    </gd:organization>

    </atom:entry>
2. Click Create to create the Connector API successfully.



3. Click Execute to set the token variables. 



4. Click Set & Execute, and observe the response code to check if the API works. 



5. Click Publish after successfully executing the API. 



Once published, the API needs to be associated with the extension. It appears under the Associated Connectors tab. Click Add to associate the connector GoogleSync with our extension CRMsyncGoogle.


Click View All APIs to check the Unique API Identifier.


Here, crmsyncgoogle.googlesync.pushcontacts is the Unique API Identifier. 


Exporting contacts to Google from Zoho CRM

After the successful execution of the API connector, the next step is to implement the desired function. There are multiple options to do this. In our example, let's create a button and associate it with a custom function to push a contact from Zoho CRM to Google Contacts upon clicking. 

Creating a "Push Contact to Google" custom button to perform the POST operation
Choose the Components section in the left panel of the extension console page. Select the Links & Buttons tab and click Create New Button.



Choose the Contacts tab, name the button, and choose the place where the button needs to be located. Select Writing Function as the action that will be performed by the button.



Write your custom function "pushcontact" to implement the "Push Contact to Google" button operation. This will allow you to push a contact from the Zoho CRM Contacts module to your Google Contacts.

pushcontact function Code Snippet:


cont_resp  zoho.crm.getRecordById("Contacts",contact.get("Contacts.ID").toLong());

Firstname = cont_resp.get("First_Name");

Lastname = cont_resp.get("Last_Name");

mail = cont_resp.get("Email");

mobile = cont_resp.get("Mobile");

title = cont_resp.get("Title");

map = {"FirstName":Firstname ,"LastName":Lastname ,"Email":mail ,"Mobile":mobile ,"Title":title }; 

response = zoho.crm.invokeConnector("crmsyncgoogle.googlesync.pushcontacts",map);

return "Contact Pushed";

How to check and test the functionality?

Click the Test your Extension button to check how your extension functions in the sandbox testing environment.


Under the Contacts module, in the testing environment, let's try and export "Customer2" to our Google Contacts. Click the Push Contact to Google button, and go to the Google Contacts to view your contact being added.


There are many different scenarios where connectors can be of use. In our example, we have seen how to add a contact from Zoho CRM to Google.
We recommend that you try using the connectors feature available in our developer platform to integrate with other third-party applications and reap the best benefits it has to offer.

                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                

    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 #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
                                                          • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

                                                            Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
                                                          • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

                                                            Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the


                                                          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

                                                                                                            • Custom Search using HTM+CSS Snippet

                                                                                                              Suppose I wanted to create my own list view using HTML and CSS snippets inside a Page with a custom search input at the top of the list (not the Search snippet). Without Javascript, is there a way to retrieve a user's entry from that search input and
                                                                                                            • Link Purchase Order to Deal

                                                                                                              Zoho Books directly syncs with contacts, vendors and products in Zoho CRM including field mapping. Is there any way to associate vendor purchase orders with deals, so that we can calculate our profit margin for each deal with connected sales invoices
                                                                                                            • Recruit paid support?

                                                                                                              Hi all, Could anyone who has paid support package advise if it provides value for money with regards to support response times? Exploring the idea as unfortunately when we have faced issues with Recruit it has been a 7+ day timescale from reporting to
                                                                                                            • Zoho Projects - Attachments added to Task and Bug emails are not saved

                                                                                                              Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
                                                                                                            • Zoho Projects - Email notification relabelling of modules not present on default templates

                                                                                                              Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
                                                                                                            • Zoho Projects - Unread Comment Icon

                                                                                                              Hi Projects Team, It would be great if there was a notification I con on the comments icon so it's easy to see which tasks have new comments. Something like a red circle with a number of unread comments would be great. Thanks for considering my feed
                                                                                                            • E-Invoicing in Belgium with Zoho Billing

                                                                                                              Starting January 1, 2026, Belgium is introducing mandatory electronic invoices (e-invoicing) for all B2B transactions between VAT-registered businesses. Invoices and credits notes must be exchanged in a prescribed digital format. How E-Invoicing works
                                                                                                            • Zoho Projects - Email Notifications for Feed Updates

                                                                                                              Hi Projects Team, I'm working with a client who wants a simple way to communicate with their customers on projects. Getting the customer to add comments to Tasks or Bug records is not ideal, as we need a way which is easy with minimal training, and has
                                                                                                            • Zoho Projects - Reply by email to @ mentions posted on the Feed.

                                                                                                              When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
                                                                                                            • Zoho Analytics Export API

                                                                                                              Hi Team, I’m working on some integration tasks and wanted to confirm if it’s possible to retrieve a Zoho Analytics table as JSON data using a Deluge script. I’ve already stored my custom data from multiple sources and combined it into a single source.
                                                                                                            • Unveiling Zoho Sites 2.0 - A new dimension in website building

                                                                                                              Dear Zoho Sites Users, We are thrilled to announce the launch of Zoho Sites 2.0 today! This refresh represents a significant step forward in the capabilities of Zoho Sites and is crucial for creating a lasting and positive impact on our customers' businesses.
                                                                                                            • Weekly Tips : Make collaboration effortless with Whiteboard in Zoho Mail

                                                                                                              Working with your team often means switching between emails, notes, and other applications just to explain an idea. Maybe you are trying to sketch a layout, plan a workflow, or quickly brainstorm ideas—with text alone, things can get confusing. So how
                                                                                                            • Zoho Projects - Update Feed via API

                                                                                                              Hi Projects Team, Please consider adding an API to allow update and retrieval of messages to the Feed. Thank you
                                                                                                            • Rich-text fields in Zoho CRM

                                                                                                              Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
                                                                                                            • Hide fields only for creation

                                                                                                              Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
                                                                                                            • My go to On Load Client Script - Fast, efficient, and works for ALL profiles; Hides everything except initial fields

                                                                                                              This is my on Load client script that I use for Create pages. I use a modified version for Edit and Display pages which you can create yourself using the same basic structure that I will give you below. First up, the script. Below that will be an explanation
                                                                                                            • 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
                                                                                                            • Zoho Sites "pages" management page

                                                                                                              I have 80 plus pages on zoho sites. When I go to the "pages" link to view and edit pages, They are not in any kind of order, so I spend lots of time searching for pages when I need to edit or create new. How can I change the view order of all my pages
                                                                                                            • Introducing the all-new email parser!

                                                                                                              Greetings, We are pleased to introduce to you, a brand-new, upgraded version of the Zoho CRM Email Parser, which is packed with fresh features and has been completely redesigned to meet latest customers needs and their business requirements. On that note,
                                                                                                            • Exciting Updates to the Kiosk Studio Feature in Zoho CRM!

                                                                                                              Hello Everyone, We are here again with a series of new enhancements to Kiosk Studio, designed to elevate your experience and bring even greater efficiency to your business processes. These updates build upon our ongoing commitment to making Kiosk a powerful
                                                                                                            • Zoho Projects - Refine Access to Collaboration Menu

                                                                                                              Hi Projects Team, I noticed that Calendar, Chat and Meeting menu options in the Collaboration section are visible to client users, even when they don't have access to the features. This could be confusing and frustrating, because if it's there you expect
                                                                                                            • Zoho Projects - Add Feed to Project Tabs

                                                                                                              Hi Projects Team, I'm working on a lightweight communications requirement for one of my customers in relation to communicating with their client users via Zoho Projects. I noticed that the Feed is only available in the Collaboration section, but you can
                                                                                                            • Zoho Books Finance Modules Not Accessible in Zoho CRM Mobile App

                                                                                                              We have integrated Zoho CRM with Zoho Books using the Zoho Finance Suite integration. In the CRM web version, we can see the Finance modules (Estimates/Quotes, Invoices, Sales Orders, Items, Payments) and are able to create invoices and quotes directly
                                                                                                            • Zoho CRM Kiosk Upload Files

                                                                                                              Hello all, We are trying out Kiosks at the moment to see where it can fit best in our business. We are still a bit off in the application but lets say we will sort this out. My question is the following - when I create a Kiosk I can add "File Upload"
                                                                                                            • Connecting zoho creator to zoho writer to send prefilled documents

                                                                                                              i will paste the worflow below // Get user's submitted data from the form userSalary = input.Current_Salary; userCIBIL = input.CIBIL_Score; userEmail = input.Email; userName = input.Name; // You need to get the Document ID from the URL of your Zoho Writer
                                                                                                            • Extracting Images from a Zoho Creator Report into a Pages

                                                                                                              If you’ve uploaded images in a form and can see them in your report, you might also want to display those same images inside a Page (custom HTML page). This is useful for dashboards, profile pages, or any place where images should be visible dynamically
                                                                                                            • How do I change a form's name? Why isn't this more intuitive?

                                                                                                              Can someone please let me know how to change a form's name?
                                                                                                            • Zoho is blocking emails I subscribe to from one sender

                                                                                                              About 4 months ago I stopped receiving newsletters that I subscribe to from @thedispatch.com. They tell me that zoho's server is blocking them. I've added them to my contacts list, but they're not even reaching my inbox. I don't know how to troubleshoot
                                                                                                            • Introducing Formula Fields for performing dynamic calculations

                                                                                                              Greetings, With the Formula Field, you can generate numerical calculations using provided functions and available fields, enabling you to derive dynamic data. You can utilize mathematical formulas to populate results based on the provided inputs. This
                                                                                                            • Inactive Items - Make Less Prominent by Default

                                                                                                              Currently, when one marks an Item as "Inactive", it really doesn't do much of anything to hide it or get it out of the way. Search and reporting within Finance should, by default, hide inactive Items from standard reports, searches, etc. If one specifically
                                                                                                            • Items should display under specific warehouse

                                                                                                              I have configured the multi warehouse but it show all the items under all warehouse which is not correct according to our business logic, so i want that items should only display under that specific warehouse not under all the warehouses not even with zero quantity. Some items should be common but not all so is there any option for that purpose so i can specific the items to its warehouse. Regards
                                                                                                            • Zoho Analytics Bulk Api Import json Data

                                                                                                              HI, I’m trying to bulk-update rows in Zoho Analytics, and below are the request and response details. I’d like to understand the required parameters for constructing a bulk API request to import or update data in a table using Deluge. Any guidance on
                                                                                                            • Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)

                                                                                                              This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input customerName = input.Customer_Name1; orderID = input.ID; customerEmail = input.Email_Address; //
                                                                                                            • Auto-fill New Row with Previous Row Values

                                                                                                              rowsize = input.Order_Items.count(); for each row1 in input.Order_Items { rowsize = rowsize - 1; if(rowsize == 1) { row.Door_Model = row1.Door_Model; row.Door_Color = row1.Door_Color; row.Materials = row1.Materials;
                                                                                                            • I am facing a problem with an if-else condition

                                                                                                              If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
                                                                                                            • When I click on PDF/PRINT it makes the invoice half size

                                                                                                              When I click PDF / Print for my invoice in Zoho Books, the generated PDF appears at half size — everything is scaled down, including the logo, text, and layout. The content does not fill the page as it should. Could someone advise what causes Zoho Books
                                                                                                            • Python - code studio

                                                                                                              Hi, I see the code studio is "coming soon". We have some files that will require some more complex transformation, is this feature far off? It appears to have been released in Zoho Analytics already
                                                                                                            • API question - adding a thread to an existing ticket

                                                                                                              Hi Is there an API function for the customer to add to an existing ticket thread? example, customer puts in new support ticket. support replies and ask for more details. customer replies with more details -what api function is used for this (will add record append to same ticket number?) Thanks
                                                                                                            • search and Smart Bar both missing in Mail

                                                                                                              One of the users on my account does not have the search bar at the top right or the Smart Bar at the bottom left of the desktop Mail app. Any ideas how to get those back?
                                                                                                            • Why is Zoho Meeting quality so poor?

                                                                                                              I've just moved from Office 365 to Zoho Workplace and have been generally really positive about the new platform -- nicely integrated, nice GUI, good and easy-to-understand control and customisation, and at a reasonable price. However, what is going on
                                                                                                            • Next Page