August 30th, 2024

Microsoft Graph APIs for Teams webinar registration now generally available

Microsoft Teams supports multiple types of scheduled real-time voice and video experiences. These range from ad hoc meetings suitable for a small number of participants to large structured virtual events like webinars and town halls that include thousands of attendees.   

The following table provides a comparison of the types of meetings that Teams supports. 

Meeting type  Use cases 
Online meeting 
  • 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 screensharing.  
  • Meetings are either scheduled, ad hoc, or channel meetings. 
Webinar  
  • 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.   
  • Registration is needed before attendees can join the meeting.  
Town hall  
  • 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).  
  • Attendees don’t need to register for the event but are invited and use Q&A to engage with presenters and organizers instead of direct interaction via chat or audio.  

 To learn more about the differences between each meeting type to help you choose the one that is best suited for your use case, see the feature comparison chart.  

Microsoft Graph APIs for online meetings are already generally available. Developers can use these APIs to programmatically schedule online meetings with the appropriate meeting options. Today, we’re announcing the general availability of new Teams webinar APIs. 

What’s new?  

The following resources are now generally available: 

  • virtualEventWebinar  – Used to create, get, update, publish, cancel, and list Teams webinars.  
  • 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.  
  • virtualEventRegistrationQuestion – Used to create, list, and delete either custom registration questions or predefined registration questions for registrants to answer when they register for a webinar.  
  • virtualEventPresenter – Used to create, get, list, update and delete a presenter for a Teams webinar. 
  • virtualEventSession – A webinar created via Microsoft Graph APIs only has one session that inherits the properties of online meetings. 
  • meetingAttendanceReport – Each time a webinar ends, an attendance report is generated for the session but doesn’t include attendee data.   
  • attendanceRecord – Provides webinar attendee data in the attendance report.  
  • Virtual event webhooks – Can receive notifications for changes to a webinar, webinar registration, session, attendance report, and so on.  

Webinar personas 

To make the best use of the Teams webinar APIs, it’s helpful to understand the personas for the users who access the Teams webinar experience:  

  • Organizers are employees (in your organization) who manage the webinar. They are the authority on schedule and participants. They configure webinar attributes such as title, theme, attendee experience, and email rules.   
  • Presenters are employees (in your organization) or external participants who lead the webinar.   
  • Registrants are users (in or outside of your organization) who have registered for a webinar. They can be registered, waitlisted, or rejected. They can choose to cancel their webinar registration.   
  • Attendees are registrants who join the webinar. They need to have registered through a portal and answered registration questions. 
  • Teams tenant administrator must authorize custom applications with appropriate permissions.   

Solutions you can build  

The following table lists some solutions you can build by using the Teams client and Microsoft Graph webinar APIs and webhooks. 

Custom application use case   Description 
Data sync  Pull Teams webinar data in a custom application, including attendees, registration questions, attendance report, and more.  
Registration   Host your own registration portal experience for a Teams webinar and sync the registration data to the Teams client. 
Create/update/delete   Programmatically create, update, and delete Teams webinars. 
Email communication   Use your own email infrastructure to send out webinar-related notification emails. 

Data sync  

The following table lists the Teams client setup and the Microsoft Graph APIs to use to implement a webinar data sync solution.  

Teams client  Microsoft Graph webinar and webhook APIs 
  • The webinar is hosted in Teams. 

 

  • Subscribe to change notifications to get updates about any changes made to the webinar.  

Registration  

The following table lists the Teams client setup and the Microsoft Graph APIs to use to implement a customized registration portal experience.  

Teams client  Microsoft Graph webinar APIs  
  • The webinar is hosted in Teams.  
  • Registrations are received from a third-party registration portal via Microsoft Graph APIs. 
  • Use Create registration to programmatically register users to your webinar. Organizers, co-organizers, and presenters don’t need to register. Whether or not registrants have Microsoft Entra accounts affects the permissions you need to call the API. 
  • After the registrant registers for the webinar, use List sessions to get the unique joinWebURL for the webinar.  

 

Create/update/delete 

The following table lists the Teams client setup and the Microsoft Graph APIs to use to implement a custom application to programmatically create, update, or delete webinars.  

Teams client  Microsoft Graph webinar and webhooks APIs 
  • The webinar created via Microsoft Graph APIs will be a Teams webinar that’s visible and editable in the Teams client.

 

  • Just like in Teams, organizers can only create webinar events. The Create webinar API can only be called with delegated permissions on behalf of the organizer.  
  • Only organizers and co-organizers can update and delete webinars. 
  • Subscribe to change notifications to get updates about any changes made to the webinar.  

 

Email communication 

The following table lists the Teams client setup and the Microsoft Graph APIs to use to implement a customized email communication experience for webinars.  

Teams client  Microsoft Graph webinar APIs and webhooks 
  • Email communications to attendees are turned off at the time the webinar is created.  
  • Teams still sends email/invites to organizers, co- organizers, and presenters (internal and external).  

 

  • When you use the Create webinar API, in the settings property, set the following:

“isAttendeeEmailNotificationEnabled”: false

  • Subscribe to change notifications to get updates about any changes made to the webinar that should trigger an email send.  
   

 

To learn how to authenticate and get your app authorized to use Microsoft Graph, see Authentication and authorization basics.  

Author

Annie Wang
Program Manager
Sheri Mehmood
Senior Product Manager

0 comments