Skip to main content
Rootly’s Google Meet integration eliminates the friction of setting up incident calls. When an incident is declared, Rootly automatically creates a Google Meet room, sends calendar invites to the right people, and posts the link to your Slack channel. The integration supports both personal OAuth connections for quick setup and Google Cloud Service Accounts for production environments where you need domain-wide access and stability.
Google Meet integration in action

Features

Automatic Meeting Creation

Instantly create a Google Meet room when an incident is declared, no manual setup required.

Slack Integration

The Meet link is automatically posted to your incident Slack channel so responders can join immediately.

Calendar Invites

Send calendar invites to incident responders so everyone has the meeting on their schedule.

AI Meeting Capture

Enable automatic recording, transcription, and AI-generated summaries of incident calls.

How It Works

1

Incident Triggers Workflow

When an incident is created, your configured workflows run automatically based on severity, type, or team ownership.
2

Google Meet Room Created

A meeting is generated with the incident details added to the title and description.
3

Calendar Invites Sent

Everyone who needs to join gets a calendar invite automatically.
4

Links Shared Everywhere

The Meet link is posted to your Slack channel, status pages, and other configured tools.

Meeting Scribe on Google Meet

The Google Meet integration powers Rootly AI Meeting Scribe on your Google Meet incident bridges — automatic recording, live transcription, PII-redacted transcripts, and Rootly AI meeting summaries fed straight into the incident. To enable:
  1. Go to Integrations → Google Meet in Rootly.
  2. Toggle on Meeting transcript and summary.
  3. Connect via a Google Cloud Service Account (recommended for production). Personal-OAuth connections work for testing but tie the scribe to one user — when that user leaves or their token expires, scribe stops joining meetings.
  4. Verify your Google Workspace Meet safety admin settings. Restrictive host-management policies can silently block the scribe from being admitted. See troubleshooting below.
Google Meet without a service account is the number-one reason customers report “the scribe won’t join our calls.” Set up the service account before rolling it out broadly.
Running into issues? See Google Meet Meeting Scribe Troubleshooting for admission failures, service-account setup, and admin-console settings.

Before You Begin

Before you start, you’ll need:
  • A Rootly account with Admin permissions to manage integrations
  • For OAuth: A Google account with Google Meet enabled
  • For Service Account: Access to Google Cloud Console and Google Admin Console
Rootly recommends integrating with a service account rather than a personal account. This ensures the integration continues to work even if a user leaves your organization.

Installation

You can use OAuth for quick setup with a personal account, or a Google Cloud Service Account for production environments that need domain-wide access. After completing these steps, you can configure workflows to automatically create Google Meet rooms when incidents are declared.

OAuth Setup

Best for quick testing or evaluating Rootly before a full organizational rollout.
1

Open the Integrations Catalog

Navigate to Configuration → Integrations in the Rootly sidebar.
Rootly sidebar showing Configuration and Integrations menu
2

Find and Set Up Google Meet

Search for Google Meet and click Setup.
Google Meet in the integrations catalog
3

Choose OAuth and Select Your Google Account

Select OAuth as your connection method, then choose the Google account you want to connect.
Google account selection screen
4

Grant Permissions and Complete Setup

Approve the requested permissions. You’ll be redirected back to Rootly once the connection is established.
Google OAuth permission request
Your Google Meet account is now connected. Head to the Workflows page to configure automated meeting creation.

Service Account Setup

Use a Google Cloud Service Account if you’re connecting on behalf of your entire organization. This method ensures the integration keeps running even if a user leaves the company.
1

Create a Service Account in Google Cloud Console

In Google Cloud Console, navigate to IAM & Admin → Service Accounts and click Create Service Account.
Google Cloud Console IAM and Admin menu
Service Accounts list in Google Cloud Console
2

Fill In Service Account Details

Enter the service account name and ID. Click Done to create the account, then click on the new account’s email to open its details.
Create service account form
Service account details page
Service account email selected to open details
3

