Skip to content

Commit 3219b58

Browse files
authored
Merge branch 'main' into snippet-generation/172206
2 parents b15a33c + 572bf5d commit 3219b58

4 files changed

+160
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: "Teams meeting type and Microsoft Graph APIs"
3+
description: "Consider when to use online meetings, webinar, or town hall Microsoft Graph APIs for Teams meetings."
4+
author: "awang119"
5+
ms.localizationpriority: medium
6+
ms.subservice: "cloud-communications"
7+
ms.date: 11/18/2024
8+
---
9+
10+
# Choose the right Teams meeting type
11+
12+
Microsoft Teams and Microsoft Graph support multiple types of scheduled real-time voice and video experiences, ranging from ad hoc meetings that are suitable for a few participants to large, structured virtual events like webinars and town halls with thousands of attendees.
13+
14+
Use the following table to choose the right meeting type and Microsoft Graph APIs for your use case.
15+
16+
|Teams meeting type | Microsoft Graph APIs | Use cases |
17+
|--------------------|-----------------------|---------------------------------------------------------------------------------------------------------------------------------|
18+
| [Online meeting](https://support.microsoft.com/office/meetings-in-microsoft-teams-e0b0ae21-53ee-4462-a50d-ca9b9e217b67) | [onlineMeeting](/graph/api/resources/onlinemeeting) <br> [attendanceReport](/graph/api/resources/meetingattendancereport) <br> [attendanceRecord](/graph/api/resources/attendancerecord) <br> [online meeting webhooks](/graph/changenotifications-for-onlinemeeting) | <ul><li>Hosting a meeting for up to 1,000 participants who can be inside or outside of your organization. Everyone can interact via audio, video, chat, and screen sharing.</li><li>Meetings are either scheduled, ad hoc, or channel meetings.</li></ul> |
19+
| [Webinar](https://support.microsoft.com/office/get-started-with-microsoft-teams-webinars-42f3f874-22dc-4289-b53f-bbc1a69013e3) | [virtualEventWebinar](/graph/api/resources/virtualeventwebinar) <br> [virtualEventRegistration](/graph/api/resources/virtualeventregistration) <br> [virtualEventWebinarRegistrationConfiguration](/graph/api/resources/virtualeventwebinarregistrationconfiguration) <br> [virtualEventRegistrationQuestion](/graph/api/resources/virtualeventregistrationquestionbase) <br> [meetingAttendanceReport](/graph/api/resources/meetingattendancereport) <br> [attendanceRecord](/graph/api/resources/attendancerecord) <br> [virtualEventSession](/graph/api/resources/virtualeventsession) <br> [virtualEventPresenter](/graph/api/resources/virtualeventpresenter) <br> [virtual event webhooks](/graph/changenotifications-for-virtualevent)| <ul><li>Hosting a meeting where one or several experts (presenters) share their ideas or provide training to an audience (attendees inside or outside of your organization) with a maximum of 1,000 participants on the call.</li><li>Registration is needed before attendees can join the webinar.</li></ul> |
20+
| [Town hall](https://support.microsoft.com/office/get-started-with-town-hall-in-microsoft-teams-33baf0c6-0283-4c15-9617-3013e8d4804f)| [virtualEventTownhall](/graph/api/resources/virtualeventtownhall) <br> [virtualEventSession](/graph/api/resources/virtualeventsession) <br> [virtualEventPresenter](/graph/api/resources/virtualeventpresenter) |<ul><li>Automatic streaming event for a limited number of presenters to a large group of attendees, capping at 10,000 or 20,000 participants (with Teams Premium).</li><li>Attendees cannot register for the event. They need to be invited. Attendees use the Q&A feature to engage with presenters and organizers instead of directly interacting via chat or audio.</li></ul> |
21+
22+
23+
To learn more about the differences between each meeting type to choose the one that is best suited for your use case, see the [feature comparison chart](/microsoftteams/meeting-webinar-town-hall-feature-comparison).
24+
25+
26+
## Related content
27+
- [Use online meeting APIs](cloud-communications-online-meetings.md)
28+
- [Create solutions with webinar APIs](cloud-communications-virtual-events-webinar-usecases.md)
29+
- [Create solutions with town hall APIs](cloud-communications-virtual-events-townhall-usecases.md)
30+
- [Use virtual event change notifications](/graph/changenotifications-for-virtualevent)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: "Use cases for virtual events town hall Microsoft Graph APIs"
3+
description: "Get a list of use cases that can be enabled via Microsoft Graph virtual events town hall APIs."
4+
author: "awang119"
5+
ms.localizationpriority: medium
6+
ms.subservice: "cloud-communications"
7+
ms.date: 11/18/2024
8+
---
9+
# Virtual events town hall API use cases
10+
11+
Microsoft Graph virtual events town hall APIs allow you to get Teams town hall data and programmatically create, update, and cancel a Teams town hall.
12+
13+
For you to make the best use of the Microsoft Graph virtual events town hall APIs, it’s helpful to understand the personas for the users who access the Teams town hall experience:
14+
15+
- **Organizers** are employees (in your organization) who manage the town hall. They're the authority on when town halls take place and who participates. They configure town hall details such as title, theme, attendee experience, and email rules.
16+
- **Presenters** are employees (in your organization) or guests who lead the town hall.
17+
- **Attendees** are either employees (in your organization) or guests who join the town hall and are either invited via email or the link to the town hall event is shared with them.  
18+
- **Teams tenant administrator** must authorize custom applications with appropriate permissions.
19+
20+
You can use the following resource types to build your town hall solution:
21+
- [virtualEventTownhall](/graph/api/resources/virtualeventtownhall) – Used to create, get, update, publish, and cancel a Teams town hall.
22+
- [virtualEventPresenter](/graph/api/resources/virtualeventpresenter) – Used to create, get, list, update, and delete a presenter for a Teams town hall.
23+
- [virtualEventSession](/graph/api/resources/virtualeventsession) – A town hall created via Microsoft Graph APIs has one session that inherits the properties of online meetings.
24+
25+
## Solutions you can build
26+
The following table lists some solutions you can build by using the Teams client and Microsoft Graph town hall APIs and webhooks.
27+
28+
| Solutions | Description |
29+
| ------------- | ------------- |
30+
| [Create/update/cancel](#createupdatecancel) | Programmatically create, update, and cancel Teams town hall.|
31+
| [Data sync](#data-sync) | Pull Teams town hall data in a custom application. |
32+
| [Email communication](#email-communication)| Use your own email infrastructure to send town hall-related notification emails. |
33+
34+
> [!NOTE]
35+
> To build any Microsoft Graph solutions, you need to register and give the right permissions to your application. For more information, see [Authentication and authorization basics](/graph/auth/auth-concepts).
36+
37+
### Create/update/cancel
38+
39+
- Use the [Create townhall API](/graph/api/virtualeventsroot-post-townhalls) to create a draft of the event, followed by the [Publish townhall API](/graph/api/virtualeventtownhall-publish) to complete the creation and make it visible to its audience.
40+
- The town hall created via Microsoft Graph APIs is a Teams town hall event that’s visible and editable in the Teams client.
41+
- Just like in Teams, only the organizer can create, publish, and cancel town halls. The create townhall API only supports delegated permissions on behalf of the organizer.
42+
- Like in Teams, coorganizers can update town halls. To update a town hall, use the [Update townhall API](/graph/api/virtualeventtownhall-update) with delegated permissions on behalf of the coorganizer.
43+
44+
### Data sync
45+
46+
- Use the [Get townhall API](/graph/api/virtualeventtownhall-get) to pull data regarding a specific town hall, such as who is invited, who created the town hall, and who are the coorganizers.
47+
- [List all the town halls in a tenant](/graph/api/virtualeventsroot-list-townhalls), including the town halls for which the user is an organizer or coorganizer. This scenario is supported for [delegated](/graph/api/virtualeventtownhall-getbyuserrole) and [application](/graph/api/virtualeventtownhall-getbyuseridandrole) permissions. These APIs are currently only available in the beta endpoint.
48+
49+
### Email communication
50+
51+
You can turn off email communications to attendees when you [create the town hall](/graph/api/virtualeventsroot-post-townhalls). In the **settings** property, set `isAttendeeEmailNotificationEnabled` to `false`.Emails are still sent to organizers, coorganizers, and presenters (internal and external).
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: "Use cases for virtual events webinar APIs in Microsoft Graph"
3+
description: "List of use cases that can be enabled using virtual events webinar APIs"
4+
author: "awang119"
5+
ms.localizationpriority: medium
6+
ms.subservice: "cloud-communications"
7+
ms.date: 11/18/2024
8+
---
9+
# Virtual events webinar API use cases
10+
11+
Microsoft Graph virtual events webinar APIs allow you to get Teams webinar data and programmatically create, update, and cancel a Teams webinar.
12+
13+
For you to make the best use of the Graph virtual events webinar APIs, it’s helpful to understand the personas for the users who access the Teams webinar experience:
14+
15+
- **Organizers** are employees (in your organization) who manage the webinar. They're the authority on schedule and participants. They configure webinar attributes such as title, theme, attendee experience, and email rules.  
16+
- **Presenters** are employees (in your organization) or guests who lead the webinar.  
17+
- **Registrants** are users (in or outside of your organization) who registered for a webinar. They can be registered, waitlisted, or rejected. They can choose to cancel their webinar registration.  
18+
- **Attendees** are registrants who joined the webinar. They need to register through a portal and answer registration questions.
19+
- **Teams tenant administrator** must authorize custom applications with appropriate permissions.
20+
21+
You can use the following resource types to build your webinar solution:
22+
- [virtualEventWebinar](/graph/api/resources/virtualeventwebinar) – Used to create, get, update, publish, cancel, and list Teams webinars.
23+
- [virtualEventRegistration](/graph/api/resources/virtualeventregistration) – Used to create, get, cancel, and list registration records of registrants of a webinar. Provides the unique Teams webinar join URL for the registered registrant.
24+
- [virtualEventRegistrationQuestion](/graph/api/resources/virtualeventregistrationquestionbase) – Used to create, list, and delete either custom registration questions or predefined registration questions for registrants to answer when they register for a webinar.
25+
- [virtualEventRegistrationConfiguration](/graph/api/resources/virtualeventwebinarregistrationconfiguration) – Contains information about a webinar registration configuration that stores the registration portal URL of the webinar.
26+
- [virtualEventPresenter](/graph/api/resources/virtualeventpresenter) – Used to create, get, list, update, and delete a presenter for a Teams webinar.
27+
- [virtualEventSession](/graph/api/resources/virtualeventsession) – A webinar created via Microsoft Graph APIs only has one session that inherits the properties of online meetings.
28+
- [meetingAttendanceReport](/graph/api/resources/meetingattendancereport) – Each time a webinar ends, an attendance report is generated for the session but doesn’t include attendee data.
29+
- [attendanceRecord](/graph/api/resources/attendancerecord) – Provides webinar attendee data in the attendance report.
30+
- [virtual event webhooks](/graph/changenotifications-for-virtualevent) – Can receive notifications for changes to a webinar, webinar registration, session, attendance report, and so on.
31+
32+
33+
## Solutions you can build
34+
The following table lists some solutions you can build by using the Teams client and Microsoft Graph webinar APIs and webhooks.
35+
36+
| Solutions | Description |
37+
| ------------- | ------------- |
38+
| [Create/update/cancel](#createupdatecancel) | Programmatically create, update, and cancel Teams webinars.|
39+
| [Data sync](#data-sync) | Pull Teams webinar data in a custom application (like attendees, registration questions, attendance report, and more). |
40+
| [Registration](#registration) | Host your own registration portal experience for a Teams webinar and sync the registration data to the Teams client. |
41+
| [Email communication](#email-communication)| Use your own email infrastructure to send out webinar-related notification emails. |
42+
43+
> [!NOTE]
44+
> To build any Microsoft Graph solutions, you need to register and give the right permissions to your application. For more information, see [Authentication and authorization basics](/graph/auth/auth-concepts).
45+
46+
### Create/update/cancel
47+
48+
- Use the [Create webinar API](/graph/api/virtualeventsroot-post-webinars) to create a draft of the event, followed by the [Publish webinar API](/graph/api/virtualeventwebinar-publish) to complete the creation and make it visible to its audience.
49+
- The webinar created via Microsoft Graph APIs is a Teams webinar that’s visible and editable in the Teams client.
50+
- Just like in Teams, only the organizer can create, publish, and cancel webinar events. The create webinar API only supports delegated permissions on behalf of the organizer.
51+
- Like in Teams, coorganizers can update webinars. To update webinars, use the [Update webinar API](/graph/api/virtualeventwebinar-update) with delegated permissions on behalf of the coorganizer.
52+
- Subscribe to [change notifications](/graph/changenotifications-for-virtualevent#subscribable-virtual-events) to get updates about any changes made to the webinar. 
53+
54+
### Data sync
55+
56+
- Subscribe to [change notifications](/graph/changenotifications-for-virtualevent#subscribable-virtual-events) to get updates about any changes made to the webinar.
57+
- To get attendance report data for a webinar, use [List attendance records](/graph/api/attendancerecord-list) or [Get attendance record with a query option](/graph/api/meetingattendancereport-get#example-2-get-the-attendance-report-for-a-webinar-session-by-id).
58+
- To get attendance information of a webinar attendee, after a list or get request, map the **Id** property in [virtual event registration](/graph/api/resources/virtualeventregistration) to the **registrationId** property in [attendance record](/graph/api/resources/attendancerecord) (currently only available in the beta endpoint).
59+
- Get data for [a specific webinar](/graph/api/virtualeventwebinar-get), [list all the webinar in a tenant](/graph/api/virtualeventsroot-list-webinars), list webinars where the [user is an organizer or coorganizer](/graph/api/virtualeventwebinar-getbyuserrole), list webinars where the [specified user is either the organizer or coorganizer](/graph/api/virtualeventwebinar-getbyuseridandrole).
60+
- To get the Teams webinar registration portal URL for your webinar, use [Get webinar registration configuration](/graph/api/virtualeventwebinarregistrationconfiguration-get).
61+
62+
### Registration
63+
64+
- Use [Create registration](/graph/api/virtualeventwebinar-post-registrations) to programmatically register users to your webinar. Organizers, coorganizers, and presenters don’t need to register. Whether or not registrants have Microsoft Entra accounts affects the permissions you need to call the API.
65+
- [CREATE registration questions](/graph/api/virtualeventregistrationconfiguration-post-questions) (predefined or custom) attendees have to answer required questions during registration.
66+
- After the registrant registers for the webinar, use [List sessions](/graph/api/virtualeventregistration-list-sessions) to get the unique `joinWebURL` for the webinar.
67+
68+
### Email communication
69+
70+
- You can turn off email communications to attendees when you [create the webinar](/graph/api/virtualeventsroot-post-webinars). In the **settings** property, set `isAttendeeEmailNotificationEnabled` to `false`. Emails are still send to organizers, coorganizers, and presenters (internal and external).
71+
- You can subscribe to [change notifications](/graph/changenotifications-for-virtualevent#subscribable-virtual-events) to build your own customized email communication system.

concepts/toc.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,14 @@ items:
928928
href: cloud-communications-identifylargegalleryview.md
929929
- name: Manage watermarks for sensitive meetings
930930
href: cloud-communications-watermark-meeting.md
931+
- name: Virtual events
932+
items:
933+
- name: Choose the right meeting type
934+
href: cloud-communications-virtual-events-overview.md
935+
- name: Town hall use cases
936+
href: cloud-communications-virtual-events-townhall-usecases.md
937+
- name: Webinar use cases
938+
href: cloud-communications-virtual-events-webinar-usecases.md
931939
- name: Change notifications
932940
items:
933941
- name: Subscribe to teams, chats, channels

0 commit comments

Comments
 (0)