Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Service | Customer Service, Contact Center, Fie...
Suggested answer

Multi-Tenant Knowledge Base in Copilot Studio – Bot Can’t Read Rich Text Content

(1) ShareShare
ReportReport
Posted on by 2
Hi,
I want to build a multi-tenant knowledge base for support agents that will be accessed by a bot built in Copolit Studio. My goal is that the agents can query the bot to solve the current ticket. It is important that the bot/agent can only access the articles written for the customer and none from another customer.
I have not been able to solve the problem with the built-in knowledgebase. That's why I created my own Datavere table with the following columns:
Title
Owner 
Team
Content (I uses Multiple lines of text Rich text as Datatype so that you can write long articles) 
I have included the table as knowledge in copilot studio. When I ask the AI which articles are available, it tells me the titles of the existing articles. However, it cannot access the rich text to give me explicit answers
Can anyone help me or has an alternative solution?
 
  • Suggested answer
    Daivat Vartak (v-9davar) Profile Picture
    4,709 Super User 2025 Season 1 on at
    Multi-Tenant Knowledge Base in Copilot Studio – Bot Can’t Read Rich Text Content
    Hello TK-25031055-0,
     

    You've outlined a common challenge when building a multi-tenant knowledge base with Copilot Studio and Dataverse: ensuring data isolation and effective retrieval of rich text content. Let's break down the issues and explore solutions.

    Understanding the Problem:

    • Multi-Tenancy: You need to restrict access to knowledge base articles based on customer/tenant.
    • Copilot Studio and Dataverse: You're using Copilot Studio to connect to a custom Dataverse table for your knowledge base.
    • Rich Text Retrieval: Copilot Studio is struggling to extract meaningful answers from the rich text content in your Dataverse table.
    • Dataverse Security: You need to ensure that the bot/agent can only access the appropriate articles.

    •  

    Solutions and Recommendations:

    1. Dataverse Security for Multi-Tenancy:

       

      • Business Units: Use Dataverse Business Units to partition your knowledge base data.

        • Create a Business Unit for each customer/tenant.
        • Assign the knowledge base articles to the appropriate Business Unit.
        • Configure security roles to restrict access to Business Units. 

      • Teams and Sharing: Use Dataverse Teams and record sharing to provide granular access control.

        • Create Teams for support agents who need access to specific customer knowledge.
        • Share knowledge base articles with the appropriate Teams. 

      • Row-Level Security: For more complex scenarios, consider implementing Dataverse row-level security.

        • Use security roles and business unit security roles to filter the Dataverse data. 

      • Owner and Team: Your current columns of owner and team are a good start. Make sure that the security roles are properly setup to use the owner and team columns to filter the results.

      •  

    2. Copilot Studio and Rich Text Retrieval:

       

      • Structured Content (Preferred):

        • Rich text, while visually appealing, can be challenging for AI models to parse.
        • Consider structuring your knowledge base content using plain text with clear headings and sections.
        • If possible, use separate Dataverse columns for different parts of the article (e.g., "Summary," "Steps," "Troubleshooting"). 

      • Power Automate Integration:

        • Use Power Automate to pre-process the rich text content before sending it to Copilot Studio.
        • Extract plain text from the rich text using HTML parsing techniques.
        • Store the plain text in a separate Dataverse column that Copilot Studio can easily access. 

      • Copilot Studio Topics:

        • Design your Copilot Studio topics to handle knowledge base queries effectively.
        • Use entities to capture user intent and filter the knowledge base data.
        • Use adaptive cards to display the knowledge base content in a user-friendly format. 

      • Dataverse Search:

        • Make sure that the Dataverse search is properly setup. This will help Copilot Studio to find the correct data. 

      • Generative Answers:

        • Copilot Studio has generative answers, make sure that the data source is correctly configured. 

        •  

    3. Alternative Solution: SharePoint Integration:

      • SharePoint as Knowledge Base:

        • Consider using SharePoint as your knowledge base.
        • SharePoint provides robust document management and search capabilities.
        • You can use SharePoint's document libraries and lists to store your knowledge base articles. 

      • Copilot Studio SharePoint Connector:

        • Use the Copilot Studio SharePoint connector to access SharePoint content.
        • You can use the connector to search for documents and retrieve content. 

      • SharePoint Security:

        • Use SharePoint's permissions to control access to knowledge base articles.
        • Create separate SharePoint sites or libraries for each customer/tenant.

        •  
          

    4.  

    Recommendations:

    • Dataverse Security: Prioritize setting up robust Dataverse security using Business Units, Teams, and row-level security.
    • Structured Content: If possible, transition to structured content in your Dataverse table.
    • Power Automate Pre-processing: Use Power Automate to extract plain text from rich text if you must retain rich text.
    • SharePoint Integration: Evaluate using SharePoint as your knowledge base for its document management and search capabilities.
    • Testing: Thoroughly test your solution with different user scenarios and data sets.

    •  

    By implementing these recommendations, you can build a secure and effective multi-tenant knowledge base for your support agents.

     
    If my answer was helpful, please click Like, and if it solved your problem, please mark it as verified to help other community members find more. If you have further questions, please feel free to contact me.
     
    My response was crafted with AI assistance and tailored to provide detailed and actionable guidance for your Microsoft Dynamics 365 query.
     
    Regards,
    Daivat Vartak

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

🌸 Community Spring Festival 2025 Challenge 🌸

WIN Power Platform Community Conference 2025 tickets!

Jonas ”Jones” Melgaard – Community Spotlight

We are honored to recognize Jonas "Jones" Melgaard as our April 2025…

Kudos to the March Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 293,354 Super User 2025 Season 1

#2
Martin Dráb Profile Picture

Martin Dráb 232,498 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,158 Moderator

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans