A step-by-step guide to integrate Google Contacts using Sigma

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.

                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                





                            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 WorkDrive Resources



                                                                  Zoho Campaigns Resources

                                                                    Zoho CRM Resources

                                                                    • CRM Community Learning Series

                                                                      CRM Community Learning Series


                                                                    • Tips

                                                                      Tips

                                                                    • 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