GithubHelp home page GithubHelp logo

khushal-ganani / todo-google-tasks-integration Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 6.0 21 KB

Salesforce To-Do Manager with Google Tasks Integration project which extends the capabilities of the original To-Do Manager by seamlessly integrating with the Google Tasks API. The project includes secure OAuth 2.0 authorization, robust JSON parsing, Postman testing, and Apex callouts with trigger handlers.

Home Page: https://www.linkedin.com/in/khushal-ganani/

Shell 0.32% JavaScript 0.91% Apex 98.78%
auth-provider authorization google-tasks-api named-credentials oauth2 postman rest-api salesforce-apex salesforce-developers salesforce-rest-api

todo-google-tasks-integration's Introduction

Salesforce To-Do Manager with Google Tasks Integration ๐Ÿ–‡๏ธ๐ŸŒ๐Ÿš€


Overview

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.

Problem Statement

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.

Project Video

To-Do.Manager.-.Google.Tasks.Integration.mp4

Key Features

1. Google Tasks API Integration ๐ŸŒ

  • 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.

2. OAuth 2.0 Authorization Workflow ๐Ÿ”—

  • 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 and Client 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.
  • 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

2. JSON Parsing and Wrapper Class ๐Ÿ“ฆ

  • 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.

3. Postman Testing and Google App Script Integration ๐Ÿค–

  • 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.

4. Apex Callouts and Trigger Handlers

  • 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 the To_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.

Technologies and Best Practices

  • 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.

Conclusion

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.

References

Contact

Getting Started

To experience the enhanced task management capabilities:

  1. Clone the Repository:

    git clone https://github.com/khushal-ganani/todo-google-tasks-integration.git

todo-google-tasks-integration's People

Contributors

khushal-ganani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.