Overview
If you are using SSO and Smart Scheduler/Exchange API, you must ensure that the Admin account set up for the Exchange Service is not federated through your SSO client. If you are using Outlook 365, you can test this by going to the Outlook web login portal and entering the email address you use for your Exchange account. If you are redirected to an SSO login, you know the user you are trying to use is a part of the SSO.
If your Admin account is set up federated through your SSO client, Smart Scheduler will not work correctly. To fix this, you'll need to remove the email used from your SSO client.
If you are using the software version of Outlook, you will want to verify with their IT team and make sure that the Exchange credentials are not attached to the SSO in any way.
Audience
Admins and IT
Exchange (On-Premise)
Overview
In the Exchange (On-Premise) integration, the Evolve ATS Admin will need to enter the username/password of any user with permission to view the calendar of a company’s users/employees. You will most likely create a particular account with Evolve ATS with limited access (calendar read/write). If you want Evolve ATS to book conference rooms, the account needs permission to send/receive emails. Evolve ATS uses Exchange Web Service (EWS) APIs to interact with your exchange server.
Credentials
Evolve ATS stores usernames and passwords that you provide to the system. The password is encrypted using the AES 256-bit algorithm and stored in the database. These credentials are only used to make API calls to interact with the exchange server. They are not used for any other purpose. The credentials are always stored in our system and are not removed, even if your organization discontinues service with Evolve ATS. If you use a separate account for Evolve ATS, you can disable the account if you discontinue our services.
Prerequisites
Before enabling this integration, ensure that your company is using a supported version of Microsoft Exchange Server:
- 2007 Service Pack 1
- 2010
- 2010 Service Pack 1
- 2010 Service Pack 2
- 2010 Service Pack 3
- 2013
- Office 365
NOTE: We do not support versions before the 2007 Service Pack.
Data Policy
Evolve ATS only fetches free/busy information from the employees/rooms using the APIs. This data is never stored in our system and is fetched on demand. The data is rendered on the scheduler pages to show free/busy information about the interviewers/rooms or to find the best available time slots for the interviewers/rooms using our Smart Scheduler. If conference room booking is enabled, Evolve ATS will create an event using the APIs in the conference room calendar. Evolve ATS cannot view any other data from your exchange server, such as mail or files stored in OneDrive.
eSecurity Practices
https://www.jobvite.com/security-exhibit/
Setup Instructions
The current Office 365 option will be deprecated once Microsoft has deprecated Basic Authorization to Office 365 / Exchange Online https://docs.microsoft.com/en-us/lifecycle/announcements/exchange-online-basic-auth-deprecated
You will need to request the following from your company’s IT department:
- They should create one new user account in your Microsoft Exchange server account specifically for this integration and provide you with the Username and Password. This user account needs to be able to send and receive messages.
- Your company's Exchange Service URL. This URL will look similar to (but not exactly as): https://mail.yourdomain.com/EWS/Exchange.asmx or https://owa.company.com/EWS/Exchange.asmx
NOTE: The Exchange Service URL should always include an “EWS’ within the URL.
- The version of Microsoft Exchange Server your company is using.
Once all the above information is gathered, navigate to your user menu, then select Admin.
Click Integrations.
Click View Calendars.
Click Edit.
Select Exchange (On-Premise) and Enable Smart Scheduler.
Enter the following information in the respective fields:
- Microsoft Exchange Server Version
- Exchange Service URL
- User name
- Password
Click Save.
FAQ
Q. What endpoint access is needed, OWA or EWS?
A. Evolve ATS uses the EWS endpoint for the integration.
Q. What EWS API(s) do you use to read free/busy information?
A. GetUserAvailability API.
Q. What EWS API(s) are used to write (book meeting rooms)?
A. CreateEvent API.
Q. How is the password stored in our database? What encryption level?
A. Passwords are encrypted at REST using AES 256-bit.
Q. What do you use the credentials for?
A. The API only uses credentials to fetch free/busy information and book conference rooms if enabled.
Q. Can we prevent the booking of meeting rooms by providing read-only permissions on the account?
A. Yes, and by disabling conference room booking on the integration page.
Q. Do we pull any information from Exchange and save it in our database?
A. No, Evolve ATS does not save any of the data in our system.
Q. Does Evolve ATS have access to any information besides free/busy in the API, and if so, how can a client limit that (e.g., through permissions on the account)?
A. Evolve ATS’s level of access is limited by the roles associated with the service account. If the service account uses the predefined role of the Author and the meeting is private, then additional details are not visible to the end-user or the API. Evolve ATS’s best practice is to create a service account and not an account tied to a specific individual’s account, in that an individual account can be removed/disabled at any time, which would negatively impact the integration.
Q. What type of account must we create to use with Evolve ATS?
A. An exchange admin will need to configure and activate the service account. The service account should contain the predefined role of "Author" to access Free/Busy and book meeting rooms via the API. If a client does not want Evolve ATS to book meeting rooms via the API, then the predefined role of AvailabilityOnly can be used to access free/busy. We can send an ICS invite if a client still wants the meeting rooms blocked. This will require the meeting room to accept the invite automatically, or someone will need to monitor the account and accept/decline the ICS invite.
NOTE: Please submit a Help Center ticket to enable ICS invites.
Q. What are the minimum READ permissions we can set on the account to only allow access to free/busy (and avoid subjects, names, etc. being passed)?
A. According to https://docs.microsoft.com/en-us/powershell/module/exchange/set-mailboxfolderpermission?view=exchange-ps#examples, the predefined role of AvailabilityOnly can be used to access free/busy. Please contact Microsoft's helpdesk with additional questions/concerns regarding role access.
Q. What are the minimum WRITE permissions we can set on the account for meeting room booking?
A. According to https://docs.microsoft.com/en-us/powershell/module/exchange/set-mailboxfolderpermission?view=exchange-ps#examples, the predefined role name of Author can be used to access the calendar's free/busy and book meeting rooms via the API. Please contact Microsoft's helpdesk with additional questions or concerns regarding role access.
Q. If we want to limit the exposure of our EWS services to just Evolve ATS, what would you recommend?
A. Customers can allowlist the Evolve ATS IP and follow their standard password rotation for the Exchange Service account. If you want to set up IP allowlisting, please contact Evolve Support so we can provide you with the IP blocks to allow.
Q. How much detail are you gathering?
A. Evolve ATS uses the following credentials:
- To fetch free-busy information of employees (Specific API: GetUserAvailability)
- If the company flag is enabled, then we use it to book conference rooms
Q. Where is the information being used?
A. We use this data only in two places:
- To show the free-busy information on the schedule page in the free-busy section.
- We use it in the advanced scheduler to pass the free-busy information to find the best available interview slots.
Q. Does your company trade, distribute, or otherwise reuse our data?
A. No, Evolve ATS pulls the data on demand and does not save or use it for any other purpose. It uses the information to render it on the schedule page and in the advanced scheduler to determine the free-busy slots.
Q. Is there a technical document that explains/outlines what information is being retrieved from the client’s exchange server?
A. We use the EWS API in Evolve ATS for the following:
- To pull free-busy information of an employee
- Configuring the room under the user menu > Admin > Configuration > View Locations > Meeting Rooms will pull free-busy information.
- To block their conference room when an interview is scheduled. (provided they have Block Conference Room enabled)
Appendix
Office 365/Exchange Cloud (Application)
Overview
In the Office 365/ Exchange Cloud integration, we connect to your Office 365 account using Microsoft’s OAuth 2.0 login flow. In this flow, Evolve ATS presents a Microsoft-controlled login screen in which a Global Administrator of your Office 365 / Azure AD account will log in using their credentials and grant calendar read/write permissions to Evolve ATS. Since this login is done on Microsoft’s site, Evolve ATS does not store a username/password in the system. This integration can be disabled directly from your Office 365 account. Evolve ATS uses Microsoft’s Graph APIs to check users' and meeting room availability and manage events created on meeting room calendars that Evolve ATS has created.
Prerequisites
Before enabling this feature, ensure that your company has:
- Active Office 365 / Exchange Cloud account
Data Policy
Evolve ATS only fetches free/busy information from the employees/rooms using the APIs. This data is never stored in our system and is fetched on demand. The data is rendered on the scheduler pages to show free/busy information about the interviewers/rooms or to find the best available time slots for the interviewers/rooms using our Smart Scheduler. If conference room booking is enabled, Evolve ATS will create an event using the APIs in the conference room calendar. Evolve ATS cannot view any other data from your exchange server, such as mail or files stored in OneDrive.
Security Practices
https://www.jobvite.com/security-exhibit/
Data Flow
Please see Appendix – Data Flow
APIs
Please see Appendix – API
Setup Instructions
To enable Office 365 calendar integration for your users, your Office 365 admin must log into Evolve ATS and authorize their Office 365 account. This will also require your Office 365 Admin to have the Admin user role in Evolve ATS.
An Office 365 admin must perform the following steps in Evolve ATS:
Navigate to your user menu, then click Admin.
Click Integrations.
Click View Calendars.
Click Edit.
Select Office 365/Exchange Cloud (Application) and check the box for Smart Scheduler.
Click Connect
Follow the prompts to authorize Evolve ATS to connect to Office 365 using an Office 365 admin account.
NOTE: When authenticating through Evolve ATS, the Office 365 account you use needs to be an admin account to install the Evolve ATS app into your Office 365 instance.
Have the Office 365 admin follow the prompts to grant Evolve ATS permission to connect to Office 365.
NOTE: Accepting the requested Calendar Read/Write permissions will add an entry into your Azure AD Enterprise Applications section with a name like “Evolve ATS Outlook Office365 Integration”. This allows Evolve ATS to make Microsoft Graph API calls related to the Calendar Read/Write permissions against your Office 365 account.
FAQ
Q. What information is stored when using the O365 integration?
A. Evolve ATS stores OAuth 2.0 tokens supplied by Microsoft and IDs of events that Evolve ATS creates when scheduling an interview with a meeting room.
Q. Does the O365 integration use a Service Account?
A. No, the O365 integration does not use a Service Account; however, an Office 365 / Azure AD Global Administrator must authorize the integration.
Q. Why do you need Administrative Privileges?
A. Administrator privilege is only needed to approve the application integration within Azure. We do not query the calendar APIs using this administrative access. Evolve ATS never asks for nor stores these admin credentials.
Q. What Application Permissions are used by the integration?
A. Evolve ATS requests minimal access (Calendar.Read and Calendar.ReadWrite). Any further access restrictions can only be maintained within AzureAD with either Application Access Policies or individual user permissions.
Q. What permissions are used when reading calendars?
- Evolve ATS Calendar API calls are made for the individual scheduling the interviews. So if the interview scheduler has limited calendar read access, this limited read access is all Evolve ATS will also be able to see.
- Application Access Policies or individual user permissions can further restrict these permissions.
Q. What permissions are used when writing to calendars?
- They are only used when blocking out time on meeting room calendars. The list of what is considered a "meeting room" is configured by your Evolve ATS Administrator.
- If the customer requires further write restrictions, they must configure this through an Application Access Policy or individual user permissions.
Q. What kind of information is being accessed using Microsoft Graph API?
A. The Microsoft Graph API only requests free/busy information for an interviewer and/or meeting room.
https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http
Q. What APIs are being used?
A. Evolve ATS uses the Get Schedule API to check or render a user’s free/busy on one of our schedulers.
https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http
Evolve ATS uses the Create Event API to block meeting rooms.
https://docs.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http
Evolve ATS uses the Delete Event API to unblock meeting rooms on Interview cancellations or reschedules
https://learn.microsoft.com/en-us/graph/api/event-delete?view=graph-rest-1.0&tabs=http
Q. Does Evolve ATS O365 integration support a hybrid model?
A. According to Microsoft’s documentation, the O365 integration should support a hybrid model. NOTE: Some limitations and/or requirements may be associated with using a hybrid model. As a result, we recommend contacting your Microsoft representative for additional information.
https://docs.microsoft.com/en-us/graph/hybrid-rest-support
Q. Do we store users’ availability details within the Evolve ATS database?
A. No. Evolve ATS does not save any user data in the system.
Q. How is this information pulled?
A. The Office 365 integration uses the Microsoft Graph API with OAuth 2.0
Q. Where can O365 Admin see if O365 was successfully connected/registered with Evolve ATS?
A. The Admin can find all references to Evolve ATS by clicking on the following link and searching for “Evolve ATS” without quotes. https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview
Or your Admin can go directly to: https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/
Q. Is there a way to book meeting rooms that do not write to the Microsoft Graph API?
A. Yes, by ICS file invitation to meeting rooms.
Q. When using O365, do we need to spin up Azure?
A. No, Azure AD comes as part of their O365 subscription, so you do not need to spin up anything new.
https://learn.microsoft.com/en-us/microsoft-365/enterprise/azure-integration?view=o365-worldwide
For more information regarding Microsoft Graph API, please visit:
https://docs.microsoft.com/en-us/graph/api/overview?toc=.%2Fref%2Ftoc.json&view=graph-rest-1.0
Office 365/Exchange Cloud (Delegate)
Overview
In the Office 365/ Exchange Cloud (Delegate) integration, Evolve ATS connects to a scheduler’s Office 365 account using Microsoft’s OAuth 2.0 login flow. In this flow, Evolve ATS presents a Microsoft-controlled login screen in which a scheduler authenticates their Office 365 account using their Microsoft credentials and grants calendar read/write permissions to Evolve ATS. Since this login is done on Microsoft’s site, Evolve ATS does not store usernames/passwords in the system. This integration can be disabled directly from your Office 365 account and the Authorized Apps section of a user’s Evolve ATS account. Evolve ATS uses Microsoft’s Graph APIs to check users' and meeting room availability and manage events created on meeting room calendars that Evolve ATS has created.
Prerequisites
Before enabling this feature, ensure that your company has:
- Active Office 365 / Exchange Cloud account
Data Policy
Evolve ATS only fetches free/busy information from the employees/rooms using the APIs. This data is never stored in our system and is fetched on demand. The data is rendered on the scheduler pages to show the free/busy details of the interviewers/rooms or to find the best available time slots for the interviewers/rooms using our Smart Scheduler. If conference room booking is enabled, Evolve ATS will create an event using the APIs in the conference room calendar. Evolve ATS cannot view any other data from your exchange server, such as mail or files stored in OneDrive.
Security Practices
https://www.jobvite.com/security-exhibit/
Data Flow
Please see Appendix – Data Flow
APIs
Please see Appendix – API
Setup Instructions
Navigate to your user menu > Admin > Integrations > View Calendars.
Click Edit.
Select Office 365 / Exchange Cloud (Delegate) and check the box for Smart Scheduler.
Click Save.
Recruiters/ Schedulers will then need to perform the following steps:
Navigate to your user menu and click My Account.
Click Authorized Apps.
Under the Integrations section, click Sign in with Microsoft.
You will be redirected to the Microsoft OAUTH login page. Enter your login credentials and accept the Policy Status.
You will be redirected to Evolve ATS.
FAQ
Q. What is the difference between Office 365/ Exchange Cloud (Application) and Office 365/ Exchange Cloud (Delegate)?
A. Delegate access is an authorization method that allows us to make calls on behalf of a specific Office 365 Account. While this requires each recruiter to authenticate to their Office 365 account, it provides several security enhancements, including adhering to the permissions/access of the authenticating user account.
Q. What information is stored when using the O365 integration?
A. Evolve ATS stores OAuth 2.0 tokens supplied by Microsoft and IDs of events that Evolve ATS creates when scheduling an interview with a meeting room.
Q. Does the O365 integration use a Service Account?
A. No, the O365 integration does not use a Service Account; however, each Recruiter/Scheduler must authorize the Office 365 app to see the interviewer's availability.
Q. What permissions are used when reading calendars?
- Evolve ATS Calendar API calls are made for the individual scheduling the interviews. So if the interview scheduler has limited calendar read access, this limited read access is all Evolve ATS will also be able to see.
- The individual user permissions within Microsoft O365 can further restrict these permissions.
Q. What permissions are used when writing to calendars?
- It is only used when blocking out time on meeting room calendars. The list of what is considered a "meeting room" is configured by your Evolve ATS Administrator.
- Write restrictions are controlled by the individual user permissions within Microsoft O365.
Q. What kind of information is being accessed using Microsoft Graph API?
A. The Microsoft Graph API only requests free/busy information for an interviewer and/or meeting room.
https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http
Q. What APIs are being used?
A. Evolve ATS uses the Get Schedule API to check or render a user's free/busy on one of our schedulers.
https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http
Evolve ATS uses the Create Event API to block meeting rooms.
https://docs.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http
Evolve ATS uses the Delete Event API to unblock meeting rooms on Interview cancellations or reschedules
https://learn.microsoft.com/en-us/graph/api/event-delete?view=graph-rest-1.0&tabs=http
Q. Does Evolve ATS’s O365 integration support a hybrid model?
A. According to Microsoft’s documentation, the O365 integration should support a hybrid model. NOTE: Some limitations and/or requirements may be associated with using a hybrid model. As a result, we recommend contacting your Microsoft representative for additional information.
https://docs.microsoft.com/en-us/graph/hybrid-rest-support
Q. Do we store users’ availability details within the Evolve ATS database?
A. No, We do not save any user data in our system.
Q. How is this information pulled?
A. The Office 365 integration uses the Microsoft Graph API with OAuth 2.0
Q. Where can O365 Admin see if O365 was successfully connected/registered with Jobvite?
A. The Admin can find all references to Jobvite by clicking on the following link and searching for “Evolve ATS” without quotes. https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview
Or your Admin can go directly to: https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/
Q. Is there a way to book meeting rooms that do not write to the Microsoft Graph API?
A. Yes, by ICS invitation to meeting rooms.
Q. When using O365, do we need to spin up Azure?
A. No. Azure AD comes as part of their O365 subscription, so you do not need to spin up anything new
https://learn.microsoft.com/en-us/microsoft-365/enterprise/azure-integration?view=o365-worldwide
For more information regarding Microsoft Graph API, please visit:
https://docs.microsoft.com/en-us/graph/api/overview?toc=.%2Fref%2Ftoc.json&view=graph-rest-1.0
Appendix - Data Flow
Appendix - APIs
- Get Schedule: Used to check or render a user's free-busy on one of our schedulers.
- https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http
- POST /users/{id|userPrincipalName}/calendar/getSchedule
- Typical free-busy information when scheduling a meeting with others as the interviewers will return the following information, much like the information you would see when scheduling a meeting in Outlook.
{
"scheduleId": "meganb@contoso.onmicrosoft.com",
"availabilityView": "200220010",
"scheduleItems": [
{
"status": "busy",
"start": {
"dateTime": "2019-03-15T08:30:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T09:30:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"@odata.type": "#microsoft.graph.customTimeZone",
"bias": 480,
"name": "Customized Time Zone",
"standardOffset": {
"time": "02:00:00.0000000",
"dayOccurrence": 1,
"dayOfWeek": "sunday",
"month": 11,
"year": 0
},
"daylightOffset": {
"daylightBias": -60,
"time": "02:00:00.0000000",
"dayOccurrence": 2,
"dayOfWeek": "sunday",
"month": 3,
"year": 0
}
}
}
}
- Depending on the scheduler's permissions/event settings, the following is another potential response (take note of the Subject and Location fields). This can be returned if, for example, the scheduler adds themselves as an interviewer when scheduling an interview. Our system does not use these additional fields, which are not accessible to Evolve ATS users.
{
"scheduleId": "adelev@contoso.onmicrosoft.com",
"availabilityView": "000220000",
"scheduleItems": [
{
"isPrivate": false,
"status": "busy",
"subject": "Let's go for lunch",
"location": "Harry's Bar",
"start": {
"dateTime": "2019-03-15T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T14:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "Pacific Standard Time"
}
}
}
- Create Event: Used to block meeting rooms.
- https://docs.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http
- POST /users/{id | userPrincipalName}/events
- Sample Response
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events/$entity",
"@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAALfZeRQ==\"",
"id":"AAMkAGI1AAAt9AHjAAA=",
"createdDateTime":"2017-04-15T03:00:50.7579581Z",
"lastModifiedDateTime":"2017-04-15T03:00:51.245372Z",
"changeKey":"ZlnW4RIAV06KYYwlrfNZvQAALfZeRQ==",
"categories":[
],
"originalStartTimeZone":"Pacific Standard Time",
"originalEndTimeZone":"Pacific Standard Time",
"iCalUId":"040000008200E00074C5B7101A82E00800000000DA2B357D94B5D201000000000000000010000000EC4597557F0CB34EA4CC2887EA7B17C3",
"reminderMinutesBeforeStart":15,
"isReminderOn":true,
"hasAttachments":false,
"hideAttendees": false,
"subject":"Let's go brunch",
"bodyPreview":"Does noon work for you?",
"importance":"normal",
"sensitivity":"normal",
"isAllDay":false,
"isCancelled":false,
"isDraft": false,
"isOrganizer":true,
"responseRequested":true,
"seriesMasterId":null,
"transactionId":"7E163156-7762-4BEB-A1C6-729EA81755A7",
"showAs":"busy",
"type":"singleInstance",
"webLink":"https://outlook.office365.com/owa/?itemid=AAMkAGI1AAAt9AHjAAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl":null,
"isOnlineMeeting":false,
"onlineMeetingProvider":"unknown",
"onlineMeeting":null,
"allowNewTimeProposals": true,
"responseStatus":{
"response":"organizer",
"time":"0001-01-01T00:00:00Z"
},
"body":{
"contentType":"html",
"content":"<html><head></head><body>Does late morning work for you?</body></html>"
},
"start":{
"dateTime":"2017-04-15T11:00:00.0000000",
"timeZone":"Pacific Standard Time"
},
"end":{
"dateTime":"2017-04-15T12:00:00.0000000",
"timeZone":"Pacific Standard Time"
},
"location": {
"displayName": "Harry's Bar",
"locationType": "default",
"uniqueId": "Harry's Bar",
"uniqueIdType": "private"
},
"locations": [
{
"displayName": "Harry's Bar",
"locationType": "default",
"uniqueIdType": "unknown"
}
],
"recurrence":null,
"attendees":[
{
"type":"required",
"status":{
"response":"none",
"time":"0001-01-01T00:00:00Z"
},
"emailAddress":{
"name":"Samantha Booth",
"address":"samanthab@contoso.onmicrosoft.com"
}
}
],
"organizer":{
"emailAddress":{
"name":"Dana Swope",
"address":"danas@contoso.onmicrosoft.com"
}
}
}
Delete Event: Used to unblock meeting rooms upon interview cancellations/rescheduling
- https://learn.microsoft.com/en-us/graph/api/event-delete?view=graph-rest-1.0&tabs=http
- DELETE /users/{id | userPrincipalName}/events/{id}
- Sample Response
- HTTP/1.1 204 No Content