Welcome to the Salesforce To-Do Manager with Google Tasks Integration project! This solution builds upon the original To-Do Manager, now seamlessly integrating with the Google Tasks API. This integration empowers users to manage their tasks efficiently across both Salesforce and Google Task App.
👉 Click here for an in-depth look at the original To-Do Manager Project.
The initial To-Do Manager project provided a robust task management system within Salesforce. However, it lacked external synchronization, making it challenging for users to manage tasks seamlessly across different platforms. This project addresses that limitation by integrating Salesforce To-Do tasks with Google Tasks, allowing users to access and update their tasks from both environments.
To-Do.Manager.-.Google.Tasks.Integration.mp4
- Bi-Directional Sync: Achieved seamless synchronization between Salesforce To-Do tasks and Google Tasks, ensuring consistency across both platforms.
- OAuth 2.0 Authorization: Implemented secure
OAuth 2.0
authorization for Google API integration, enhancing the overall security of the application.
- Secure Integration: Implemented OAuth 2.0 authorization for secure communication between Salesforce and Google Tasks API.
- console.google.com Setup:
- Created a project with OAuth consent screen defining Authorize domain URL, Google Scopes, and Test User email.
- Generated
Client ID
andClient Secret
to be used in Salesforce Auth. Providers.
- Salesforce Auth. Providers Configuration:
- Created
Auth. Providers
in Salesforce, defining Client ID, Client Secret, Authorize Endpoint URL, Token Endpoint URL, Default Scopes, etc.
- Created
- External Credentials, Named Principals, and Named Credential:
- Configured External Credentials, Named Principals, and Named Credential in Salesforce for Google OAuth 2.0 Authorization.
- Secure Named Credential Storage:
- Leveraged Named Credentials to securely store and manage external system credentials within Salesforce.
This streamlined OAuth 2.0 Authorization process ensures a robust and secure connection between Salesforce and Google Tasks API, enabling seamless integration.
Here is the video for the OAuth 2.0 Authorization Setup :-
Google.-.OAuth.2.0.Authorization.mp4
- GoogleTasksJSON Class: Developed a robust wrapper class
GoogleTasksJSON
for parsing JSON responses from the Google Tasks API and constructing the JSON request body to make Callout requests, facilitating easy handling of API data.
- Postman Testing: Thoroughly tested API calls (POST, PATCH, DELETE) to the Google Tasks API using
Postman
, ensuring the reliability of the integration.
Here is the video for the Testing of different HTTP requests to the Google Tasks API :-
Google.Tasks.API.-.Postman.Testing.mp4
- Google App Script: Implemented Google App Script code to retrieve Google TaskList IDs, enhancing the overall efficiency of the integration.
Click Here to view the Google App Script code to retreive the Google TaskList Id's.
- Trigger Framework: Utilized a robust
TriggerHandler
Framework to streamline the process of making Apex callouts from After Insert, After Update, and After Delete Triggers on theTo_Do__c
object to Insert, Update & Delete Google Tasks respectively. - Asynchronous Processing: Implemented
@future
methods for making callouts to Google Tasks API, ensuring efficient and non-blocking execution.
- Apex Trigger Handler Framework: Utilized a robust framework for Trigger Handlers to maintain clean and organized trigger logic.
- OAuth 2.0 Authorization: Implemented secure authentication with Google Tasks API, following industry-standard
OAuth 2.0
practices. - Named Credentials: Enhanced security by using Salesforce Named Credentials for storing and managing external system credentials.
- JSON Parsing: Developed a structured wrapper class
GoogleTasksJSON
for efficient parsing and handling of JSON responses from the Google Tasks API. - Postman Testing: Ensured reliability through thorough testing of API calls using Postman.
- Google App Script: Improved efficiency with the integration of Google App Script code for retrieving Google TaskList IDs.
The Salesforce To-Do Manager with Google Tasks Integration project brings a new level of efficiency and flexibility to task management. Users can now enjoy the benefits of synchronized tasks between Salesforce and Google Tasks, improving productivity and collaboration.
Thank you for exploring this project. For feedback or discussions, feel free to connect with me through LinkedIn or email.
- Postman Quickstarts - Google OAuth in Postman Postman Help article to setup OAuth 2.0 Authorization for Postman
- Google Tasks API reference: Official documentation for the Google Tasks API.
- Salesforce Help - Configure a Google Authentication Provider: Salesforce Help Article to configure Google as an authentication provider so users can log in to Salesforce using their Google credentials.
- Google Cloud Console: Google Cloud Platform to build apps on Google
- Google OAuth 2.0 Playground: Google Developers platform to help you understand the OAuth authorization flows and show each step of the process of obtaining an access token and sending requests to different Google APIs.
- Google App Script: Apps Script is a cloud-based JavaScript platform that lets you integrate with and automate tasks across Google products.
- Trigger Handler Framework by kevinohara80 on GitHub
- Salesforce Help - Named Credentials and External Credentials in Salesforce
- LinkedIn: www.linkedin.com/in/khushal-ganani
- Email: khushal.ganani@gmail.com
- Trailhead: https://www.salesforce.com/trailblazer/khushalg
To experience the enhanced task management capabilities:
-
Clone the Repository:
git clone https://github.com/khushal-ganani/todo-google-tasks-integration.git