According to the latest McKinsey & Company report, 28% of an average interaction employee’s time is spent in managing emails and calendars. That is why improving collaboration and communication across apps is of utmost importance as it creates streamlined workflows and increases workforce productivity.
If your team uses both Salesforce and Gmail then instead of wasting time going back and forth between the two applications, it is time to use both together. Salesforce Integration with Gmail will not only improve employee’s productivity but also bring added value to the table.
The following are the steps to efficiently integrate Salesforce and Gmail.
STEP 1: Create Google OAuth Client Id on Google Console:
1.Login to Google API Console.
2. From the Title bar → Select Project drop-down→ Create Project (optional if you already have one).
3. In the Library menu → Search for Gmail API → Enable it.
4. From the Credentials, menu → Select the ‘OAuth consent screen’ tab.
5. Enter the required scopes for Gmail Apis. You should have all these scopes selected:
- Profile
- OpenID
6. For the authorized domains, add force.com and salesforce.com.
7. From the Credentials tab → Select credentials drop-down → Select OAuth client ID.
8. From Application Type → Select Web Application → Create.
9. Copy the Client ID and Client Secret Values as these will be used in creating the authentication provider in Salesforce.
STEP 2: Configure a Salesforce Authentication Provider:
1. Click on Setup → In the Quick Find Box, enter Auth Providers, create a new Auth Provider by providing the following details.
- Provider Type: Open ID Connect
- Name: Google
- URL Suffix: Google
- Consumer Key: Paste the client ID copied earlier.
- Consumer Secret: Paste the client secret copied earlier
- Authorize Endpoint URL: https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent
- Token Endpoint URL: https://www.googleapis.com/oauth2/v4/token
- Default Scopes: OpenID
2. The parameters “access_type=offline&prompt=consent” will allow you to get a refresh token from Google.
3. Click Save and copy the Callback URL as this will be used while editing the Google project.
STEP 3: Add Authorized Redirect URIs to Google project:
Paste Callback URL provided by the Auth provider to the Google API Credentials Redirected Authorized URIs (which was created in the first step).
STEP 4: Create Named Credential on Salesforce:
1. From Setup → Administrator → Security > Named Credentials –> Create a New Named Credential with the following details.
- Label: Gmail
- Name: Gmail
- URL: https://www.googleapis.com/gmail/v1/users
- Certificate: Leave Empty
- Identity Type: Named Principal
- Authentication Protocol: OAuth 2.0
- Authentication Provider: Google
- Scope: OpenID https https://www.googleapis.com/auth/gmail.readonly
2. Save.
3. On saving, Salesforce will redirect you to the Google OAuth consent screen.
4. After accepting, you will be redirected back to Salesforce, and ‘Authentication Status: Authenticated’ message will be displayed for your Named Credential.
STEP 5: Run script for Apex Callout:
Step 1: Copy this Apex Code
Read Drafts with below Apex script:-
or
Read Messages with below apex script
Step 2: On the right top corner, click on your name → From the drop-down, select Developer Console.
Step 3: Click on the Debug from the menu → From the drop-down, select Open Execute Anonymous Window.
Step 4: Paste the previously copied code here.
Step 5: Check Open Log and Select Execute.
Step 6: Check Debug Only
Step 7: Draft’s information on the screen will be displayed.
Conclusion:
Enhance your workforce productivity by eliminating the time spent on redundant data entry on two applications. Also, eliminate manual errors and bring the relevant records at one place by collaborating Salesforce and Gmail.
Happy Learning! 🙂