Generate a JSON Key

Navigate to the Keys tab and click Add Key → Create New Key. Select JSON as the key type and click Create. A .json file will be downloaded — keep this safe.
Service account Keys tab
Create new key dialog with JSON selected
4

Upload the JSON Key to Rootly

Return to Rootly’s Google Meet setup screen and upload the .json file you just downloaded.
JSON key upload screen in Rootly
In Acts as user, enter the email address of a real, active user in the Google Workspace domain your domain-wide delegation scopes cover. The service account impersonates this user when it creates Meet calls. This field is required for service account connections, and is not used by OAuth connections.Use a dedicated, non-personal workspace account here (for example rootly-meet@yourcompany.com) rather than an individual’s account, and exclude it from offboarding so it isn’t deactivated when someone leaves.Once uploaded, you’ll see a confirmation that your Google Meet account has been connected.
Google Meet integration connected successfully
Domain-wide delegation of authority has not yet been configured. Without granting the necessary domain-wide access, API requests will fail with a 403 Forbidden error.
5

Configure Domain-Wide Delegation

In Google Admin Console, go to Security → API Controls → Domain-wide Delegation. Select your service account and add a new API client.Enter your service account’s Client ID (found in GCP Console under the service account’s details) and add the following OAuth scopes:
The calendar scopes are required for creating calendar events with Meet links attached.
6

Authorize Domain-Wide Delegation

Click Authorize to save the configuration. Changes may take 10–15 minutes to propagate through Google’s systems.
Your Google Meet integration is now fully configured. Head to the Workflows page to set up automated meeting creation.

Why Production Should Use a Service Account

The single biggest lever for reliable Google Meet scribe behavior is connecting via a Google Cloud Service Account rather than personal OAuth.
The Acts as user account still has to stay active. A service account survives staff turnover because the credentials, the delegation grant and the scopes all stay valid, but if the impersonated user is deactivated or deleted, meeting creation fails until you point Acts as user at another active user. That’s a one-field change in Rootly, with no key re-upload and no new delegation grant in the Google Admin Console.
Fix if you’re on personal OAuth: Reconnect the integration via a service account. See Google Meet → Installation for the setup flow.

Creating the Incident Meeting

You can automate Google Meet room creation in two ways:

Auto-Create Incident Call

Automatically create a Google Meet room at incident start using built-in settings — no workflow required.

Custom Workflow

Use workflows for conditional or advanced meeting automation with full control over triggers and actions.

Option 1: Auto-Create Incident Call

The Auto-Create Incident Call panel lets you automatically generate a Google Meet room whenever an incident begins, without building a workflow from scratch.
Auto-Create Incident Call panel in Rootly
It includes a full set of configuration options so you can control how the room is created, where it’s shared, and what Google Meet features are enabled. These settings let you control exactly how Google Meet calls behave during incidents.
Automatically spin up a meeting the moment an incident opens.
Toggle for creating Google Meet call on incident start
Add the meeting link as a bookmark in the incident’s Slack channel.
Toggle for bookmarking Google Meet call in Slack
Announce new incident calls in specific Slack channels.
Slack channel notification settings for Google Meet
Enable AI-powered recording, transcription, and summary generation.
Meeting transcript and summary settings
Use Auto-Create when you want instant, zero-configuration Google Meet automation. Build a custom workflow when you need conditions, multiple actions, or advanced routing logic.

Option 2: Creating a Custom Workflow

For teams that need conditional logic — such as only creating calls for SEV-1 incidents or specific teams — a custom workflow gives you full control.
1

Open Workflows

Go to Rootly → Workflows → Create Workflow.
Rootly workflows page
Create workflow button
2

Choose Workflow Type

Select your workflow type — typically Incident for meeting automation.
Workflow type selection showing Incident, Retrospective, and Pulse options
3

Configure Triggers

Triggers define when this workflow should run. Choose the event that should kick off your Google Meet room creation.
Workflow trigger configuration options
4

Add Conditions (Optional)

Conditions control when the workflow should or shouldn’t run after being triggered. Use conditions to narrow the scope of your automation.
Workflow conditions panel showing filter options
Examples:
  • Severity-based — Only create calls for SEV-1 or SEV-2 incidents
  • Team or service filters — Only for incidents impacting specific teams
  • Incident type filtering — Only when the incident kind is set to Incident (not Maintenance)
5

Add Google Meet Action

Click Add Action → Google Meet → Create Room. Configure the action settings that appear.
Add action button in workflow editor
Google Meet Create room action in action picker
Google Meet action configuration with AI Meeting Capture option
Enable AI Meeting Capture to have Rootly AI automatically capture and summarize the meeting.
6

Save the Workflow

Click Add, give your workflow a descriptive name, and click Create Workflow.

Variable Reference

Use these variables in workflow notifications, Slack messages, and calendar event templates.

Google Meet Variables

Incident Variables

Use the Liquid Variable Explorer to test variables with real incident data before using them in production.

Example Templates

Include the Google Meet link in a Slack message automatically when an incident is created:

Troubleshooting

Error: “Failed to authenticate with Google”
  • Verify you’re using the correct Google account
  • Check that your account has Google Meet enabled
  • For OAuth: Try incognito mode to avoid account conflicts
  • For Service Account: Verify the JSON key file is valid and not expired
Error: “API requests fail with 403 error”
  1. Verify domain-wide delegation is enabled in Google Admin Console
  2. Confirm all three OAuth scopes are added exactly as shown
  3. Check the Client ID matches your service account
  4. Ensure the subject email belongs to your domain
  5. Wait 10–15 minutes for Google to propagate changes
Error: “Invalid JSON key file”
  • Ensure you downloaded the JSON (not P12) format
  • Check the file hasn’t been modified or corrupted
  • Verify the service account still exists in GCP Console
  • Generate a new key if the current one is older than 90 days
Error: “Where to find Client ID for domain delegation”
  1. Go to Google Cloud Console
  2. Select your project
  3. Navigate to IAM & Admin → Service Accounts
  4. Click on your service account
  5. Find Unique ID or Client ID in the details section
Error: “Setup complete but workflows fail”
  • For Service Account: check Acts as user first. An empty field surfaces as Invalid request while the integration continues to display as connected.
  • For Service Account: if Acts as user points at a user who has been deactivated or deleted, meeting creation also fails until you point it at another active user.
  • For Service Account: domain delegation may also be missing or incomplete
  • For OAuth: Re-authenticate and ensure all permissions were granted
  • Check that Google Meet is enabled in your Google Workspace
  • Verify the integration shows Active status in Rootly

Meeting Scribe Will Not Join

Nearly every “the scribe didn’t join our call” report traces back to one of a small set of causes. Work through them in this order.

The Bot Won’t Join Google Meet Meetings

Walk through this list in order.

The integration is on personal OAuth (not a service account)

Personal-OAuth connections work but are tied to one user. If that user’s token expired or they lost calendar permissions, the scribe stops being able to admit itself to calls. Fix: Reconnect via a service account (see above).

The meeting URL wasn’t created by Rootly

The scribe is scoped to the Google Meet room Rootly created for the incident. Ad-hoc meet.google.com links or personal meeting rooms won’t be picked up. Fix: Use the meeting link Rootly pinned at the top of the incident’s Slack channel.

Google Workspace Meet safety settings block admission

