{"id":574,"date":"2026-02-07T18:19:19","date_gmt":"2026-02-07T18:19:19","guid":{"rendered":"https:\/\/www.irfankhatri.com\/blog\/?p=574"},"modified":"2026-02-07T18:19:20","modified_gmt":"2026-02-07T18:19:20","slug":"how-to-integrate-google-meet-with-salesforce","status":"publish","type":"post","link":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/","title":{"rendered":"How to Integrate Google Meet with Salesforce"},"content":{"rendered":"\n<p>Salesforce is the backbone of many sales and support teams, while Google Meet is a go-to platform for virtual meetings. Integrating Google Meet with Salesforce helps teams schedule, launch, and track meetings directly from Salesforce records\u2014saving time and keeping all customer interactions in one place.<\/p>\n\n\n\n<p>In this blog, we\u2019ll walk through why this integration matters, integration approaches, and a high-level implementation guide using Salesforce and Google APIs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"875\" src=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Integrate-Google-Meet-with-Salesforce-Architecture-Diagram.jpg\" alt=\"Integrate Google Meet with Salesforce Architecture Diagram\" class=\"wp-image-575\" srcset=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Integrate-Google-Meet-with-Salesforce-Architecture-Diagram.jpg 1024w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Integrate-Google-Meet-with-Salesforce-Architecture-Diagram-300x256.jpg 300w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Integrate-Google-Meet-with-Salesforce-Architecture-Diagram-768x656.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Create a Google Cloud Project<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to the <a href=\"https:\/\/console.cloud.google.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Google Cloud Console<\/a>.<\/li>\n\n\n\n<li>Click the <strong>Project Dropdown<\/strong> (top left) and select <strong>New Project<\/strong>.<\/li>\n\n\n\n<li><strong>Project Name:<\/strong> Give it a clear name like <code>Salesforce-Meet-Integration<\/code>.<\/li>\n\n\n\n<li><strong>Location:<\/strong> Select your organization or leave it as &#8220;No organization&#8221; if this is a personal dev project.<\/li>\n\n\n\n<li>Hit <strong>Create<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Enable the Google Calendar API<\/h2>\n\n\n\n<p>Your project needs permission to talk to the calendar service.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In the left-hand sidebar, navigate to <strong>APIs &amp; Services &gt; Library<\/strong>.<\/li>\n\n\n\n<li>Search for <strong>&#8220;Google Calendar API&#8221;<\/strong>.<\/li>\n\n\n\n<li>Click on the result and hit the <strong>Enable<\/strong> button.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Configure OAuth Consent Screen<\/h2>\n\n\n\n<p>Salesforce will authenticate as an external application, so OAuth is required.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>APIs &amp; Services &gt; OAuth consent screen<\/strong>.<\/li>\n\n\n\n<li>Choose user type:\n<ul class=\"wp-block-list\">\n<li><strong>Internal<\/strong>: Projects associated with a Google Cloud Organization can configure Internal users to limit authorization requests to members of the organization.<\/li>\n\n\n\n<li><strong>External<\/strong>: Projects configured with a user type of External are available to any user with a Google Account.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Fill app information\n<ul class=\"wp-block-list\">\n<li><strong>App name<\/strong>: Salesforce Google Meet Integration<\/li>\n\n\n\n<li><strong>User support email<\/strong>: Enter your email address.<\/li>\n\n\n\n<li><strong>Developer contact email<\/strong>: Enter your email address.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>On the Data Access screen, click <strong>Add or Remove Scopes<\/strong> and In the &#8220;Manually add scopes&#8221; box, paste the following\n<ul class=\"wp-block-list\">\n<li><code>https:\/\/www.googleapis.com\/auth\/calendar<\/code><\/li>\n\n\n\n<li><code>https:\/\/www.googleapis.com\/auth\/calendar.event<\/code>s<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Add to Table<\/strong>, then <strong>Update<\/strong>, then <strong>Save and Continue<\/strong>.<\/li>\n<\/ol>\n\n\n<div style=\"background-color: #ffd2d2; color: #d8000c; border-left-color: #d8000c; \" class=\"ub-styled-box ub-notification-box wp-block-ub-styled-box\" id=\"ub-styled-box-9e5cdadd-2ca8-4c08-92ab-752aa7c2d361\">\n<p id=\"ub-styled-box-notification-content-\">Note: If you select user type External, make sure to add testing user email in the audience.<\/p>\n\n\n<\/div>\n\n\n<p>Note: If you select user type External, make sure to add testing user email in the audience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Create OAuth 2.0 Credentials<\/h2>\n\n\n\n<p>Now, let\u2019s get the &#8220;keys&#8221; for the front door.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>APIs &amp; Services &gt; Credentials<\/strong>.<\/li>\n\n\n\n<li>Click <strong>+ Create Credentials<\/strong> at the top and select <strong>OAuth client ID<\/strong>.<\/li>\n\n\n\n<li><strong>Application Type:<\/strong> Select <strong>Web application<\/strong>.<\/li>\n\n\n\n<li><strong>Name:<\/strong> Use something like <code>Salesforce Integration Client<\/code>.<\/li>\n\n\n\n<li><strong>Authorized Redirect URIs:<\/strong> You\u2019ll get the final URL from Salesforce after you create the Auth Provider. For now, you can leave it blank or use a placeholder, but don&#8217;t forget to come back and update this later!<\/li>\n\n\n\n<li>Click <strong>Create<\/strong>.<\/li>\n<\/ol>\n\n\n<div style=\"background-color: #ffd2d2; color: #d8000c; border-left-color: #d8000c; \" class=\"ub-styled-box ub-notification-box wp-block-ub-styled-box\" id=\"ub-styled-box-e12f9976-9fa1-4908-85f1-5527f4ee4217\">\n<p id=\"ub-styled-box-notification-content-\">Note: Copy your Client ID and Client Secret. You\u2019ll need these immediately for the Salesforce Auth Provider setup. Keep the Secret&#8230; well, secret!<\/p>\n\n\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Step 5: Create the Auth Provider<\/h2>\n\n\n\n<p>Auth Provider handles OAuth authentication with Google.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In Salesforce Setup, search for <strong>Auth. Providers<\/strong> and click <strong>New<\/strong>.<\/li>\n\n\n\n<li><strong>Provider Type:<\/strong> Select <strong>Google<\/strong>.<\/li>\n\n\n\n<li><strong>Name:<\/strong> <code>Google Meet<\/code> (The URL Suffix will auto-populate).<\/li>\n\n\n\n<li><strong>Consumer Key:<\/strong> Paste the <strong>Client ID<\/strong> from your Google Cloud Project.<\/li>\n\n\n\n<li><strong>Consumer Secret:<\/strong> Paste the <strong>Client Secret<\/strong> from your Google Cloud Project.<\/li>\n\n\n\n<li><strong>Authorize Endpoint URL<\/strong>: https:\/\/accounts.google.com\/o\/oauth2\/v2\/auth?access_type=offline&amp;prompt=consent<\/li>\n\n\n\n<li><strong>Default Scopes:<\/strong> openid email profile https:\/\/www.googleapis.com\/auth\/calendar https:\/\/www.googleapis.com\/auth\/calendar.events offline_access<\/li>\n\n\n\n<li>Leave everything else as default and click <strong>Save<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p>After saving, scroll down to the <strong>Configuration Documents<\/strong> section. Copy the <strong>Callback URL<\/strong>. Go back to your <strong>Google Cloud Console &gt; Credentials<\/strong>, edit your OAuth Client, and paste this URL into the <strong>Authorized redirect URIs<\/strong> section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"953\" height=\"624\" src=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Auth-Provider-Setup.png\" alt=\"Salesforce Auth Provider Setup\" class=\"wp-image-577\" srcset=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Auth-Provider-Setup.png 953w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Auth-Provider-Setup-300x196.png 300w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Auth-Provider-Setup-768x503.png 768w\" sizes=\"auto, (max-width: 953px) 100vw, 953px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Create External Credentials<\/h2>\n\n\n\n<p>External Credentials handle the &#8220;who&#8221; and &#8220;how&#8221; of the authentication protocol.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Search for <strong>Named Credentials<\/strong> in Setup. Click the <strong>External Credentials<\/strong> tab and click <strong>New<\/strong>.<\/li>\n\n\n\n<li><strong>Label:<\/strong> <code>Google Meet External Credential<\/code><\/li>\n\n\n\n<li><strong>Name:<\/strong> <code>Google_Meet_External_Credential<\/code><\/li>\n\n\n\n<li><strong>Authentication Flow Type:<\/strong> Browser Flow<\/li>\n\n\n\n<li><strong>Scope:<\/strong> openid email profile https:\/\/www.googleapis.com\/auth\/calendar https:\/\/www.googleapis.com\/auth\/calendar.events<\/li>\n\n\n\n<li><strong>Authentication Provider:<\/strong> Select the <code><strong>Google Meet<\/strong><\/code> provider you just created.<\/li>\n\n\n\n<li>Click <strong>Save<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Add a Principal<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On the External Credential record you just saved, find the <strong>Principals<\/strong> section and click <strong>New<\/strong>.<\/li>\n\n\n\n<li><strong>Parameter Name:<\/strong> <code>Per User<\/code><\/li>\n\n\n\n<li><strong>Sequence:<\/strong> <code>1<\/code><\/li>\n\n\n\n<li><strong>Identity Type:<\/strong> Select <strong>Per User Principal<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Save<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"460\" src=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Setup-1024x460.png\" alt=\"Salesforce External Credential Setup\" class=\"wp-image-580\" srcset=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Setup-1024x460.png 1024w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Setup-300x135.png 300w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Setup-768x345.png 768w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Setup-1536x690.png 1536w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Setup.png 1563w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"106\" src=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Principal-Setup-1024x106.png\" alt=\"Salesforce External Credential Principal Setup\" class=\"wp-image-581\" srcset=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Principal-Setup-1024x106.png 1024w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Principal-Setup-300x31.png 300w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Principal-Setup-768x79.png 768w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Principal-Setup-1536x159.png 1536w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-External-Credential-Principal-Setup.png 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7: Create the Named Credential<\/h2>\n\n\n\n<p>This defines the &#8220;where&#8221;\u2014the actual endpoint for the Google Meet API.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In Salesforce Setup, search for <strong><strong>Named Credentials<\/strong><\/strong> and click <strong>New<\/strong>.<\/li>\n\n\n\n<li><strong>Label:<\/strong> <code>Google Meet API<\/code><\/li>\n\n\n\n<li><strong>Name:<\/strong> <code>Google_Meet_API<\/code><\/li>\n\n\n\n<li><strong>URL:<\/strong> <code>https:\/\/meet.googleapis.com<\/code><\/li>\n\n\n\n<li><strong>External Credential:<\/strong> Select <code><strong>Google Meet External Credential<\/strong><\/code> you just created.<\/li>\n\n\n\n<li><strong>Generate Authorization Header:<\/strong> Keep this <strong>checked<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Save<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"508\" src=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Named-Credentials-Setup-1024x508.png\" alt=\"Salesforce Named Credentials Setup\" class=\"wp-image-582\" srcset=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Named-Credentials-Setup-1024x508.png 1024w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Named-Credentials-Setup-300x149.png 300w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Named-Credentials-Setup-768x381.png 768w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Named-Credentials-Setup-1536x763.png 1536w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Salesforce-Named-Credentials-Setup.png 1569w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 8: Grant Access via Permission Set<\/h2>\n\n\n\n<p>In the new External Credentials model, no one (not even admins) can use the credential until it\u2019s assigned via a Permission Set.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In Salesforce Setup, Go to <strong>Permission Sets<\/strong> and click <strong>New<\/strong>.<\/li>\n\n\n\n<li><strong>Label:<\/strong> <code>Google_Meet_Access<\/code><\/li>\n\n\n\n<li><strong>Save<\/strong> the permission set.<\/li>\n\n\n\n<li>Click <strong>External Credential Principal Access<\/strong> in the permission set settings.<\/li>\n\n\n\n<li>Click <strong>Edit<\/strong>, add <code><strong>Google_Meet_External_Credential - Per User<\/strong><\/code> to the enabled list, and click <strong>Save<\/strong>.<\/li>\n\n\n\n<li><strong>Assign<\/strong> this Permission Set to yourself.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Step 9: Apex Class &amp; LWC to Create Google Meet Link<\/h2>\n\n\n\n<p>Time to bring it to life on the UI! Since LWC can\u2019t directly use Named Credentials for security reasons, we need a middleman an <strong>Apex Controller<\/strong> to handle the API callout, and then the LWC to display the results. Befor that please create GoogleMeet_Session__c custom object and fields to store the session records or customize the following code as per your needs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"312\" src=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Google-Meet-Widget-1024x312.png\" alt=\"Google Meet Widget\" class=\"wp-image-583\" srcset=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Google-Meet-Widget-1024x312.png 1024w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Google-Meet-Widget-300x91.png 300w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Google-Meet-Widget-768x234.png 768w, https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Google-Meet-Widget.png 1251w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>The Apex Controller (<code>GoogleMeetController.cls<\/code>)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public with sharing class GoogleMeetController {\n    \n    @AuraEnabled\n    public static SessionResponse createGoogleMeetSession(String objectType, Id recordId, String title, Integer durationMinutes) {\n        Datetime startTime = Datetime.now();\n        Datetime endTime = Datetime.now().addMinutes(durationMinutes);\n        Map&lt;String, Object> event = new Map&lt;String, Object>{\n            'summary' => title,\n                'description' => 'This Google Meet was created from Salesforce LWC.',\n                'start' => new Map&lt;String, String>{ 'dateTime' => startTime.formatGMT('yyyy-MM-dd\\'T\\'HH:mm:ss\\'Z\\'') },\n                    'end' => new Map&lt;String, String>{ 'dateTime' => endTime.formatGMT('yyyy-MM-dd\\'T\\'HH:mm:ss\\'Z\\'') },\n                        'conferenceData' => new Map&lt;String, Object>{\n                            'createRequest' => new Map&lt;String, Object>{\n                                'requestId' => String.valueOf(System.currentTimeMillis()),\n                                    'conferenceSolutionKey' => new Map&lt;String, String>{ 'type' => 'hangoutsMeet' }\n                            }\n                        }\n        };\n            \n        HttpRequest req = new HttpRequest();\n        req.setEndpoint('callout:Google_Meet_API\/calendar\/v3\/calendars\/primary\/events?conferenceDataVersion=1');\n        req.setMethod('POST');\n        req.setHeader('Content-Type', 'application\/json');\n        req.setBody(JSON.serialize(event));\n        system.debug('GoogleMeetController -> createGoogleMeetSession -> Request:' + JSON.serialize(event));\n        Http http = new Http();\n        HTTPResponse res = http.send(req);\n        \n        if (res.getStatusCode() == 200 || res.getStatusCode() == 201) {\n            system.debug('GoogleMeetController -> createGoogleMeetSession -> Body:' + res.getBody());\n            Map&lt;String, Object> result = (Map&lt;String, Object>) JSON.deserializeUntyped(res.getBody());\n            GoogleMeetModel meetModel = parse(result);\n            \n            GoogleMeet_Session__c session = new GoogleMeet_Session__c(\n                    GoogleMeet_Id__c = meetModel.googleMeetId,\n                    Meeting_Url__c = meetModel.meetingUrl,\n                    Start_Time__c = startTime,\n                    End_Time__c = endTime,\n                    Summary__c = meetModel.summary,\n                    Object_Type__c = objectType,\n                    Record_Id__c = recordId\n                );\n                insert session;\n            \n                SessionResponse response = new SessionResponse();\n                response.meetingUrl = meetModel.meetingUrl;\n                response.sessionId = session.Id;\n            \treturn response;\n        }\n        throw new AuraHandledException('Failed to create Google Meet. Status: ' + res.getStatus() + ', Body: ' + res.getBody());\n    }\n    \n    @AuraEnabled\n    public static void endGoogleMeetSession(Id sessionId) {\n        if (sessionId == null) {\n            throw new AuraHandledException('Session Id is required.');\n        }\n    \n        GoogleMeet_Session__c session = new GoogleMeet_Session__c(\n            Id = sessionId,\n            End_Time__c = Datetime.now()\n        );\n    \n        update session;\n    }\n    \n    private static GoogleMeetModel parse(Map&lt;String, Object> result) {\n        GoogleMeetModel model = new GoogleMeetModel();\n\n        try {\n            if (result == null || result.isEmpty()) {\n                throw new AuraHandledException('Invalid Google Meet response.');\n            }\n\n            model.googleMeetId = (String) result.get('id');\n            model.summary = (String) result.get('summary');\n\n            \/\/ Extract Google Meet URL\n            if (result.containsKey('conferenceData')) {\n                Map&lt;String, Object> confData = (Map&lt;String, Object>) result.get('conferenceData');\n                if (confData.containsKey('entryPoints')) {\n                    List&lt;Object> entryPoints = (List&lt;Object>) confData.get('entryPoints');\n                    for (Object ep : entryPoints) {\n                        Map&lt;String, Object> entry = (Map&lt;String, Object>) ep;\n                        if (entry.get('entryPointType') == 'video') {\n                            model.meetingUrl = (String) entry.get('uri');\n                            break;\n                        }\n                    }\n                }\n            }\n\n        } catch (Exception e) {\n            System.debug('GoogleMeetController.parse Error: ' + e.getMessage());\n            throw new AuraHandledException('Failed to parse Google Meet response: ' + e.getMessage());\n        }\n\n        return model;\n    }\n    \n    private class GoogleMeetModel {\n        public String googleMeetId { get; set; }\n        public String meetingUrl { get; set; }\n        public String summary { get; set; }\n    }\n    \n     public class SessionResponse {\n        @AuraEnabled public String meetingUrl;\n        @AuraEnabled public Id sessionId;\n    }\n\n}<\/code><\/pre>\n\n\n\n<p><strong>The LWC HTML (<code>googleMeetWidget.html<\/code>)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;template>\n    &lt;article class=\"slds-card slds-card_container\">\n        &lt;div class=\"slds-card__header slds-grid\">\n            &lt;header class=\"slds-media slds-media_center slds-has-flexi-truncate\">\n                &lt;div class=\"slds-media__figure slds-m-around_none\">\n                    &lt;img src={googleMeetIconUrl} alt=\"Google Meet\" class=\"meet-icon\" \/>\n                &lt;\/div>\n                &lt;div class=\"slds-media__body\">\n                    &lt;h2 class=\"slds-card__header-title\">\n                        Google Meet\n                    &lt;\/h2>\n                &lt;\/div>\n            &lt;\/header>\n        &lt;\/div>\n        &lt;div class=\"slds-card__body slds-p-around_small slds-m-bottom_large\">\n            &lt;div class=\"slds-tile__detail\">\n                &lt;template if:false={meetLink}>\n                    &lt;lightning-input \n                        label=\"Meeting Title\" \n                        value={meetingTitle} \n                        onchange={handleTitleChange}\n                        placeholder=\"Enter title\"\n                        class=\"slds-m-bottom_small\">\n                    &lt;\/lightning-input>\n\n                    &lt;lightning-combobox\n                        name=\"duration\"\n                        label=\"Meeting Duration\"\n                        value={selectedDuration}\n                        placeholder=\"Select Duration\"\n                        options={durationOptions}\n                        onchange={handleDurationChange}\n                        class=\"slds-m-bottom_medium\">\n                    &lt;\/lightning-combobox>\n\n                    &lt;lightning-button \n                        label=\"Start Live Call\" \n                        variant=\"brand\" \n                        onclick={handleStartCall}\n                        disabled={isLoading}\n                        class=\"slds-align_absolute-center\">\n                    &lt;\/lightning-button>\n                    &lt;template if:true={isLoading}>\n                        &lt;lightning-spinner alternative-text=\"Creating Meeting...\" size=\"small\">&lt;\/lightning-spinner>\n                    &lt;\/template>\n                &lt;\/template>\n\n                &lt;template if:true={meetLink}>\n                    &lt;div class=\"slds-box slds-theme_shade slds-m-vertical_medium slds-p-around_small slds-grid slds-grid_align-spread\">\n                        &lt;lightning-formatted-url value={meetLink} label={meetLink}>&lt;\/lightning-formatted-url>\n                        &lt;lightning-button-icon icon-name=\"utility:copy\" alternative-text=\"Copy\" title=\"Copy\" onclick={copyLink}>&lt;\/lightning-button-icon>\n                    &lt;\/div>\n\n                    &lt;div class=\"slds-m-top_small slds-align_absolute-center\">\n                        &lt;lightning-button label=\"Join Now\" variant=\"brand\" icon-name=\"utility:add\" class=\"slds-m-right_small\" onclick={openMeet}>&lt;\/lightning-button>\n                        &lt;lightning-button label=\"End Session\" variant=\"destructive\" icon-name=\"utility:stop\" onclick={endSession}>&lt;\/lightning-button>\n                    &lt;\/div>\n                &lt;\/template>\n            &lt;\/div>\n        &lt;\/div>\n    &lt;\/article>\n&lt;\/template><\/code><\/pre>\n\n\n\n<p><strong>The LWC JavaScript (<code><code>googleMeetWidget<\/code>.js<\/code>)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { LightningElement, api, track } from 'lwc';\nimport { ShowToastEvent } from 'lightning\/platformShowToastEvent';\nimport createGoogleMeetSession from '@salesforce\/apex\/GoogleMeetController.createGoogleMeetSession';\nimport endGoogleMeetSession from '@salesforce\/apex\/GoogleMeetController.endGoogleMeetSession';\nimport googleMeetIcon from '@salesforce\/resourceUrl\/googleMeetIcon';\n\nexport default class GoogleMeetWidget extends LightningElement {\n    @api recordId;\n    @api objectApiName;\n    @track meetLink;\n    @track sessionId;\n    @track isLoading = false;\n    @track meetingTitle = 'Google Meet Live Call';\n    @track selectedDuration = '15';    \n    googleMeetIconUrl = googleMeetIcon;\n    jQueryLoaded = false;\n\n    async handleStartCall() {\n        this.isLoading = true;\n        try {\n            const result = await createGoogleMeetSession({\n                objectType: this.objectApiName,\n                recordId: this.recordId,\n                title: this.meetingTitle,\n                durationMinutes: parseInt(this.selectedDuration, 10)\n            });\n            this.meetLink = result.meetingUrl;\n            this.sessionId = result.sessionId;\n            this.showToast('Success', 'Google Meet link created successfully.', 'success');\n        } catch (error) {\n            console.error('Error creating Google Meet:', error);\n            this.showToast('Error', 'Failed to create Google Meet. Check logs.', 'error');\n        } finally {\n            this.isLoading = false;\n        }\n    }\n\n    openMeet() {\n        if (this.meetLink) {\n            window.open(this.meetLink, '_blank');\n        }\n    }\n\n    copyLink() {\n        if (this.meetLink) {\n            if (navigator.clipboard &amp;&amp; navigator.clipboard.writeText) {\n                navigator.clipboard.writeText(this.meetLink)\n                    .then(() => {\n                        this.showToast('Success', 'Meeting link copied to clipboard!', 'success');\n                    })\n                    .catch((err) => {\n                        console.error('Clipboard error:', err);\n                        this.fallbackCopy(this.meetLink);\n                    });\n            } else {\n                this.fallbackCopy(this.meetLink);\n            }\n        }\n    }\n\n\n    fallbackCopy(text) {\n        try {\n            const textarea = document.createElement('textarea');\n            textarea.value = text;\n            textarea.style.position = 'fixed';\n            textarea.style.opacity = '0';\n            document.body.appendChild(textarea);\n            textarea.select();\n            document.execCommand('copy');\n            document.body.removeChild(textarea);\n            this.showToast('Success', 'Meeting link copied to clipboard!', 'success');\n        } catch (err) {\n            console.error('Fallback copy failed:', err);\n            this.showToast('Error', 'Unable to copy link. Please copy manually.', 'error');\n        }\n    }\n\n    endSession() {\n        endGoogleMeetSession({ sessionId: this.sessionId })\n        .then(() => {\n            this.showToast('Session Ended', 'You can start a new live call now.', 'info');\n            this.meetLink = null;\n            this.isLoading = false;\n        })\n        .catch(error => {\n            this.showToast('Error', 'Error in session end please contact system administrator.', 'error');\n        });\n    }\n\n    showToast(title, message, variant) {\n        this.dispatchEvent(\n            new ShowToastEvent({\n                title,\n                message,\n                variant,\n                mode: 'dismissable'\n            })\n        );\n    }\n\n    durationOptions = &#91;\n        { label: '5 Minutes', value: '5' },\n        { label: '10 Minutes', value: '10' },\n        { label: '15 Minutes', value: '15' },\n        { label: '20 Minutes', value: '20' },\n        { label: '25 Minutes', value: '25' },\n        { label: '30 Minutes', value: '30' }\n    ];\n\n    handleTitleChange(event) {\n        this.meetingTitle = event.target.value;\n    }\n\n    handleDurationChange(event) {\n        this.selectedDuration = event.detail.value;\n    }\n}<\/code><\/pre>\n\n\n\n<p><strong>Component Metadata (<code><code><code>googleMeetWidget<\/code><\/code>.js-meta.xml<\/code>)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\"?>\n&lt;LightningComponentBundle xmlns=\"http:\/\/soap.sforce.com\/2006\/04\/metadata\">\n\t&lt;apiVersion>63.0&lt;\/apiVersion>\n\t&lt;isExposed>true&lt;\/isExposed>\n\t&lt;targets>\n\t\t&lt;target>lightning__RecordPage&lt;\/target>\n\t&lt;\/targets>\n&lt;\/LightningComponentBundle><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>Integrating Google Meet with Salesforce enables teams to create and join meetings directly from the Salesforce platform, eliminating context switching and improving productivity. In this blog, we walked through the complete foundation required to achieve this integration\u2014from setting up a Google Cloud project and enabling the necessary APIs, to configuring OAuth authentication in Salesforce using Auth Providers, External Credentials, and Named Credentials.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Read More<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/salesforce-lightning-record-picker-your-complete-guide\/\">Salesforce Lightning Record Picker: Your Complete Guide<\/a><\/li>\n\n\n\n<li><a href=\"\/blog\/salesforce-lightning-design-system-2\/\">Salesforce Lightning Design System 2<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Salesforce is the backbone of many sales and support teams, while Google Meet is a go-to platform for&#8230;<\/p>\n","protected":false},"author":2,"featured_media":584,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,28],"tags":[35,17,34,36],"class_list":["post-574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce-admin","category-salesforce-developer","tag-apex","tag-automation","tag-googlemeet","tag-lwc"],"featured_image_src":"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/how-to-integrate-google-meet-with-salesforce.png","author_info":{"display_name":"Irfan Khatri","author_link":"https:\/\/www.irfankhatri.com\/blog\/author\/irfankhatri\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Integrate Google Meet with Salesforce - Irfan Khatri<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Integrate Google Meet with Salesforce - Irfan Khatri\" \/>\n<meta property=\"og:description\" content=\"Salesforce is the backbone of many sales and support teams, while Google Meet is a go-to platform for...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/\" \/>\n<meta property=\"og:site_name\" content=\"Irfan Khatri\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-07T18:19:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-07T18:19:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Integrate-Google-Meet-with-Salesforce-Architecture-Diagram.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"875\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Irfan Khatri\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Irfan Khatri\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/\"},\"author\":{\"name\":\"Irfan Khatri\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/#\\\/schema\\\/person\\\/592b5a4aabd186266009170ece2bb105\"},\"headline\":\"How to Integrate Google Meet with Salesforce\",\"datePublished\":\"2026-02-07T18:19:19+00:00\",\"dateModified\":\"2026-02-07T18:19:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/\"},\"wordCount\":933,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-to-integrate-google-meet-with-salesforce.png\",\"keywords\":[\"APEX\",\"Automation\",\"GoogleMeet\",\"LWC\"],\"articleSection\":[\"Salesforce Admin\",\"Salesforce Developer\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/\",\"url\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/\",\"name\":\"How to Integrate Google Meet with Salesforce - Irfan Khatri\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-to-integrate-google-meet-with-salesforce.png\",\"datePublished\":\"2026-02-07T18:19:19+00:00\",\"dateModified\":\"2026-02-07T18:19:20+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/#\\\/schema\\\/person\\\/592b5a4aabd186266009170ece2bb105\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-to-integrate-google-meet-with-salesforce.png\",\"contentUrl\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/how-to-integrate-google-meet-with-salesforce.png\",\"width\":1020,\"height\":700,\"caption\":\"How to Integrate Google Meet with Salesforce\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/how-to-integrate-google-meet-with-salesforce\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Integrate Google Meet with Salesforce\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/\",\"name\":\"Irfan Khatri\",\"description\":\"Elevate Your Salesforce Skills with Every Read\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/#\\\/schema\\\/person\\\/592b5a4aabd186266009170ece2bb105\",\"name\":\"Irfan Khatri\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f19280c4851579ea9d5990d1776150388145c71848c65ddc5d9f691e09813bf6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f19280c4851579ea9d5990d1776150388145c71848c65ddc5d9f691e09813bf6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f19280c4851579ea9d5990d1776150388145c71848c65ddc5d9f691e09813bf6?s=96&d=mm&r=g\",\"caption\":\"Irfan Khatri\"},\"description\":\"Irfan Khatri is a skilled Salesforce Senior Consultant, specializing in delivering tailored solutions that drive efficiency and business growth. With expertise in optimizing workflows and implementing scalable systems, he is passionate about helping organizations unlock the full potential of Salesforce to achieve their goals.\",\"sameAs\":[\"https:\\\/\\\/www.irfankhatri.com\\\/\"],\"url\":\"https:\\\/\\\/www.irfankhatri.com\\\/blog\\\/author\\\/irfankhatri\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Integrate Google Meet with Salesforce - Irfan Khatri","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/","og_locale":"en_US","og_type":"article","og_title":"How to Integrate Google Meet with Salesforce - Irfan Khatri","og_description":"Salesforce is the backbone of many sales and support teams, while Google Meet is a go-to platform for...","og_url":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/","og_site_name":"Irfan Khatri","article_published_time":"2026-02-07T18:19:19+00:00","article_modified_time":"2026-02-07T18:19:20+00:00","og_image":[{"width":1024,"height":875,"url":"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/Integrate-Google-Meet-with-Salesforce-Architecture-Diagram.jpg","type":"image\/jpeg"}],"author":"Irfan Khatri","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Irfan Khatri","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#article","isPartOf":{"@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/"},"author":{"name":"Irfan Khatri","@id":"https:\/\/www.irfankhatri.com\/blog\/#\/schema\/person\/592b5a4aabd186266009170ece2bb105"},"headline":"How to Integrate Google Meet with Salesforce","datePublished":"2026-02-07T18:19:19+00:00","dateModified":"2026-02-07T18:19:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/"},"wordCount":933,"commentCount":0,"image":{"@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#primaryimage"},"thumbnailUrl":"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/how-to-integrate-google-meet-with-salesforce.png","keywords":["APEX","Automation","GoogleMeet","LWC"],"articleSection":["Salesforce Admin","Salesforce Developer"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/","url":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/","name":"How to Integrate Google Meet with Salesforce - Irfan Khatri","isPartOf":{"@id":"https:\/\/www.irfankhatri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#primaryimage"},"image":{"@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#primaryimage"},"thumbnailUrl":"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/how-to-integrate-google-meet-with-salesforce.png","datePublished":"2026-02-07T18:19:19+00:00","dateModified":"2026-02-07T18:19:20+00:00","author":{"@id":"https:\/\/www.irfankhatri.com\/blog\/#\/schema\/person\/592b5a4aabd186266009170ece2bb105"},"breadcrumb":{"@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#primaryimage","url":"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/how-to-integrate-google-meet-with-salesforce.png","contentUrl":"https:\/\/www.irfankhatri.com\/blog\/wp-content\/uploads\/2026\/02\/how-to-integrate-google-meet-with-salesforce.png","width":1020,"height":700,"caption":"How to Integrate Google Meet with Salesforce"},{"@type":"BreadcrumbList","@id":"https:\/\/www.irfankhatri.com\/blog\/how-to-integrate-google-meet-with-salesforce\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.irfankhatri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Integrate Google Meet with Salesforce"}]},{"@type":"WebSite","@id":"https:\/\/www.irfankhatri.com\/blog\/#website","url":"https:\/\/www.irfankhatri.com\/blog\/","name":"Irfan Khatri","description":"Elevate Your Salesforce Skills with Every Read","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.irfankhatri.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.irfankhatri.com\/blog\/#\/schema\/person\/592b5a4aabd186266009170ece2bb105","name":"Irfan Khatri","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f19280c4851579ea9d5990d1776150388145c71848c65ddc5d9f691e09813bf6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f19280c4851579ea9d5990d1776150388145c71848c65ddc5d9f691e09813bf6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f19280c4851579ea9d5990d1776150388145c71848c65ddc5d9f691e09813bf6?s=96&d=mm&r=g","caption":"Irfan Khatri"},"description":"Irfan Khatri is a skilled Salesforce Senior Consultant, specializing in delivering tailored solutions that drive efficiency and business growth. With expertise in optimizing workflows and implementing scalable systems, he is passionate about helping organizations unlock the full potential of Salesforce to achieve their goals.","sameAs":["https:\/\/www.irfankhatri.com\/"],"url":"https:\/\/www.irfankhatri.com\/blog\/author\/irfankhatri\/"}]}},"_links":{"self":[{"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/posts\/574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/comments?post=574"}],"version-history":[{"count":3,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/posts\/574\/revisions"}],"predecessor-version":[{"id":585,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/posts\/574\/revisions\/585"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/media\/584"}],"wp:attachment":[{"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/media?parent=574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/categories?post=574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.irfankhatri.com\/blog\/wp-json\/wp\/v2\/tags?post=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}