Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
With the Google Drive Microsoft 365 Copilot connector, your organization in Microsoft 365 can index files that are accessible to anyone in Google Drive, using Microsoft 365 Copilot and Microsoft Search.
This article is for Microsoft 365 administrators or anyone who configures, runs, and monitors the Google Drive Copilot connector.
Capabilities
- Access Google Drive files using the power of semantic search.
- Retain ACLs (Access Control Lists) defined by your organization.
- Customize your crawl frequency
- Create workflows using this connection and plugins from Microsoft Copilot Studio.
Limitations
- Folder, replies & comments aren't indexable.
Prerequisites
Before you create a Google Drive Copilot connector, you must:
1. Be a Google Workspace super admin role or be granted access
Either be granted access by a super admin role or be a user with administrative privileges. You do not need a super admin role for yourself if you have access granted by a super admin role.
Check the user permission in the admin console: Admin center/manage user/user detail.
2. Create a Google Cloud Project
The Google Drive Copilot connector requires a service account key generated by a Google Cloud Platform console project. You can use an existing project you own or follow the following steps to create a new project:
a. Go to the Manage resources page in the Google Cloud Platform console and click Create Project.
b. In the New Project window that appears, add any project name, organization, and location of your choosing.
c. Note the project ID (which is directly below the project name) as you'll need it when enabling APIs in step 3.
d. Click Create.
3. Enable the required API
In the project you created or in your existing project, ensure the following APIs are enabled by going to the link (replacing PROJECT_ID with your project ID) and clicking Enable if not already enabled:
Admin SDK API (admin.googleapis.com)
https://console.developers.google.com/apis/api/admin.googleapis.com/overview?project=[PROJECT_ID]
Drive API (drive.googleapis.com)
https://console.developers.google.com/apis/api/drive.googleapis.com/overview?project=[PROJECT_ID]
4. Create a Google Cloud Service Account
a. Go to the Service Accounts page in the Google Cloud Platform console and click the project you created.
b. Click Create Service Account.
c. Enter the service account name, ID, and description (optional), then click Create and Continue.
Note
The project should be automatically populated from the name.
d. Skip Grant this service account access to project and Grant users access to this service account. Click Done.
e. Back on the Service Accounts page for your project, you should now be able to see the service account that was created. Click the three dots below Actions and click Manage Keys.
f. Click Add Key > Create New Key. In the panel that appears, select the key type JSON, then click Create.
g. A private JSON key is saved to your computer.
5. Add the OAuth scopes to your service account
a. Go to Google Workspace Admin console and click Security > Access and data control > API controls in main menu.
b. Click MANAGE DOMAIN WIDE DELEGATION in the section Domain wide delegation:
c. Click Add new to add required scopes to the service account:
OAuth scopes (comma-delimited)
https://www.googleapis.com/auth/admin.directory.user.readonly
https://www.googleapis.com/auth/admin.directory.group.readonly
https://www.googleapis.com/auth/drive.readonly
Note
How to obtain Client ID?
Go to Google Cloud console, click service account in main menu, copy the "OAuth 2 Client ID" of the service account.
Setup
1. Display name
A display name is used to identify each reference in Copilot, helping users easily recognize the associated file or item. The display name also represents trusted content.
2. Add Google Apps domain
To sign up for Google Workspace, you need an internet domain name, like your-company.com. This domain can host a website (www.your-company.com
) and email (info@your-company.com
). For more information, see What is a domain?.
3. Provide Google Apps administrator account email
Enter the email of a Google Apps administrator account in the user@company.com
format.
4. Service Account Key
Copy and paste the content of service account key file that you created when you authorized your Microsoft organization to access your users' Google Drive.
Note: It is not the actual key in Google admin but the contents of the json file
5. Roll out to a limited audience
Deploy this connection to a limited user base if you want to validate it in Copilot and other search surfaces before expanding the rollout to a broader audience.
For other settings, like Access permissions, Data inclusion rules, Schema, Crawl frequency, etc., we set defaults based on what works best with data in Google Drive. The default value settings are as follows.
Page | Settings | Default values |
---|---|---|
Users | Access Permissions | All files that are accessible to anyone in Google Drive are visible to all Microsoft 365 users in your tenant, from Microsoft Search or Microsoft 365 Copilot. |
Content | Index Content | All published posts and pages are selected by default. |
Content | Manage Properties | To check default properties and their schema, click here. |
Sync | Incremental Crawl | Frequency: Every 15 mins |
Sync | Full crawl | Frequency: Every day |
Custom setup
In custom setup, you can edit any of the default values for users, content, and sync.
Users
Access permissions
The Google Drive Copilot connector supports data visible to Only people with access to this data source (recommended) or Everyone. If you choose Everyone, indexed data appears in the search results for all users.
If you choose Only people with access to this data source, you need to further choose whether your users are Microsoft Entra ID-provisioned users or non-AAD users.
To identify which option is suitable for your organization:
Choose the Microsoft Entra ID option if the email ID of Google Drive users is the same as the UserPrincipalName (UPN) of users in Microsoft Entra ID.
Choose the non-AAD option if the email ID of Google Drive users is different from the UserPrincipalName (UPN) of users in Microsoft Entra ID.
Important
- If you choose Microsoft Entra ID as the type of identity source, the connector maps the email IDs of users obtained from Google Drive directly to UPN property from Microsoft Entra ID.
- If you chose "non-AAD" for the identity type, see Map your non-Azure AD Identities for instructions on mapping the identities. You can use this option to provide the mapping regular expression from email ID to UPN.
- Updates to users or groups governing access permissions are synced in full crawls only. Incremental crawls do not currently support the processing of updates to permissions.
Content
Manage properties
You can add or remove available properties from your Google Drive data source. Assign a schema, change the semantic label, and add an alias to the property. Some properties are indexed by default.
Default property | Label | Description | Schema |
---|---|---|---|
file.name | Title | File Name | Search, Query, Retrieve |
file.fileExtension | ItemType | The type of indexed item | Query, Retrieve |
file.description | A short description of the file. | ||
file.fileExtension | fileExtension | Output only. The final component of fullFileExtension. This is only available for files with binary content in Google Drive. | Query, Retrieve |
file.size | Output only. Size in bytes of blobs and first party editor files. Won't be populated for files that have no size, like shortcuts and folders. | ||
file.parents | ParentId | The ID of the parent folder containing the file.A file can only have one parent folder; specifying multiple parents isn't supported. | Query, Retrieve |
file.owners | createdBy | Output only. The owner of this file. Only certain legacy files may have more than one owner. This field isn't populated for items in shared drives | Search, Query, Retrieve |
file.owners | authors | Query, Retrieve | |
file.webViewLink | url | Output only. A link for opening the file in a relevant Google editor or viewer in a browser. | Retrieve |
file.createdTime | createdDateTime | The time at which the file was created (RFC 3339 date-time). | Query, Retrieve |
file.modifiedTime | lastModifiedDateTime | The last time the file was modified by anyone (RFC 3339 date-time). | Query, Retrieve |
file.lastModifyingUser | lastModifiedBy | Output only. The last user to modify the file. This field is only populated when the last modification was performed by a signed-in user. | Search, Query, Retrieve |
Created from fileExtension | iconUrl | A static, unauthenticated link to the file's icon. | Retrieve |
folders.name | containerName | The name of the shared drive that the file belongs to | Query, Retrieve |
folders.webViewLink | containerURL | URL to access the parent folder | Query, Retrieve |
Sync
You can configure full and incremental crawls based on the scheduling options present here. By default, incremental crawl is set for every 15 minutes, and full crawl is set for every day. If needed, you can adjust these schedules to fit your data refresh needs.
Troubleshooting
Invalid credentials detected. Check the credential info and check the permissions of the service account. This error occurs when the service account lacks the necessary permissions for Google Drive access. Check the credentials info of the account and ensure that they're correctly filled in on the setup page.
The required permissions for users/files are missing. Authentication error, one or more required OAuth scopes for your service account are missing. Your service account must include both API scopes:
https://www.googleapis.com/auth/admin.directory.user.readonly
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/admin.directory.group.readonly
Failed to capture file information. Ensure the workspace isn't empty and has files accessible to the admin. During the connector setup, at least one file must be present in your organization's workspace to test the connection successfully.
Next steps
After publishing your connection, you can review the status in the Connectors section of the admin center. To learn how to make updates and deletions, see Manage your connector.
If you have any other issues or want to provide feedback, reach out to us at Microsoft Graph | Support.