Announcing the public preview of Virtual Appointment Graph API
By
Published May 23 2022 08:00 AM 17.2K Views
Microsoft

Virtual appointments in Microsoft Teams are designed for cross-industry, business-to-consumer (B2C) online meeting workflows. Use case examples include, clinician-led consultations (healthcare), banking and lending (financial services), and apparel purchases (retail). Virtual appointments offer an end-to-end solution for businesses, over current point solutions, by providing enhanced features before, during, and after appointments.


Features of Virtual Appointment Graph API

Starting in late June 2022, developers will be able to create and manage Microsoft-hosted virtual appointments from any application with the public preview of the Virtual Appointment Graph API. Building on the existing onlineMeeting Graph API, the new Virtual Appointment Graph API gives developers the ability to create an enhanced user experience designed for business-to-consumer scenarios—including a virtual waiting room and native browser join for clients (participants that receive a service during a virtual appointment).


Developers will now be able to:

  • Programmatically create, read, update, and delete Teams virtual appointments with Microsoft Graph.
  • Enable clients to join virtual appointments directly from their desktop and mobile browsers without the need to download or install the Microsoft Teams application.
  • Give clients access to an enhanced virtual waiting room with industry messaging.
  • Join the Virtual Appointment Graph API public preview to give feedback and contribute to future roadmap items, starting in late June 2022.


Enhanced virtual appointment experiences

With enhanced features now available through the Virtual Appointment Graph API—including browser join and waiting room--the client and service provider experience can be improved in several ways.


Browser join
With browser join, clients (and service providers) can now easily join their virtual appointments with the click of a button—accessing the appointment directly from a link on their desktop or mobile browser without having to download or install the Microsoft Teams application.

Browser Join.png

 

Waiting room

Previously, clients joining a virtual appointment had to wait without any indicators of when the service provider would arrive, or the appointment would begin. With the enhanced waiting room feature designed for business-to-consumer scenarios, clients joining an appointment enter a dedicated virtual waiting room with industry specific messaging. 

Waiting Room.png

 

Virtual Appointment Graph API sample request and body

Virtual Appointment Graph API will support the following operations: Get, Create, Update and Delete.

 

Sample Create Request:

POST https://graph.microsoft.com/beta/users/{userId}/onlineMeetings/{onlineMeetingId}/virtualAppointment
Content-Type: application/json
{
"settings": {
},
"appointmentClients": [
{
"emailAddress": "client1@hotmail.com",
"displayName": "Client One",
"smsCapablePhoneNumber": "123-456-7890"
},
{
"emailAddress": "client2@gmail.com"
}
],
"externalAppointmentId": "AAMkADKnAAA=",
"externalAppointmentUrl": “https://anyschedulingsystem.com/api/appointments/MkADKnAAA=”,
}

 

Sample Response:

{
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users/({userId})/onlineMeetings/({onlineMeetingId})/virtualAppointment/$entity",
"id": "7d9b87d1-4ca1-4e66-9a97-0b3e05022043",
"settings": {
},
"appointmentClients": [
{
"emailAddress": "client1@hotmail.com",
"displayName": "Client One",
"smsCapablePhoneNumber": "123-456-7890"
},
{
"emailAddress": "client2@gmail.com",
"displayName": null,
"smsCapablePhoneNumber": null
}
],
"externalAppointmentId": "AAMkADKnAAA=",
"externalAppointmentUrl": "https://anyschedulingsystem.com/api/appointments/MkADKnAAA=", "appointmentClientJoinWebUrl": "https://visit.teams.microsoft.com/webrtc-svc/api/route?tid=a796be92-&convId=19:meeting_=True"
}

 

 

New virtual appointment properties

With the new Virtual Appointment Graph API, we are introducing several new properties outlined below.

 

Property

Description

ID

ID of the virtual appointment.

Settings

Settings associated with the virtual appointment resource.

appointmentClients

Client information for the virtual appointment including name, email, and SMS phone number.

externalAppointmentId

Identifier of the appointment from the scheduling system, associated with the current virtual appointment.

externalAppointmentUrl

URL of the appointment resource from the scheduling system, associated with the current virtual appointment.

appointmentClientJoinWebUrl

Join WebUrl of the virtual appointment for clients with waiting room and browser join.

 

Permissions and security

Access to virtual appointments will be available through both delegated and application permissions. Application permission will be restricted through Application Access Policy defined for the parent onlineMeeting.


Next steps

We are very excited for the public preview of the Virtual Appointment Graph API—and we hope you are too! Get notified when public preview opens by signing up here.


Have any questions? Reach out to the Graph API team here.


Happy coding!

 

1 Comment
Co-Authors
Version history
Last update:
‎Jun 06 2022 01:52 PM
Updated by: