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.
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:
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.
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.
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"
}
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. |
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.
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.