Skip to content

jcbendernh/CopilotGenieAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 

Repository files navigation

CopilotGenieAgent

Summary

This repository contains a Power Apps solution file that creates a Copilot Agent integrated with a Power Automate Agent Flow. The solution enables seamless connectivity to a Databricks Genie space, allowing users to interact with data and analytics through a conversational AI interface.

Copilot Genie Architecture

Solution Components

The solution file in the src directory is based off of the Copilot-and-Genie repository posted by Valter Herman and Melissa Lacefield. They have documented many of the steps needed to import and configure the solution.

The key components of the solution file are the following:

Name Description
Databricks Genie Agent This is the Copilot Studio Agent that we will use in the chat with your data scenario
Ask Databricks Genie This is the Agent Flow that is embedded into the Databricks Genie Agent under Tools. It handles the communication with the Databricks Genie Space.
Azure Key Vault Connection This is used within the Ask Databricks Genie agent flow to communicate with Azure Key Vault to retrieve the Tenant ID, Service Principal App ID, and Service Principal Client Secret.
Summarize JSON String This AI Model is used within the Ask Databricks Genie agent flow.
Databricks Workspace URL This is saved as an environmental value within Dataverse and is called in the Ask Databricks Genie agent flow.
Genie Space ID This is saved as an environmental value within Dataverse and is called in the Ask Databricks Genie agent flow.

NOTE: Before you import the solution into PowerApps, you will need to create a Key Vault Connection and have it validated, otherwise the solution will fail during the import process. Go to https://make.powerapps.com/ and click on Connections and click + New connection to add the Key Vault Connection to your Power Apps environment beforehand.

This uses a Microsoft Entra Service Principal, you will need to add the Microsoft Entra Service Principal to Databricks and give it the following permissions in Databricks to Utilize the Genie Spaces.

  • Genie Space:
    • CAN USE
  • SQL Warehouse:
    • CAN USE
  • Unity Catalog:
    • USE CATALOG
    • USE SCHEMA
    • SELECT on tables/views

For more information on this topic, check out Manage service principals

You will also need to add the Service Principal App ID, Service Principal Client Secret and Tenant ID as client secrets to Azure Key Vault. The user adding these will need the Key Vault Secrets Officer and the Key Vault Contributor RBAC permissions in Kay Vault.

The user running this will need to the Key Vault Secrets User RBAC permission in Key Vault to utilize the Cloud Flow.

About

Power Apps solution that deploys a Copilot Studio “Databricks Genie Agent” and an embedded Power Automate agent flow to query a Databricks Genie space securely using Azure Key Vault.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors