Skip to main content

Notifications

Copilot Studio - General
Suggested answer

Using the Copilot connector to connect Zendesk Guide in a Multibrand environment (no answers)

Posted on by 8

Hi,

I'm working with Co-Pilot Studio to integrate our Zendesk Guides, allowing employees to search all of our content directly. Some content is restricted to logged-in users assigned to specific segments, so the bot needs to parse both public and restricted content.

We have multiple Help Centers, and by using the appropriate subdomains, I’ve successfully connected them all. I’ve selected only the "Articles" table for synchronization, as it contains the relevant content. The connection appears to be working, and I can preview the content successfully:

 
Preview of articles table. Body holds the html content
 

For testing I have used a question that reflects the title formed as a question to be able to return content from Gen AI. 

I see that it's looking at the knowledge, but not returning any results:

 
These are my Gen AI settings:
 
Use generative AI to determine how best to respond to users and events (preview): ON
Allow the AI to use its own general knowledge: OFF
How should your agent interact with people?: Generative
How strict should the content moderation be?: HIGH


My expectation was that it's able to parse through the Articles table and providing me at least some content. Any suggestions what I'm doing wrong here?
 
Categories:
  • Suggested answer
    Artur Stepniak Profile Picture
    Artur Stepniak 226 on at
    Using the Copilot connector to connect Zendesk Guide in a Multibrand environment (no answers)
    Hello Daniel,
     
    unfortunately, you won't be able to guide the model to show an exact reference to the URL this way. It's because the file, that you've provided to the model is indexed and the reference is pointing to the indexed content called embeddings. The pointer is based on the user prompt. To achieve better results, you could switch the datasource to a Sharepoint List or Dataverse table. The model would filter out the content row by row by using ODATA filter. It could output the URL stored in the column then.
    The second thing is that you won't be able to easily update the JSON file, you'd also need to upload it manually each time it's updated. It's not efficient overall.
     
    In case of any other questions, let me know. If the answer helped you, mark it, so that others can benefit from it.
     
    Best regards,
     
    Artur Stepniak
  • Daniel Winter Profile Picture
    Daniel Winter 8 on at
    Using the Copilot connector to connect Zendesk Guide in a Multibrand environment (no answers)
    Hey,
     
    so I tried using actions with the onboard Zendesk connector where I used the search articles. Sometimes it did find something but this was not always the case. 
     
    I went know back to using the native knowledge source, but instead of using the built-in Zendesk connector, I essentially exported all articles per brand to a dedicated json where I just added three attributes: Title, Content, ContentLocation (holds the external URL to the article) . 
     
    I uploaded these files now manually for the purpose of this test. Now the agent returns good results during my initial tests. I only have now one problem. 
    Instead of using the ContentLocation as the reference (citation), it often just references the whole json file. 
     
    Within the knowledge source I added some description like this already:
     
    It is structured in a JSON format with the following three key attributes:  
    * Title: The article’s title, summarizing the key topic or feature. 
    * ContentLocation: The URL where the article is hosted, to be used as a reference or for direct access to the content. 
    * Content: The full body of the article, presented with HTML formatting, containing in-depth details and explanations of the feature.
    For citation you should always use the ContentLoaction as the reference.
     
    I also adjusted the instructions..but still it doesnt provide the right reference...If i ask for the specific url o the reference it returns it. 
     
    So I have two questions:
     
    1. Is it possible to get the agent to actually use the URL as the reference
    2. Is there any way on updating the json through an automated way (e.g. power automate flow that just updates the json on a daily/weekly basis)
     
     
  • Suggested answer
    Artur Stepniak Profile Picture
    Artur Stepniak 226 on at
    Using the Copilot connector to connect Zendesk Guide in a Multibrand environment (no answers)
    Hello,
     
    I'd experiment with Actions instead of using a connector to knowledge source. You can try then to turn on Generative orchestration. That way the model would fill in the inputs of an action by itself and retrieve the articles, and output the response.
    Other way round you could use the classic approach with trigger phrases and the action to filter out the articles based on the user prompt. You can then use generative answers action to only generate a response to the user with the data that was retrieved. This option is a bit safer in terms of stability.
     
    In case of any other questions, let me know. If the answer helped you, mark it, so that others can benefit from it.
     
    Best regards,
     
    Artur Stepniak
  • Daniel Winter Profile Picture
    Daniel Winter 8 on at
    Using the Copilot connector to connect Zendesk Guide in a Multibrand environment (no answers)
    Thanks for your feedback. I did now rewrite my instructions for the model like this to include the concrete column names of the tables that are imported:
     

    You will be supporting our team in answering questions around our product. Your primary knowledge source are answers based on Zendesk Guide articles.

    Key Information Sources:

    • Zendesk Guide Articles: You will primarily use Zendesk Guide articles as your knowledge source. Each article is structured in a table with the following columns:

      • title: The title of the article.

      • body: The full content of the article, which may include HTML formatting.

      • locale: The language in which the article is written.

      • html_url: The direct URL link to the article.

     

    Answering Guidelines:

    1. Use the Articles: Base your responses on the Zendesk Guide articles available in the table.
    2. Provide Accurate and Concise Answers: Your answers should be both correct and to the point.
    3. Always Include a Source: Whenever you use an article to answer a question, always include the HTML URL as a reference. This ensures transparency and allows others to verify the information.

    Example Response:

    If the article titled "Feature XYZ Overview" provides the relevant information, your response should be something like:

    ••"Feature XYZ allows you to... (provide summary of the key points)."

    Source: Feature XYZ Overview

     
    This did not help to find content. I also turned Use generative AI to determine how best to respond to users and events (preview) OFF. 

    It is picking the GenAI topic as fallback where the knowledge content is configured:
     
     
  • Suggested answer
    Artur Stepniak Profile Picture
    Artur Stepniak 226 on at
    Using the Copilot connector to connect Zendesk Guide in a Multibrand environment (no answers)
    Hello,
     
    at first it's worth to note that generative orchestration (this buddy: Use generative AI to determine how best to respond to users and events (preview): ON) is a preview feature - it means that it couldn't work in some cases or give unexpected results, see docs: https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-generative-actions
     
    Second point: did you input any instructions to the model on how to perform tasks? I see that the columns have system names, so it's not able to understand what do you mean. You need to describe it in the instructions on what columns you have, what to do with them etc. If that won't work, you can also try to use Actions instead of a connector. I see Zendesk connector on the list:
     
    If you'd use an action, you'd need to instruct it on how to prepare inputs/outputs.
     
    In case of any other questions, let me know. If the answer helped you, mark it, so that others can benefit from it.
     
    Best regards,
     
    Artur Stepniak
     

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

November 2024 Newsletter…

November 2024 Community Newsletter…

Community Update Oct 28…

Power Platform Community Update…

Tuesday Tip #7 Community Profile Tips…

Welcome to a brand new series, Tuesday Tips…

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 143,297

#2
RandyHayes Profile Picture

RandyHayes 76,308

#3
Pstork1 Profile Picture

Pstork1 63,890

Leaderboard