Skip to content

Commit 79d1b52

Browse files
[Outlook] (online meeting) Document how to add post-meeting resources (#5308)
* Draft solution * Apply suggestion from review * Apply suggestions from review * Apply suggestions from review Co-authored-by: Elizabeth Samuel <[email protected]> * Update ms.date --------- Co-authored-by: Elizabeth Samuel <[email protected]>
1 parent 9933fc4 commit 79d1b52

File tree

1 file changed

+65
-4
lines changed

1 file changed

+65
-4
lines changed

docs/outlook/online-meeting.md

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Create an Outlook add-in for an online-meeting provider
33
description: Discusses how to set up an Outlook add-in for an online-meeting service provider.
4-
ms.date: 08/01/2025
4+
ms.date: 08/07/2025
55
ms.topic: how-to
66
ms.localizationpriority: medium
77
---
@@ -10,11 +10,11 @@ ms.localizationpriority: medium
1010

1111
Setting up an online meeting is a core experience for an Outlook user, and it's easy to [create a Teams meeting with Outlook](/microsoftteams/teams-add-in-for-outlook). However, creating an online meeting in Outlook with a non-Microsoft service can be cumbersome. By implementing this feature, service providers can streamline the online meeting creation and joining experience for their Outlook add-in users.
1212

13+
In this article, you'll learn how to set up your Outlook add-in to enable users to organize and join a meeting using your online-meeting service. Throughout this article, we'll use a fictional online-meeting service provider, "Contoso".
14+
1315
> [!IMPORTANT]
1416
> This feature is supported in Outlook on the web, Windows ([new](https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627) and classic), Mac, Android, and iOS with a Microsoft 365 subscription.
1517
16-
In this article, you'll learn how to set up your Outlook add-in to enable users to organize and join a meeting using your online-meeting service. Throughout this article, we'll use a fictional online-meeting service provider, "Contoso".
17-
1818
## Set up your environment
1919

2020
Complete the [Outlook quick start](../quickstarts/outlook-quickstart-yo.md) in which you create an add-in project with the [Yeoman generator for Office Add-ins](../develop/yeoman-generator-overview.md).
@@ -432,7 +432,7 @@ In this section, learn how your add-in script can update a user's meeting to inc
432432
}
433433
```
434434

435-
## Testing and validation
435+
## Test and validate your add-in
436436

437437
Follow the usual guidance to [test and validate your add-in](testing-and-tips.md), then [sideload](sideload-outlook-add-ins-for-testing.md) the manifest in Outlook on the web, on Windows (new or classic), or on Mac. If your add-in also supports mobile, restart Outlook on your Android or iOS device after sideloading. Once the add-in is sideloaded, create a new meeting and verify that the Microsoft Teams or Skype toggle is replaced with your own.
438438

@@ -469,6 +469,66 @@ Registering your online-meeting add-in is optional. It only applies if you want
469469
470470
![A new GitHub issue screen with Contoso sample content.](../images/outlook-request-to-register-online-meeting-template.png)
471471
472+
## Automatically provide post-meeting resources and updates to attendees
473+
474+
After a meeting ends, the organizer and attendees often need access to important resources such as video recordings or meeting transcripts. If available, your online-meeting add-in can automatically update the meeting invite with these resources, making them easily accessible to all participants.
475+
476+
This section outlines how to use the Microsoft Graph API to update a calendar item with post-meeting resources. The updated content of a meeting will be reflected in the calendars of the organizer and the attendees. Additionally, an update will be sent to the attendees.
477+
478+
This implementation requires the following:
479+
- An access token to make Microsoft Graph API calls. For guidance, see [Use the Microsoft Graph REST API from an Outlook add-in](microsoft-graph.md).
480+
- An indicator to your add-in when a meeting scheduled with your online-meeting add-in has ended.
481+
- Access to a meeting's Exchange ID and the ID assigned by the add-in.
482+
- Access to the necessary resources that will be added to the meeting.
483+
- Access to the meeting instance created by the organizer. Changes must be made to the organizer's meeting instance to propagate to the attendees' meeting instance.
484+
485+
1. When a meeting ends, configure your add-in to fetch the resources that will be added to the meeting object.
486+
1. Use the Microsoft Graph API to get the organizer's meeting instance. Ensure that the `body` property is included in the request. For information on the API, see [Get event](/graph/api/event-get).
487+
1. Update the body of the meeting with the applicable meeting resources. For information on the API, see [Update event](/graph/api/event-update).
488+
489+
> [!IMPORTANT]
490+
> When making changes to the `body` property of a meeting, make sure to preserve the online meeting blob. Removing the meeting blob from the body disables the online-meeting functionality.
491+
492+
Once the meeting resources have been added to the meeting, an update is sent to the attendees. The changes are also reflected in the calendar instances of the organizer and the attendees.
493+
494+
The following is an example of how to update the meeting body with a link to a video recording.
495+
496+
```javascript
497+
const options = {
498+
authProvider,
499+
};
500+
501+
const client = Client.init(options);
502+
503+
// Get the body of the meeting.
504+
const currentEvent = await client.api('/users/{organizerId}/events/{meetingId}')
505+
.select('body')
506+
.get();
507+
508+
const existingBody = currentEvent.body.content;
509+
510+
// Update the body with a link to a video recording.
511+
const meetingResources = `
512+
<br><br>
513+
<h2>Meeting summary</h2>
514+
<p>The team discussed monthly sales targets for Fabrikam. Current market conditions were discussed. A follow-up meeting will be scheduled to finalize revenue goals for the quarter.</p>
515+
<a href="https://contoso.com/recording/123456789" target="_blank">View recording</a>
516+
`;
517+
518+
const updatedBody = existingBody + meetingResources;
519+
520+
const updatedEvent = {
521+
body: {
522+
contentType: 'html',
523+
content: updatedBody
524+
}
525+
};
526+
527+
// Update the event with the new body content.
528+
await client.api('/users/{organizerId}/events/{meetingId}')
529+
.update(updatedEvent);
530+
```
531+
472532
## Available APIs
473533
474534
The following APIs are available for this feature.
@@ -500,3 +560,4 @@ Several restrictions apply.
500560

501561
- [Add-ins for Outlook on mobile devices](outlook-mobile-addins.md)
502562
- [Add support for add-in commands in Outlook on mobile devices](add-mobile-support.md)
563+
- [Working with calendars and events using the Microsoft Graph API](/graph/api/resources/calendar-overview)

0 commit comments

Comments
 (0)