This is the most common cause of “the bot says it joined but nobody can let it in.” Unless the scribe was pre-invited to the calendar event as an attendee (in which case Google typically skips the waiting room), it joins as an external participant and lands in the waiting room. When Host management is on in your Google Workspace Meet safety settings, only the meeting host and any pre-assigned co-hosts can see and admit people from the waiting room. Every other responder on the call — even responders in your own organization — sees nothing to admit. The scribe waits, nobody with permission notices, and it leaves at the 10-minute timeout.
Check who the host actually is. Google treats the calendar event’s organizer as the host, and Rootly-created events are organized by the account Rootly used to create the meeting, not by whoever declared the incident. That account depends on how you connected the integration: for service-account connections, it’s the delegated Acts as user (per Service Account Setup); for OAuth connections, it’s the connected OAuth user. Only that organizer account or a pre-assigned co-host can admit the scribe — so if neither the organizer nor a co-host is on the bridge, no one else can let it in. On OAuth connections the organizer may happen to also be a responder; on service-account connections it typically isn’t. Either way, that’s the account to check if you’re chasing this from the Google side.
Fix — pre-assign a co-host. The organizer can designate co-hosts on the calendar event so more than one person can admit from the waiting room. This is only available in the Google Calendar UI, so it’s a manual step per meeting rather than something you can automate. Fix — turn Host management off. In the Google Admin console, go to Menu → Apps → Google Workspace → Google Meet → Meet safety settings and turn Host management off for the organizational unit containing the organizer account — the service account’s Acts as user, or the OAuth-connected user, per the warning above. Applying it to responders’ OU instead of the organizer’s OU has no effect. Any participant can then admit from the waiting room.
Turning Host management off does more than open up admission. It also removes the host’s exclusive control over who can present, who can send chat messages, participant audio and video, muting all participants, ending the meeting for everyone, and assigning co-hosts. Weigh that against your meeting-security posture before changing it org-wide.

Waiting-room timeout (10 minutes)

If the scribe is stuck waiting for admission and no one lets it in, it leaves after 10 minutes. Fix: Reinvite from the Meeting tab and admit it promptly. Prevention: pre-assign a co-host or turn Host management off — see Google Workspace Meet safety settings block admission above.

Nobody-joined timeout (5 minutes)

If the scribe enters the meeting but no responders join within 5 minutes, it leaves. Fix: Start the meeting on your side first, then reinvite the bot — or wait until responders are on the call before inviting it.

The Bot Joined but Transcript Is Missing

Post-meeting processing is still running

Transcripts and Rootly AI meeting summaries generate after the call ends. Give it 5–10 minutes.

Recording started but the call ended abruptly

If the meeting host ended the call while the scribe was still in an unstable state, some of the recording may not have made it to processing. Reinvite for future sessions of the same incident if the meeting resumes.

The bot recorded a “waiting room” clip and nothing else

The bot was never admitted to the meeting — the recording is only its own waiting-room view. See the “won’t join” section above for the underlying cause.

Uninstall

To remove the Google Meet integration:
  1. Go to Configuration → Integrations and find Google Meet
  2. Click the Connected button to reveal the disconnect option
  3. Click Disconnect
Click the Connected button to reveal the Disconnect option
Disconnecting will prevent Rootly from creating new Google Meet rooms. Existing meetings and calendar events are not affected.

Frequently Asked Questions

Each incident is associated with one Google Meet room by default. If you need additional rooms, you can create sub-incidents and configure workflows to create separate rooms for each sub-incident.
Rootly does not automatically end or delete the Google Meet room when an incident is resolved. The room remains accessible through the meeting link until it expires naturally per Google Meet’s settings.
Yes. The workflow actions work the same regardless of which connection method you used during installation. The integration handles authentication transparently.

Meeting Scribe Questions

Service accounts represent your Google Workspace organization rather than a specific user. They don’t need a personal OAuth grant to keep working, they don’t lose access when someone leaves the team, and they behave consistently regardless of who declared the incident. Personal OAuth ties the scribe to whoever connected it — one departure and reliability drops.
Only one Google Meet connection is active at a time. Switch by reconnecting.
The scribe joins meetings hosted on your Google Workspace domain. Meetings hosted by an external organization (a vendor, a partner) can’t grant your scribe entry unless their admin admits it, which is unusual.
No. Meeting Scribe is scoped to your Google Workspace domain. Meetings created by a personal @gmail.com account aren’t covered.