Genie plugin for Microsoft Copilot Cowork
This feature is in Beta. Workspace admins can control access to this feature from the Previews page. See Manage Databricks previews.
The Genie plugin for Microsoft Copilot Cowork lets users ask natural-language questions about their Databricks data directly from Copilot Cowork. The plugin connects Copilot Cowork to Genie through the Genie managed MCP server provided by Databricks. This page is for Databricks account admins and Microsoft 365 admins setting up the integration. It covers configuring the OAuth connection, packaging the plugin manifest, and enabling the plugin in Copilot Cowork.
Prerequisites
Before you begin, make sure you have the following:
- A Databricks workspace with Genie enabled.
- Databricks account admin access.
- Access to the Teams Developer Portal.
- Node.js installed, which the Microsoft 365 Agents Toolkit CLI (
atk) requires. - The manifest template package. Click the following link to install: Genie Plugin for Copilot Cowork manifest template.
Step 1: Create the Databricks OAuth app connection
In your Databricks account console, create a custom OAuth app connection. See Enable custom OAuth applications using the Databricks UI for details. Use the following values for Copilot Cowork:
- Redirect URLs:
https://teams.microsoft.com/api/platform/v1.0/oAuthRedirect - Access scopes: Select All APIs.
- Client secret: Generate a client secret. After you create the connection, copy and securely store the client secret and the Client ID. You can't retrieve the client secret later.
Step 2: Create the OAuth client registration in the Teams Developer Portal
Register an OAuth client in the Teams Developer Portal using the connection details from Step 1, so Copilot Cowork can authenticate to your Databricks workspace. For more information, see the Microsoft documentation.
- In the Teams Developer Portal, go to Tools > OAuth client registration.
- Click New OAuth client registration and provide the following:
- Registration name: A descriptive name, for example,
Databricks Genie. - Base URL:
https://<workspace-hostname>, for example,https://my-workspace.cloud.databricks.com. - Restrict usage by org: Your Microsoft 365 organization.
- Restrict usage by app: Leave blank.
- Client ID: The client ID when you created a Databricks OAuth app connection.
- Client secret: The secret generated when you created a Databricks OAuth app connection.
- Authorization endpoint:
https://<workspace-hostname>/oidc/v1/authorize - Token endpoint:
https://<workspace-hostname>/oidc/v1/token - Refresh endpoint:
https://<workspace-hostname>/oidc/v1/token - Scope:
genie
- Registration name: A descriptive name, for example,
- Click Save, then copy the OAuth client registration ID to reference later.
Step 3: Configure the manifest
Update the template manifest with your app ID, workspace hostname, and OAuth registration ID.
- Unzip the manifest template package from Prerequisites, which includes
manifest.json,color.png, andoutline.png. - Open
manifest.jsonand replace the following placeholders:<YOUR_APP_ID>: Generate a new GUID. For example, runuuidgenin your terminal.<YOUR_WORKSPACE_HOSTNAME>: Your Databricks workspace hostname.<YOUR_OAUTH_REGISTRATION_ID>: The registration ID copied from Step 2.
Step 4: Package and install
Package the manifest files into a zip and install the app with the atk CLI.
-
Zip the three files together. The zip must contain them at the root directory, not inside a subfolder:
Bashcd /path/to/your/package/folder
zip package.zip manifest.json color.png outline.png -
Install the package:
Bashatk install --file-path package.zip --scope Shared
Step 5: Enable the plugin in Copilot Cowork
Connect to the Genie plugin in Copilot Cowork. For more about plugins in Copilot Cowork, see the Microsoft Documentation.
- Open Microsoft Copilot Cowork.
- Find the Databricks Genie plugin in the plugin list and turn on the toggle.
- Click Connect. When the sign-in prompt appears, authenticate with your Databricks credentials.
After you sign in, you can ask Copilot Cowork questions about your Databricks data, for example, "How many orders came in last week?"