How to Integrate Salesforce to Google Sheets through API?

Building on our previous exploration of how to integrate Salesforce to Google Sheets using apps in a comprehensive blog, we are back again to guide you through the intricacies of integrating Salesforce to Google Sheets utilizing Google APIs.

Emphasizing the utilization of APIs for real-time data synchronization, this integration promises to revolutionize the way you handle and collaborate on data. It streamlines data management and enhances collaboration by ensuring that your Salesforce data is seamlessly accessible and synchronized with your Google Sheets.

So, let’s begin and demonstrate how to update contact records in Google Sheets, created in Salesforce through APIs.

Set up a Google Cloud Platform Project to Integrate Salesforce to Google Sheets using API

  • Head to the Google Cloud Console.
  • You can either select a new project or choose an existing one.
  • Next is enabling the Google Sheets API for your project.
  • Create credentials for a service account, and download the JSON key file.
select a new project

>> Provide the desired Name for Project here, Here I’ve given the name Google Sheet Test.

Provide the desired Name for Project

>> In the search box, write Google Sheet and select the Google Sheets API option.

>> Click on Enable API

>> Click on the left corner, then click on API & Services, once the box will get opened click on Credentials and then click on Create Credentials.

>> As the Create Credentials box opens, Click on OAuth Client ID.

>> To create an OAuth client ID, we need to Configure Consent Screen.

Configure Consent Screen

>> In Authentication Type, Select Web Application.

Select Web Application

>> Provide the ‘Name’ for your OAuth Client ID and Create it.

Provide the ‘Name’

>> Once the OAuth page opens, Copy the Client Id and Client Secret.

Copy the Client Id

> In Salesforce Org

Setup >> Quick Find Box >> Enter Auth >> Click on Auth Provider >> Click on New.

Select Google

>> In Provider Type, Select Google.

Select Google

>> Following Box will be opened.

Following Box will be opened

>> In consumer key, Mention the copied OAuth client Id and In consumer Secret, Mention the copied client secret.

Authorize Endpoint URL

https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force

Token Endpoint URL

https://accounts.google.com/o/oauth2/accessToken

Default Scopes

https://www.googleapis.com/auth/spreadsheets

In Authorize Endpoint URL, Token EndPoint URL and Default Scopes mentioned above Url. Once you will save the auth Provider, the callback Url will be generated so, copy the callback url.

Mention the copied client secret

>> Mention the callback Url in OAuth Client Id.

Mention the callback Url

>> In the Quick Find Box, Enter Named Credentials in the left corner. Click on the drop-down box and click on New Legacy.

Enter Named Credentials

> For creating new Named Credentials provide the desired Label, In the URL, mention this URL –
https://sheets.googleapis.com

In Identity type, select Named Principle, and In Authentication Protocol, Select OAuth 2.0.
For Authentication Provider, Click on the glass icon, Select the Authenticator Provider which you have created in Auth and Click on ‘Save’ button.

Click on the glass icon

>> As you click on ‘Save’ button, It will redirect you to verify your email.

verify your email

>> Click on Continue.

Click on Continue

>> Again, Click on Continue.

Again, Click on Continue.

>> Once you process all the steps, it will redirect you back to your Salesforce org.

> Once we have completed all the above mentioned steps for authentication, we have to create a custom button and we have to set it on the contact record page as we will click on the button. It will sync your contact to google sheet and it will be appended on the sheet.

> Controller Class – GoogleSheetApi.cls

We have set the EndPoint –
req.setEndpoint(‘callout:GoogleSheetApi/v4/spreadsheets/1SyhGgtSdU9f8zeNKWCGBZ3om3D8pOo2uoKhOELASLvo/values/Sheet1:append?valueInputOption=RAW’);We have mentioned the sheet Id in the endpoint.

create a custom button

>> HTML Class – googleSheetTest.html’
>>
Here, we have created a custom button on the page and added this component on the standard contact page, as you will click on the button, the contact will be synced with google sheet.

>> JS Class – googleSheetTest.js
>> In the Js file, we have imported controller class and method and also we have imported showToastEvent. Here we have used api,wire and track decorator. Api decorator will provide current page record Id and appendRowbyID is variable name for controller class.

>> We have added the button on the Standard Contact Page.

add the button

>> Once you click on the button, the contact will be synced with the sheet.

contact will be synced with the sheet

>> The Contact will be available on the sheet.

Conclusion

So, here it is! This is how we can seamlessly integrate Salesforce to Google Sheets and update contact records in it.

So what are you waiting for? Go ahead and try out the solution. Feel free to share your suggestions or reach out to us for any Salesforce development solution

Our Location worldwide
India
3rd Floor, A-10, Pegasus Tower, Sector 68, Noida, Uttar Pradesh 201301 +91-1203117884
SR Tower 2nd Floor Hydel Gate Haldwani Uttarakhand 263126 +91-5946359996
USA
333 West Brown Deer Road Unit G – 366 Milwaukee WI, USA 53217 +1(262) 310-7818
UK
7 Bell Yard, London, WC2A 2JR +44 20 3239 9428
Canada
HIC Global Solutions INC
43 Lafferty Lane, Richmond Hill, L4C 3N8, CA +1(262) 310-7818