Presentation on Copilot Extensibility to Copilot Learning Hub

In September 2024 I joined Dona Sarkar on the Copilot Learning Hub video series to discuss M365 Copilot extensibility via declarative agents, Graph connectors, and more. Great opportunity to share out more about how customers and partners can extend Microsoft 365 Copilot with additional knowledge, custom actions, and more!

https://learn.microsoft.com/shows/copilot-learning-hub/unlocking-microsoft-365-copilot-extending-functionality-with-external-data-and-integrations

-Frog Out

Search and Retrieve Content for Microsoft Graph Connector Items via Graph APIs

In this post, we’ll walk through a scenario for surfacing Microsoft Graph connector items via the Search APIs on Microsoft Graph and then using values in the response to retrieve the full content of item using the Graph connector APIs on Microsoft Graph.

Scenario

This week, a customer asked the following question:

“Once we index files using Graph connectors, how can we retrieve the full content of those items to be used in additional experiences like a custom search solution for our employees? The Search APIs (on Microsoft Graph) appear to only retrieve a snippet of the matching results.”

As the customer noticed, when you use the Microsoft Search API to search Microsoft Graph connectors, you can list which fields (properties from Graph connector defined schema) to return, but you can’t return the full content that was ingested. This is by design as search is intended to retrieve snippets of results for displaying in a custom search experience, for example.

Solution

Let’s look at querying for Graph connector items using the /search/query endpoint (documentation):

Note: replace “ServiceNowKB1” with the id of your connection.

POST: https://graph.microsoft.com/v1.0/search/query
REQUEST BODY:
{
    "requests": [
        {
            "entityTypes": [
                "externalItem"
            ],
            "contentSources": [
                "/external/connections/ServiceNowKB1"
            ],
            "query": {
                "queryString": "*"
            },
            "from": 0,
            "size": 3
        }
    ]
}

Sample response from Search API:

Screenshot of sample response of Graph connector items using the Search API through Graph Explorer.

Notice the “substrateContentDomainId” value in response. You can parse the value and take the substring after the comma (,) such as highlighted above. This is the itemId of the Graph connector item.

Next, query the Graph connector ingestion API (documentation) on Microsoft Graph for the items in the Graph connector (externalConnection). Again, replace “ServiceNowKB1” with the connection id as well as replacing the itemId.

GET: https://graph.microsoft.com/v1.0/external/connections/ServiceNowKB1/items/c487857187032100deddb882a2e3ec4f

Sample response from Graph connector API:

With the ingestion API we are now able to retrieve the full content of the ingested item. Note that this is for a single item at a time. If you have multiple items, you will need to iterate through them.

Conclusion

Graph connectors power discovery of non-Microsoft 365 data in multiple native Microsoft 365 experiences. If you have a need to display Graph connector items in an alternate location (line of business application, custom search portal, etc.) hopefully you found this post helpful. Feel free to leave comments or questions if you have additional needs.

-Frog Out

Resources

Header photo

Presenting at Microsoft 365 Community Conference 2024 in Orlando, FL

Join me on Apr 30-May 2, 2024 as I’m presenting “Understanding Microsoft 365 Copilot Extensibility Via Microsoft Graph Connectors” at the Microsoft 365 Community Conference. Registration is still open and there are pre/post workshops also available. Great to see so many subject matter experts sharing on topics related to Microsoft 365, Copilot for Microsoft 365, Azure, Dynamics, and more. My specific session will be on Wednesday May 1st, 2024 at 10-11am ET. Look forward to seeing you there!

Use this attendee discount code to save $100 USD off registration: MSCMTY

Register today!
https://aka.ms/M365Conf24

-Frog Out

Presenting at Copilot for Microsoft 365 Tech Accelerator

Join me on Feb 28-29, 2024 as I’m presenting “Expanding knowledge with Graph connectors” at the Copilot for Microsoft 365 Tech Accelerator event. This free, online event will have numerous subject matter experts sharing on topics related to Copilot for Microsoft 365. My specific session will be on Feb 29, 9-9:30am PT. Look forward to seeing you there!

Register today!
https://aka.ms/AccelerateCopilot

-Frog Out

Retrospective for 2023

Continuing my tradition of writing a retrospective (2022, 20212020201620152013201220112010) or look ahead (201920142013201220112010), in this post I’ll recap 2023 and share goals for what is ahead in 2023.

Exercise

For the past few years I have been making good use of my home office treadmill (Treadly 2) as well as biking with my kids. In 2023 I increased the number of days of exercise (33% of days up to 45%) as well as total distance for the year.

https://twitter.com/BrianTJackett/status/1742557691359203655

  • 167 days with exercise
  • 422 miles ran
  • 168.7 hours ran

I don’t have specific goals for 2024 but looking to continue my exercise (2-4 days a week on treadmill for 60-80 mins).

Reading

Since 2021 I have been reading books more regularly. You can view my profile on GoodReads along with “read” and “want to read” lists.  I set my 2023 GoodReads challenge to read 8 books and ended at reading 12. I was on track to read more but with my Diaconate classes (more on that next) my time was wrapped in classwork and required reading for my class for half of the year. A few noteworthy books from 2023:

For my 2024 GoodReads challenge I’ve set a goal to read 8 books again.

Diaconate classes

For the past 4+ years I’ve had reflections on my personal calling to become a deacon within the Catholic Church. I’ve been very active in various groups and ministries throughout my life, but in these past few years this has come up more regularly.

After speaking with a few deacons at our church, my wife and I finally decided to meet with the deacon in charge of formation in our diocese. He was very open and supportive of my interests and had great points for further reflection.

Currently I am in the inquirer phase and have taken 2 pre-requisite classes and just about to start my 3rd class. The whole experience has been very fulfilling as well as helping me adopt a few daily good habits that lead to improved overall well-being. I am continuing in my discernment, but any major next steps won’t happen until 2025-2026.

Copilot for Microsoft 365

In my role at Microsoft, our Microsoft Graph Customer and Partner Experience team made a large shift in priorities around May 2023 to expand our coverage of Microsoft 365 developer integrations, specifically with Copilot for Microsoft 365. This included expanding our Microsoft Graph TAP to rebrand as the Microsoft 365 Developer TAP and incorporate Copilot extensibility topics.

This has been quite the whirlwind for the past 8+ months but exciting times to be at the forefront of this new AI technology offerings. 2024 will continue with these investments across my individual team and larger org.

Family

As you might have noticed, I slowed down on blogging in 2023. This was primarily related to the above two items of Diaconate classes and Copilot for M365 work, but also to increases in involvements with my family. I’m a den leader for my son’s Cub Scout den, fill-in for coaching various sports teams my kids are on, as well as volunteering for different church programs and events. Combined with my wife returning to work part time the end of last year and that left little time for side projects with blogging.

My wife and I also celebrated our 10 yr wedding anniversary. We took a wonderful 6-day trip out to Arizona and had the most amazing time with hiking, train ride, music, and good meals.

I’ll revisit blogging and videos more regularly in the future, but for now you can take a look at 2 Copilot & Graph connectors videos I produced with our marketing team in 2023.

Extend Copilot for Microsoft 365 with external data with Graph connectors

Use Microsoft Graph Connectors To Integrate External Data With Microsoft 365

Conclusion

2023 was a packed year with new experiences, family events, and more. I hope you had a joy-filled year and grew personally and professionally. Feel free to share any of your experiences in the comments or link to your own reflection from 2023. Looking forward to all that 2024 has to offer.

-Frog Out

Credits
2 hikers on mountain – Sylvain Mauroux
Books on table – Tom Hermans