I have a requirement to develop a functionality where the Copilot agent can retrieve results from a SharePoint list based on a specific column filter value provided by the user. The process should involve the following steps:
User Input: The user will provide a value for a specific column in the SharePoint list.
Filtering: The Copilot agent will filter the list items based on the provided column value.
Result Retrieval: The filtered results will be retrieved and displayed to the user.
Currently, the Copilot agent primarily works with documents and site pages, and it does not return list data as a result. This limitation means that while Copilot can efficiently handle document retrieval and site page interactions, it lacks the capability to directly query and return data from SharePoint lists (Microsoft Learn article on optimizing SharePoint content retrieval).
To overcome this limitation, I have tried the following options:
Custom Action: Create a custom action where Copilot will prompt the user for the column value to filter. This action will call Power Automate to filter the list items and return the item links. Copilot will then provide these links as results to the user.
Potential Challenges
- Complexity in Setup: Setting up custom actions can be complex and may require significant development effort
- Maintenance: Custom actions may need regular updates and maintenance to ensure compatibility with SharePoint updates
- Performance: Depending on the size of the list and the complexity of the filter, performance issues may arise
Custom Topic: Create a custom topic where Copilot will ask for the input value and similarly call Power Automate to filter the list items.
Potential Challenges
- User Experience: Ensuring a seamless user experience can be challenging, especially if the process involves multiple steps
- Integration Issues: Integrating custom topics with Power Automate and ensuring they work together smoothly can be complex
- Scalability: As the number of users and list items grows, the solution may need to be scaled, which can introduce additional challenges
Create generative answer: Added a new action where Copilot will take input from the user and added the "Create generative answer" action, providing the SharePoint list as a data source in classic data (referenced from Microsoft Learn).
Potential Challenges
- Attachment Inclusion: The action returns results for SharePoint list items where attachments are included, and if the search text is present in the attachment file
- Column Value Consideration: The action does not consider SharePoint list column values, which may lead to irrelevant results
Question: What am I missing, or What are the other way to achieve my requirement?