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




                                      Zoho Desk Resources

                                      • Desk Community Learning Series


                                      • Digest


                                      • Functions


                                      • Meetups


                                      • Kbase


                                      • Resources


                                      • Glossary


                                      • Desk Marketplace


                                      • MVP Corner


                                      • Word of the Day



                                          Zoho Marketing Automation


                                                  Manage your brands on social media



                                                        Zoho TeamInbox Resources

                                                          Zoho DataPrep 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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • Easy way to delete attachments

                                                                                                    I've reached my data limit and would like to run a view/report, and mass delete attachments. Is there an easy, fast way to do this? Moderation Update: Post Summary: There are two features the post discusses a) Easy way to remove Email attachments Will
                                                                                                  • Ho to restrict access to row level to Zoho Analytics users

                                                                                                    Let me explain the scenario we are trying to achieve. We have an online system our team members work with. On it we have 6 users that manage data from different areas (North, South, East and West). We would like to transfer this information to a Zoho
                                                                                                  • Remove the link between app admin roles and org admin privileges

                                                                                                    Greetings Zoho One Team, Currently, assigning someone as an admin in certain Zoho apps, such as Cliq, Connect, Mail, Vault, or Forms (and maybe other apps as well) automatically grants them org admin privileges, even though they are not listed as org
                                                                                                  • Standalone function is not working

                                                                                                    Hi, We have created a standalone function to integrate with a third-party service using OAuth. However, the standalone function's REST API key is expiring automatically after some time. When we regenerate the API key from the admin account, the function
                                                                                                  • All Deluge environments draggy! Negatively impacting productivity

                                                                                                    Hello, I have been using Zoho flow, CRM, Project, etc to develop custom functions, integrations. etc. for over 5 years. However, just about 3 days ago, I observed the deluge integrated environment is now acting draggy across all Zoho products using Chrome
                                                                                                  • Pass json to ZDK.Client.openMailer TO parameter

                                                                                                    Hello I try to make send emails to a list of emails with : ZDK.Client.openMailer({ from: 'example@zoho.com', to: details_output, subject: 'test Mailing List', body: 'Test Mailing List Body' }); where details_output is an array like : [{ "email": "testcarte18078@test.com",
                                                                                                  • How to remove banners at the top of email web page

                                                                                                    Every day, I find valuable screen real estate being consumed by Zoho advertising themselves at the top of my email web page. I can dismiss that "announcement", but something else will come back the very next day. How do I permanently dismiss them as 99%
                                                                                                  • My domain provider does not support to DKIM records

                                                                                                    My domain provider does not support to DKIM records in zoho mail. It does not allowed underscore in a TXT name but zoho had provide DKIM records already with an underscore This is the zoho provides But my domain provider does not allowed
                                                                                                  • Zoho email experiencing delay when receiving emails from AWS SES

                                                                                                    When sending an email from our SES, our non-Zoho email is receiving emails almost instantly with a 1-2 min delay, however, the zoho email we send to is experiencing delays from 3-4 hours and sometimes dont recieve them at all. Any idea what might be going
                                                                                                  • How to listen to ticket change

                                                                                                    Hello community, I created a widget, which checks all departments, if the user has written there as well, as some customer do this. Overall it works fine, except that I have to refresh the widget tab every time I go to another ticket. How can I listen
                                                                                                  • Filter report using dynamic filter using function not working

                                                                                                    Hi - I am trying to dynamically filter a report as follows: when I save the filter it looks like this: However when I run the report it is not returning results as I expect. I have tested the function. If I copy and paste the output of the function and
                                                                                                  • Did you know you can secure your content with Zoho Writer?

                                                                                                    Sometimes you need to protect certain parts of your content to conceal sensitive information or prevent changes to important sections of a document. Zoho Writer offers several tools for securing content to help maintain privacy, security, and confidentiality
                                                                                                  • Webhook when estimate is refused is not firing

                                                                                                    Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
                                                                                                  • How to add coloring on List Reports

                                                                                                    Hi guys, I would like to add colors to List reports. Is there an option to apply table colors other than using the custom layout? Thank You!
                                                                                                  • How do I delete a test email address to which I am supposed to send a test email?

                                                                                                    How do I delete an email address added to a test email recipient that is no longer needed due to resignation or other reasons?
                                                                                                  • Formula fields - Request for dynamic recalculation / proper implementation

                                                                                                    Hi Guys, I have a big problem with Zoho formula fields. They don't recalculate each time the record is viewed - only when a record is edited. Formula fields should be updated dynamically each time a record is retrieved. As an example: I have a formula
                                                                                                  • Create custom rollup summary fields in Zoho CRM

                                                                                                    Hello everyone, In Zoho CRM, rollup summary fields have been essential tools for summarizing data across related records and enabling users to gain quick insights without having to jump across modules. Previously, only predefined summary functions were
                                                                                                  • Creating smart filters manually

                                                                                                    Hi Team, One of my colleagues accidentally deleted the Notification folder in Zoho Mail. Now all the emails are directing to spam instead of inbox. Is there any way to create the smart filter manually?. With Regards, Logeswar V
                                                                                                  • Is there a way to get Guided Conversation responses to appear on a ticket?

                                                                                                    Hello When using the Create Ticket block, is there a way to save all of the responses the user has inputted on the ticket once it's been made?
                                                                                                  • Tickets Assigning Automation

                                                                                                    I am trying to build a bot which can automatically assign the tickets to the concerning team as of now we have a dedicated person who read the emails, understands the query and then assign it to the dedicated team. I have built an prototype of the same
                                                                                                  • PDF API FROM ZOHO CREATOR DELUGE SCRIPT

                                                                                                    Hi I am in need of using a PDF Api to compress and Merge PDF files from zoho creator. Any support on this would be really helpfull any sample code for any PDF API would be extremely heplfull
                                                                                                  • Zoho Desk using APIs

                                                                                                    We have generated the necessary tokens and successfully executed the following calls: • List all tickets • Get a ticket • Create a ticket We have encountered difficulties when attempting to perform searches using the APIs related to SEARCH, as it returns
                                                                                                  • Knowledge Base - Import PDF/Doc

                                                                                                    Our company already has guides and manuals in PDF/word format. Is there a way to directly important these as articles for our customer portal? When doing a copy/paste the formatting gets a little skewed and images don't post over either. 
                                                                                                  • Paid Support Plans with Automated Billing

                                                                                                    We (like many others, I'm sure) are designing or have paid support plans. Our design involves a given number of support hours in each plan. Here are my questions: 1) Are there any plans to add time-based plans in the Zoho Desk Support Plans feature? The
                                                                                                  • Credit Card Terminal for Zoho Books

                                                                                                    Hello, Instead of punching the credit card number manually for customer payment, do you have a third-party hardware credit card reader that works with Braintree? Thank You
                                                                                                  • Checklist/ save to onedrive/ a group of items invoicing in Zoho FSM

                                                                                                    hi, is there a way to add a specific checklist to any WO without passing eachtime by the model customization? can we save file such picture directly in our sharepoint ak onedrive? is there any way to add a group of item pre defined to make invoicing easier
                                                                                                  • Splitting a List into different rows

                                                                                                    I am getting a List from a for each loop. But I can't figure out how to separate each item that is separated by a comma. Example Zone 1 - Front Door,Zone 2 - Rear Door,Zone 3 - Side Door I need it too look like this: Zone 1 - Front Door Zone 2 - Rear
                                                                                                  • This domain is not allowed to add. Please contact support-as@zohocorp.com for further details

                                                                                                    I am trying to setup the free version of Zoho Mail. When I tried to add my domain, theselfreunion.com I got the error message that is the subject of this Topic. I've read your other community forum topics, and this is NOT a free domain. So what is the
                                                                                                  • Zoho Analytics - CRM Sync Failure

                                                                                                    We have experienced consistent sync failures between our Zoho CRM and Analytics apps, but there aren't any details provided as to why this failure might be occuring. Please advise on troubleshooting steps so we can figure out how to restore the sync.
                                                                                                  • Setup Leave Policy which increases based on years of service

                                                                                                    Please confirm if this is correct. Effective after 0 days of employment, Opening Balance is 6 days. Valid only for the first year of employment and Accrual and Reset are disabled. Effective after 1 year of employment, Opening Balance is 10 days. Valid
                                                                                                  • Zoho Books Price list associated to a cusomer

                                                                                                    how we can associate a price list to a costumer? pls don't send me to your FAQ section (Associating Price List to a Customer:: Knowledge Base | Zoho Inventory) nothing it's explained and there no place where we add price list to a customer
                                                                                                  • How to create Sepa Direct Debit XML file: solution and code

                                                                                                    Even though Books provides a payment integration for Stripe and Gocardless (in Europe) there are customers that want to use the Sepa services of their own bank. Mainly because Stripe and Gocardless are quite expensive. In that case they would need a Sepa
                                                                                                  • Why can't I see the email from Zoho Campaigns Automation under Zoho CRM Leads module?

                                                                                                    I recently did update the field mapping on our Leads sync services between Zoho CRM and Zoho Campaigns. The end goal is to create tailored email drip campaigns with the use of segments and automation. I understand you can build cadences, email templates,
                                                                                                  • Zoho Payments integration

                                                                                                    What are you going to get Zoho Payments integrated with Zoho Forms? It's kind of embarrassing to have several payment options... but not your own, which has been out for quite a while.
                                                                                                  • Query About Updating Records in Batches via API

                                                                                                    We are working on integrating the Creator application with an external app, and we need to update thousands of records daily. I understand that the "Update Records" API is available; however, it appears to be designed for updating multiple records with
                                                                                                  • 📣📣 Zoho Bookings - Feature Roadmap 2024

                                                                                                    Hi Everyone, Thank you for all the support you have been showing Zoho Bookings. We had a fabulous 2023, with a bunch of new features and over 60K new users. In 2024, our prime focus will be on user experience, and we have a few vital features coming in
                                                                                                  • Allow Selection of Multiple Threads and Notes for Splitting into a Separate Ticket

                                                                                                    Dear Zoho Team, We would like to request an enhancement to the Split as New Ticket feature within Zoho Desk. Currently, users can only select one incoming thread to split into a new ticket. However, there are many scenarios where the ability to select
                                                                                                  • Final reminder: Zoho Desk Old UI will be deprecated on December 15th, 2023

                                                                                                    Greetings Zoho Desk users! Effective December 15th, 2023, the Zoho Desk old UI will be deprecated. This means that the option to switch between the old and new UI will no longer be available. We kindly request all users to move to the new UI by clicking
                                                                                                  • Access Denied

                                                                                                    good afternoon! When I try to access my Zoho Vault account, I get a message (image attached) that my access has been disabled by the administrator. It turns out that I am the administrator and I did not perform any type of action of the type, which is
                                                                                                  • ZOho Vault access denied

                                                                                                    Hello Community, I have suddenly got restricted by accessing Zoho vault . How can I get access back ?
                                                                                                  • Next Page