Microsoft Graph Calendar
O365 Outlook Calendar enables you to create and manage different calendars and events according to your requirements.
IT Services · Microsoft Graph Calendar
Details
| ID | Microsoft Graph Calendar |
|---|---|
| Provider | Microsoft |
| Category | IT Services |
| From Version | 5.0.0 |
| Docker Image | demisto/crypto:1.0.0.5490413 |
| Supported Modules | Agentix Cloud Runtime Security XSIAM EDR Cortex Cloud |
README
Use the O365 Outlook Calendar integration to create, and manage different calendars and events according to your requirements.
Authentication
For more details about the authentication used in this integration, see Microsoft Integrations - Authentication.
Required Permissions
- Directory.ReadWrite.All - Delegated
- Directory.ReadWrite.All - Application
- Group.ReadWrite.All - Application
- Calendars.Read - Delegated
- Calendars.Read - Application
- Calendars.ReadWrite - Delegated
- Calendars.ReadWrite - Application
Configure O365 Outlook Calendar on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for O365 Outlook Calendar.
- Click Add instance to create and configure a new integration instance.
- Name: a textual name for the integration instance.
- Server URL
- ID for more details see cortex xsoar platform when configuring the integration instance
- Token for more details see cortex xsoar platform when configuring the integration instance
- Key for more details see cortex xsoar platform when configuring the integration instance
- Certificate Thumbprint
- Private Key
- Default user
- Trust any certificate (not secure)
- Use system proxy settings
- Click Test to validate the new instance.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.
- Get all calendars for a user: msgraph-calendar-list-calendars
- Get one user's calendar: msgraph-calendar-get-calendar
- Get a calendar's list of events: msgraph-calendar-list-events
- Get an event by ID: msgraph-calendar-get-event
- Create a new event: msgraph-calendar-create-event
- Update an existing event: msgraph-calendar-update-event
- Delete an existing event: msgraph-calendar-delete-event
1. Get all calendars for a user
Gets all calendars of a user.
Base Command
msgraph-calendar-list-calendars
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user ID or userPrincipalName. | Optional |
| order_by | Sorts the order of the returned items from Microsoft Graph. | Optional |
| next_link | The link for the next page of results, if it exists. Follow this link for more details. | Optional |
| top | Specifies the page size of the result set. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.Calendar.Name | String | The name of the calendar. |
| MSGraphCalendar.Calendar.CanShare | Boolean | Whether the user has permission to share the calendar. Only the user who created the calendar can share. |
| MSGraphCalendar.Calendar.CanEdit | Boolean | Whether the user can write to the calendar (this is true for the user who created the calendar and for a user who has been granted access to a shared calendar). |
| MSGraphCalendar.Calendar.ChangeKey | String | Identifies the version of the calendar object. Every time the calendar is changed, the changeKey changes as well. This allows the exchange to apply changes to the correct version of the object. Read-only. |
| MSGraphCalendar.Calendar.Owner | Unknown | The user who created or added the calendar. |
| MSGraphCalendar.Calendar.ID | String | The unique ID of the calendar. Read-only. |
| MSGraphCalendar.Calendar.CanViewPrivateItems | Boolean | Whether the user can read calendar items that have been marked private. |
Command Example
!msgraph-calendar-list-calendars user=someemail@domain.com
Context Example
{
"MSGraphCalendar.Calendar": [
{
"CanEdit": true,
"CanShare": true,
"CanViewPrivateItems": true,
"ChangeKey": "Some_Change_Key",
"ID": "Some_ID",
"Name": "Calendar",
"Owner": {
"address": "someemail@domain.com",
"name": "User Name"
}
},
{
"CanEdit": false,
"CanShare": false,
"CanViewPrivateItems": true,
"ChangeKey": "Some_Change_Key",
"ID": "Some_ID",
"Name": "United States holidays",
"Owner": {
"address": "someemail@domain.com",
"name": "User Name"
}
},
{
"CanEdit": false,
"CanShare": false,
"CanViewPrivateItems": true,
"ChangeKey": "Some_Change_Key",
"ID": "Some_ID",
"Name": "Birthdays",
"Owner": {
"address": "someemail@domain.com",
"name": "User Name"
}
}
]
}
Human Readable Output
Calendar:
| Name | Owner Name | Owner Address | ID |
|---|---|---|---|
| Calendar | User Name | someemail@domain.com | Some_ID |
| United States holidays | User Name | someemail@domain.com | Some_ID |
| Birthdays | User Name | someemail@domain.com | Some_ID |
2. Get one user's calendar
Returns a specific user's calendar.
Base Command
msgraph-calendar-get-calendar
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user's ID or the userPrincipalName. | Optional |
| calendar_id | The calendar's ID or name. If not specified, it retrieves the user's default calendar. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.Calendar.Name | String | The calendar's name. |
| MSGraphCalendar.Calendar.CanShare | Boolean | Whether the user has permission to share the calendar. Only the user who created the calendar can share it. |
| MSGraphCalendar.Calendar.CanEdit | Boolean | Whether the user can write to the calendar (true for the user who created the calendar and for a user who has been shared a calendar and granted write access). |
| MSGraphCalendar.Calendar.ChangeKey | String | Identifies the version of the calendar object. Every time the calendar is changed, the changeKey changes as well. This allows the exchange to apply changes to the correct version of the object. Read-only. |
| MSGraphCalendar.Calendar.Owner | Unknown | The user who created or added the calendar. |
| MSGraphCalendar.Calendar.ID | String | The unique ID of the calendar. Read-only. |
| MSGraphCalendar.Calendar.CanViewPrivateItems | unknown | Whether the user can read calendar items that have been marked private. |
Command Example
!msgraph-calendar-get-calendar
Human Readable Output
3. Get a calendar's list of events
Returns a list of events from a calendar.
Base Command
msgraph-calendar-list-events
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user's ID or userPrincipalName. | Optional |
| calendar_id | The calendar ID or name. If not provided, the default calendar is used. | Optional |
| order_by | Sorts the order of the items returned from Microsoft Graph. | Optional |
| next_link | Link for the next page of results, if it exists. Follow this link for more details. | Optional |
| top | Specifies the page size of the result set. | Optional |
| filter_by | Filter Results. Follow this link for more details. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.ID | Unknown | The user's ID. |
| MSGraphCalendar.DisplayName | Unknown | The display name of the user. |
| MSGraphCalendar.GivenName | Unknown | The given name of the user. |
| MSGraphCalendar.BusinessPhones | Unknown | The business phone numbers of the user. |
| MSGraphCalendar.JobTitle | Unknown | The job title of the user. |
| MSGraphCalendar.Mail | Unknown | The mail address of the user. |
| MSGraphCalendar.MobilePhone | Unknown | The mobile phone number of the user. |
| MSGraphCalendar.OfficeLocation | Unknown | The location of the office of the user. |
| MSGraphCalendar.PreferredLanguage | Unknown | The user's preferred language. |
| MSGraphCalendar.Surname | Unknown | The user's surname. |
| MSGraphCalendar.UserPrincipalName | Unknown | The user's principal name. |
Command Example
!msgraph-calendar-list-events
Human Readable Output
4. Get an event by ID
Returns an event based on its ID.
Base Command
msgraph-calendar-get-event
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user's ID or the userPrincipalName. | Optional |
| event_id | The ID of the event. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.Event.OriginalStartTimeZone | String | The start time zone that was set when the event was created. |
| MSGraphCalendar.Event.HasAttachments | Boolean | Whether the event has attachments. |
| MSGraphCalendar.Event.ResponseRequested | Boolean | Whether the sender requests a response when the event is accepted or declined. |
| MSGraphCalendar.Event.WebLink | String | The URL used to open the event in Outlook on the web. |
| MSGraphCalendar.Event.Recurrence | Unknown | The recurrence pattern for the event. |
| MSGraphCalendar.Event.Start | Unknown | The starting date, time, and time zone of the event. By default, the start time is in UTC. |
| MSGraphCalendar.Event.End | Unknown | The date, time, and time zone that the event ends. By default, the end time is in UTC. |
| MSGraphCalendar.Event.Location | Unknown | The location of the event. |
| MSGraphCalendar.Event.Attendees | Unknown | The list of attendees for the event. |
| MSGraphCalendar.Event.Type | String | The event type. For example, singleInstance, occurrence, exception, seriesMaster. Read-only. |
| MSGraphCalendar.Event.ResponseStatus.response | Unknown | Indicates the response type sent in response to an event message. |
| MSGraphCalendar.Event.Importance | String | The importance of the event. For example, low, normal, high. |
| MSGraphCalendar.Event.ICalUId | String | A unique identifier that is shared by all instances of an event across different calendars. |
| MSGraphCalendar.Event.IsCancelled | Boolean | Whether the event has been canceled. |
| MSGraphCalendar.Event.IsAllDay | Boolean | Whether the event lasts all day. |
| MSGraphCalendar.Event.ReminderMinutesBeforeStart | Number | The number of minutes before the event start time of the reminder alert. |
| MSGraphCalendar.Event.LastModifiedDateTime | String | The last time the event was modified, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.OriginalEndTimeZone | String | The end time zone that was set when the event was created. |
| MSGraphCalendar.Event.CreatedDateTime | String | The date the event was created using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 would be: '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.ChangeKey | String | Identifies the version of the event object. Every time the event is changed, the ChangeKey changes as well. This allows the Exchange to apply changes to the correct version of the object. |
| MSGraphCalendar.Event.ID | String | The ID of the event. |
| MSGraphCalendar.Event.IsOrganizer | Boolean | Whether the message sender is also the organizer. |
| MSGraphCalendar.Event.Sensitivity | String | The sensitivity of the event. Possible values are: normal, personal, private, confidential. |
| MSGraphCalendar.Event.IsReminderOn | Boolean | Whether an alert is set to remind the user of the event. |
| MSGraphCalendar.Event.Organizer | Unknown | The organizer of the event. |
| MSGraphCalendar.Event.Subject | String | The text of the event's subject line. |
| MSGraphCalendar.Event.OnlineMeetingUrl | Unknown | A URL for an online meeting, which is used when an organizer specifies an event as an online meeting, such as a Skype meeting. Read-only. |
Command Example
!msgraph-calendar-get-event user="someemail@domain.com" event_id=Some_ID
Context Example
{
"MSGraphCalendar.Event": [
{
"@Odata.Context": "https://graph.microsoft.com/v1.0/$metadata#users('oren%40demistodev.onmicrosoft.com')/calendar/events/$entity",
"Attendees": [
{
"emailAddress": {
"address": "someemail@domain.com",
"name": "User Name"
},
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required"
}
],
"Body": {
"content": "\r\n\r\n\r\n\r\n
\r\n\r\n\r\n", "contentType": "html" }, "BodyPreview": "This event was created by MSGraph integration", "Categories": [], "ChangeKey": "Some_Change_Key", "CreatedDateTime": "2019-12-30T14:16:47.4108451Z", "End": { "dateTime": "2022-11-11T15:30:00.0000000", "timeZone": "UTC" }, "HasAttachments": false, "ICalUId": "040000008200E00074C5B7101A82E00800000000373066C51BBFD501000000000000000010000000D3EB65FAAFB082478A64C036CFE6783A", "ID": "Some_ID", "Importance": "normal", "IsAllDay": false, "IsCancelled": false, "IsOrganizer": true, "IsReminderOn": true, "LastModifiedDateTime": "2019-12-30T14:16:48.5891688Z", "Location": { "displayName": "Tel Aviv", "locationType": "default", "uniqueId": "Tel Aviv", "uniqueIdType": "private" }, "Locations": [ { "displayName": "Tel Aviv", "locationType": "default", "uniqueId": "Tel Aviv", "uniqueIdType": "private" } ], "OnlineMeetingUrl": null, "Organizer": { "emailAddress": { "address": "someemail@domain.com", "name": "User Name" } }, "OriginalEndTimeZone": "Asia/Jerusalem", "OriginalStartTimeZone": "Asia/Jerusalem", "Recurrence": null, "ReminderMinutesBeforeStart": 15, "ResponseRequested": true, "ResponseStatus": { "response": "organizer", "time": "0001-01-01T00:00:00Z" }, "Sensitivity": "normal", "SeriesMasterId": null, "ShowAs": "busy", "Start": { "dateTime": "2022-11-11T15:00:00.0000000", "timeZone": "UTC" }, "Subject": "test - delete", "Type": "singleInstance", "WebLink": "https://outlook.office365.com/owa/?itemid=AAMkADMzZWNjMjBkLTE2ZGQtNDE1NS05OTg3LTI5ZTRlY2Q5YjFiMgBGAAAAAACtWsHs6cTlRYm91jJyqUgDBwCPVsAqlO3YRKNF6ZoON8u7AAAAAAENAACPVsAqlO3YRKNF6ZoON8u7AACqxAGGAAA%3D&exvsurl=1&path=/calendar/item" } ] }
Human Readable Output
Event - test - delete
| Subject | Organizer | Attendees | Start | End | ID |
|---|---|---|---|---|---|
| test - delete | User Name | User Name | 2022-11-11T15:00:00.0000000 | 2022-11-11T15:30:00.0000000 | Some_ID |
5. Create a new event
Creates a new event.
Base Command
msgraph-calendar-create-event
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user's ID or userPrincipalName. | Optional |
| calendar_id | The unique ID of the calendar or name. If not provided, the default calendar is used. | Optional |
| attendees | The collection of attendees for the event. | Optional |
| body | The body of the message associated with the event in HTML or text format. | Optional |
| subject | The text of the event's subject line. | Optional |
| location | The location of the event for an online meeting, such as a Skype meeting. Read-only. | Optional |
| end | The date and time the event ends. For example, '2017-05-28T12:00:00'. By default, the start time is in UTC. | Optional |
| original_end_time_zone | The end time zone that was set when the event was created. | Optional |
| original_start | The original start time of the calendar item using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' | Optional |
| start | The date and time the event starts at, for example '2017-05-28T12:00:00'. By default, the start time is in UTC. | Optional |
| time_zone | Represents a time zone. For example, 'Pacific Standard Time'. Follow this link for more information. | Optional |
| original_start_time_zone | The start time zone that was set when the event was created. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.Event.OriginalStartTimeZone | String | The start time zone that was set when the event was created. |
| MSGraphCalendar.Event.HasAttachments | Boolean | Whether the event has attachments. |
| MSGraphCalendar.Event.ResponseRequested | Boolean | Whether the sender would like a response when the event is accepted or declined. |
| MSGraphCalendar.Event.WebLink | String | The URL used to open the event in Outlook on the web. |
| MSGraphCalendar.Event.Recurrence | Unknown | The recurrence pattern for the event. |
| MSGraphCalendar.Event.Start | Unknown | The date, time, and time zone that the event starts. By default, the start time is in UTC. |
| MSGraphCalendar.Event.End | Unknown | The starting date, time, and time zone of the event. By default, the start time is in UTC. |
| MSGraphCalendar.Event.Location | Unknown | The location of the event. |
| MSGraphCalendar.Event.Attendees | Unknown | The collection of attendees for the event. |
| MSGraphCalendar.Event.Type | String | The event type. For example, singleInstance, occurrence, exception, seriesMaster. Read-only. |
| MSGraphCalendar.Event.ResponseStatus.response | Unknown | Indicates the type of response sent in response to an event message. |
| MSGraphCalendar.Event.Importance | String | The importance of the event. For example, low, normal, high. |
| MSGraphCalendar.Event.ICalUId | String | A unique identifier that is shared by all instances of an event across different calendars. |
| MSGraphCalendar.Event.IsCancelled | Boolean | Whether the event has been canceled. |
| MSGraphCalendar.Event.IsAllDay | Boolean | Whether the event lasts all day. |
| MSGraphCalendar.Event.ReminderMinutesBeforeStart | Number | The number of minutes before the event start time of the reminder alert. |
| MSGraphCalendar.Event.LastModifiedDateTime | String | Last modified time and date of the event using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.OriginalEndTimeZone | String | The end time zone that was set when the event was created. |
| MSGraphCalendar.Event.CreatedDateTime | String | The time and date the event was created using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.ChangeKey | String | Identifies the version of the event object. Every time the event is changed, the ChangeKey changes as well. This allows the exchange to apply changes to the correct version of the object. |
| MSGraphCalendar.Event.ID | String | The event's ID. |
| MSGraphCalendar.Event.IsOrganizer | Boolean | Whether the message sender is also the organizer. |
| MSGraphCalendar.Event.Sensitivity | String | The sensitivity of the event. Possible values are: normal, personal, private, confidential. |
| MSGraphCalendar.Event.IsReminderOn | Boolean | Whether an alert is set to remind the user of the event. |
| MSGraphCalendar.Event.Organizer | Unknown | The organizer of the event. |
| MSGraphCalendar.Event.Subject | String | The text of the event's subject line. |
| MSGraphCalendar.Event.OnlineMeetingUrl | Unknown | A URL for an online meeting, which is used only when an organizer specifies an event as an online meeting, such as a Skype meeting. Read-only. |
Command Example
!msgraph-calendar-create-event user="someemail@domain.com" calendar_id="Calendar" attendees="someemail@domain.com" body="This event was created by MSGraph integration" subject="test - delete" location="Tel Aviv" end="2022-12-11T17:30:00" start="2022-12-11T17:00:00" time_zone="Asia/Jerusalem"
Context Example
{
"MSGraphCalendar.Event": [
{
"@Odata.Context": "https://graph.microsoft.com/v1.0/$metadata#users('oren%40demistodev.onmicrosoft.com')/calendars('Calendar')/events/$entity",
"Attendees": [
{
"emailAddress": {
"address": "someemail@domain.com",
"name": "User Name"
},
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required"
}
],
"Body": {
"content": "This event was created by MSGraph integration",
"contentType": "text"
},
"BodyPreview": "This event was created by MSGraph integration",
"Categories": [],
"ChangeKey": "Some_Change_Key",
"CreatedDateTime": "2019-12-30T14:19:48.7510847Z",
"End": {
"dateTime": "2022-12-11T17:30:00.0000000",
"timeZone": "Asia/Jerusalem"
},
"HasAttachments": false,
"ICalUId": "040000008200E00074C5B7101A82E0080000000055837C311CBFD501000000000000000010000000C8489B38018FA74DA3FD6E7D67B7DC54",
"ID": "Some_ID",
"Importance": "normal",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"IsReminderOn": true,
"LastModifiedDateTime": "2019-12-30T14:19:48.7900629Z",
"Location": {
"displayName": "Tel Aviv",
"locationType": "default",
"uniqueId": "Tel Aviv",
"uniqueIdType": "private"
},
"Locations": [
{
"displayName": "Tel Aviv",
"locationType": "default",
"uniqueId": "Tel Aviv",
"uniqueIdType": "private"
}
],
"OnlineMeetingUrl": null,
"Organizer": {
"emailAddress": {
"address": "someemail@domain.com",
"name": "User Name"
}
},
"OriginalEndTimeZone": "Asia/Jerusalem",
"OriginalStartTimeZone": "Asia/Jerusalem",
"Recurrence": null,
"ReminderMinutesBeforeStart": 15,
"ResponseRequested": true,
"ResponseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"Sensitivity": "normal",
"SeriesMasterId": null,
"ShowAs": "busy",
"Start": {
"dateTime": "2022-12-11T17:00:00.0000000",
"timeZone": "Asia/Jerusalem"
},
"Subject": "test - delete",
"Type": "singleInstance",
"WebLink": "https://outlook.office365.com/owa/?itemid=AAMkADMzZWNjMjBkLTE2ZGQtNDE1NS05OTg3LTI5ZTRlY2Q5YjFiMgBGAAAAAACtWsHs6cTlRYm91jJyqUgDBwCPVsAqlO3YRKNF6ZoON8u7AAAAAAENAACPVsAqlO3YRKNF6ZoON8u7AACqxAGJAAA%3D&exvsurl=1&path=/calendar/item"
}
]
}
Human Readable Output
Event was created successfully:
| Subject | Organizer | Attendees | Start | End | ID |
|---|---|---|---|---|---|
| test - delete | User Name | User Name | 2022-12-11T17:00:00.0000000 | 2022-12-11T17:30:00.0000000 | Some_ID |
6. Update an existing event
Updates an existing event.
Base Command
msgraph-calendar-update-event
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user's ID or userPrincipalName. | Optional |
| event_id | The event's ID. | Required |
| attendees | The collection of attendees for the event. | Optional |
| body | The body of the message associated with the event. It can be in HTML or text format. | Optional |
| subject | The text of the event's subject line. | Optional |
| location | The location of the event for an online meeting, such as a Skype meeting. Read-only. | Optional |
| end | The date and time the event ends. For example '2017-05-28T12:00:00'. By default, the start time is in UTC. | Optional |
| original_end_time_zone | The end time zone when the event was created. | Optional |
| start | The date and time the event starts. For example '2017-05-28T12:00:00'. By default, the start time is in UTC. | Optional |
| time_zone | Represents a time zone, for example, 'Pacific Standard Time'. For more information, see https://docs.microsoft.com/en-us/graph/api/resources/datetimetimezone?view=graph-rest-1.0 | Optional |
| original_start | The original start time of the calendar item, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' | Optional |
| original_start_time_zone | The start time zone when the event was created. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.Event.OriginalStartTimeZone | String | The start time zone that was set when the event was created. |
| MSGraphCalendar.Event.HasAttachments | Boolean | Whether the event has attachments. |
| MSGraphCalendar.Event.ResponseRequested | Boolean | Whether the sender requests a response when the event is accepted or declined. |
| MSGraphCalendar.Event.WebLink | String | The URL used to open the event in Outlook on the web. |
| MSGraphCalendar.Event.Recurrence | Unknown | The recurrence pattern for the event. |
| MSGraphCalendar.Event.Start | Unknown | The date, time, and time zone that the event starts. By default, the start time is in UTC. |
| MSGraphCalendar.Event.End | Unknown | The date, time, and time zone that the event ends. By default, the end time is in UTC. |
| MSGraphCalendar.Event.Location | Unknown | The location of the event. |
| MSGraphCalendar.Event.Attendees | Unknown | The collection of attendees for the event. |
| MSGraphCalendar.Event.Type | String | The event type. For example, singleInstance, occurrence, exception, seriesMaster. Read-only. |
| MSGraphCalendar.Event.ResponseStatus.response | Unknown | Indicates the type of response sent in response to an event message. |
| MSGraphCalendar.Event.Importance | String | The importance of the event. For example, low, normal, high. |
| MSGraphCalendar.Event.ICalUId | String | A unique identifier that is shared by all instances of an event across different calendars. |
| MSGraphCalendar.Event.IsCancelled | Boolean | Whether the event has been canceled. |
| MSGraphCalendar.Event.IsAllDay | Boolean | Whether the event lasts all day. |
| MSGraphCalendar.Event.ReminderMinutesBeforeStart | Number | The number of minutes before the event start time of the reminder alert. |
| MSGraphCalendar.Event.LastModifiedDateTime | String | The last time and date the event was modified using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.OriginalEndTimeZone | String | The end time zone that was set when the event was created. |
| MSGraphCalendar.Event.CreatedDateTime | String | The date and time the event was created using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.ChangeKey | String | Identifies the version of the event object. Every time the event is changed, the ChangeKey changes as well. This allows the exchange to apply changes to the correct version of the object. |
| MSGraphCalendar.Event.ID | String | The ID of the event. |
| MSGraphCalendar.Event.IsOrganizer | Boolean | Whether the message sender is also the organizer. |
| MSGraphCalendar.Event.Sensitivity | String | The sensitivity of the event. Possible values are: normal, personal, private, confidential. |
| MSGraphCalendar.Event.IsReminderOn | Boolean | Whether an alert is set to remind the user of the event. |
| MSGraphCalendar.Event.Organizer | Unknown | The organizer of the event. |
| MSGraphCalendar.Event.Subject | String | The text of the event's subject line. |
| MSGraphCalendar.Event.OnlineMeetingUrl | Unknown | A URL for an online meeting, used only when an organizer specifies an event as an online meeting, such as a Skype meeting. Read-only. |
Command Example
!msgraph-calendar-update-event user="someemail@domain.com" event_id=Some_ID subject="updated"
Context Example
{
"MSGraphCalendar": [
{
"@Odata.Context": "https://graph.microsoft.com/v1.0/$metadata#users('oren%40demistodev.onmicrosoft.com')/calendar/events/$entity",
"Attendees": [
{
"emailAddress": {},
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required"
}
],
"Body": {
"content": "",
"contentType": "text"
},
"BodyPreview": "",
"Categories": [],
"ChangeKey": "Some_Change_Key",
"CreatedDateTime": "2019-12-30T14:16:47.4108451Z",
"End": {
"dateTime": "2022-11-11T15:30:00.0000000",
"timeZone": "UTC"
},
"HasAttachments": false,
"ICalUId": "040000008200E00074C5B7101A82E00800000000373066C51BBFD501000000000000000010000000D3EB65FAAFB082478A64C036CFE6783A",
"ID": "Some_ID",
"Importance": "normal",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"IsReminderOn": true,
"LastModifiedDateTime": "2019-12-30T14:19:50.1373174Z",
"Location": {
"address": {},
"coordinates": {},
"displayName": "",
"locationType": "default",
"uniqueIdType": "unknown"
},
"Locations": [],
"OnlineMeetingUrl": null,
"Organizer": {
"emailAddress": {
"address": "someemail@domain.com",
"name": "User Name"
}
},
"OriginalEndTimeZone": "Asia/Jerusalem",
"OriginalStartTimeZone": "Asia/Jerusalem",
"Recurrence": null,
"ReminderMinutesBeforeStart": 15,
"ResponseRequested": true,
"ResponseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"Sensitivity": "normal",
"SeriesMasterId": null,
"ShowAs": "busy",
"Start": {
"dateTime": "2022-11-11T15:00:00.0000000",
"timeZone": "UTC"
},
"Subject": "updated",
"Type": "singleInstance",
"WebLink": "https://outlook.office365.com/owa/?itemid=AAMkADMzZWNjMjBkLTE2ZGQtNDE1NS05OTg3LTI5ZTRlY2Q5YjFiMgBGAAAAAACtWsHs6cTlRYm91jJyqUgDBwCPVsAqlO3YRKNF6ZoON8u7AAAAAAENAACPVsAqlO3YRKNF6ZoON8u7AACqxAGGAAA%3D&exvsurl=1&path=/calendar/item"
}
]
}
Human Readable Output
Event:
| Subject | Organizer | Attendees | Start | End | ID |
|---|---|---|---|---|---|
| updated | User Name | None | 2022-11-11T15:00:00.0000000 | 2022-11-11T15:30:00.0000000 | Some_ID |
7. Delete an existing event
Deletes an existing event.
Base Command
msgraph-calendar-delete-event
Input
| Argument Name | Description | Required |
|---|---|---|
| user | The user ID or userPrincipalName. | Optional |
| event_id | The event ID. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| MSGraphCalendar.Event.OriginalStartTimeZone | String | The start time zone that was set when the event was created.. |
| MSGraphCalendar.Event.HasAttachments | Boolean | Whether the event has attachments. |
| MSGraphCalendar.Event.ResponseRequested | Boolean | Whether the sender receives a response when the event is accepted or declined. |
| MSGraphCalendar.Event.WebLink | String | The URL used to open the event in Outlook on the web. |
| MSGraphCalendar.Event.Recurrence | Unknown | The recurrence pattern for the event. |
| MSGraphCalendar.Event.Start | Unknown | The date, time, and time zone that the event starts. By default, the start time is in UTC. |
| MSGraphCalendar.Event.End | Unknown | The date, time, and time zone that the event ends. By default, the end time is in UTC. |
| MSGraphCalendar.Event.Location | Unknown | The location of the event. |
| MSGraphCalendar.Event.Attendees | Unknown | The collection of attendees for the event. |
| MSGraphCalendar.Event.Type | String | The event type. For example, singleInstance, occurrence, exception, seriesMaster. Read-only. |
| MSGraphCalendar.Event.ResponseStatus.response | Unknown | Indicates the type of response sent in response to an event message. |
| MSGraphCalendar.Event.Importance | String | The importance of the event. For example, low, normal, high. |
| MSGraphCalendar.Event.ICalUId | String | A unique identifier that is shared by all instances of an event across different calendars. |
| MSGraphCalendar.Event.IsCancelled | Boolean | Whether the event has been canceled. |
| MSGraphCalendar.Event.IsAllDay | Boolean | Whether the event lasts all day. |
| MSGraphCalendar.Event.ReminderMinutesBeforeStart | Number | The number of minutes before the event start time of the reminder alert. |
| MSGraphCalendar.Event.LastModifiedDateTime | String | The time and date the event was last modified using the ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z' |
| MSGraphCalendar.Event.OriginalEndTimeZone | String | The end time zone that was set when the event was created. |
| MSGraphCalendar.Event.CreatedDateTime | String | The time and date the event was created using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z'. |
| MSGraphCalendar.Event.ChangeKey | String | Identifies the version of the event object. Every time the event is changed, the ChangeKey changes as well. This allows the exchange to apply changes to the correct version of the object. |
| MSGraphCalendar.Event.ID | String | The ID of the Event. |
| MSGraphCalendar.Event.IsOrganizer | Boolean | Whether the message sender is also the organizer. |
| MSGraphCalendar.Event.Sensitivity | String | The sensitivity of the event. Possible values are: normal, personal, private, confidential. |
| MSGraphCalendar.Event.IsReminderOn | Boolean | Whether an alert is set to remind the user of the event. |
| MSGraphCalendar.Event.Organizer | Unknown | The organizer of the event. |
| MSGraphCalendar.Event.Subject | String | The text of the event's subject line. |
| MSGraphCalendar.Event.OnlineMeetingUrl | Unknown | A URL for an online meeting, used only when an organizer specifies an event as an online meeting, such as a Skype meeting. Read-only. |
Command Example
!msgraph-calendar-delete-event user="someemail@domain.com" event_id=Some_ID
Context Example
{
"MSGraphCalendar.Event": {
"@Odata.Context": "https://graph.microsoft.com/v1.0/$metadata#users('oren%40demistodev.onmicrosoft.com')/calendars('Calendar')/events/$entity",
"Attendees": [
{
"emailAddress": {
"address": "someemail@domain.com",
"name": "User Name"
},
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required"
}
],
"Body": {
"content": "This event was created by MSGraph integration",
"contentType": "text"
},
"BodyPreview": "This event was created by MSGraph integration",
"Categories": [],
"ChangeKey": "Some_Change_Key",
"CreatedDateTime": "2019-12-30T14:16:47.4108451Z",
"Deleted": true,
"End": {
"dateTime": "2022-11-11T17:30:00.0000000",
"timeZone": "Asia/Jerusalem"
},
"HasAttachments": false,
"ICalUId": "040000008200E00074C5B7101A82E00800000000373066C51BBFD501000000000000000010000000D3EB65FAAFB082478A64C036CFE6783A",
"ID": "Some_ID",
"Importance": "normal",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"IsReminderOn": true,
"LastModifiedDateTime": "2019-12-30T14:16:47.4508223Z",
"Location": {
"displayName": "Tel Aviv",
"locationType": "default",
"uniqueId": "Tel Aviv",
"uniqueIdType": "private"
},
"Locations": [
{
"displayName": "Tel Aviv",
"locationType": "default",
"uniqueId": "Tel Aviv",
"uniqueIdType": "private"
}
],
"OnlineMeetingUrl": null,
"Organizer": {
"emailAddress": {
"address": "someemail@domain.com",
"name": "User Name"
}
},
"OriginalEndTimeZone": "Asia/Jerusalem",
"OriginalStartTimeZone": "Asia/Jerusalem",
"Recurrence": null,
"ReminderMinutesBeforeStart": 15,
"ResponseRequested": true,
"ResponseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"Sensitivity": "normal",
"SeriesMasterId": null,
"ShowAs": "busy",
"Start": {
"dateTime": "2022-11-11T17:00:00.0000000",
"timeZone": "Asia/Jerusalem"
},
"Subject": "test - delete",
"Type": "singleInstance",
"WebLink": "https://outlook.office365.com/owa/?itemid=AAMkADMzZWNjMjBkLTE2ZGQtNDE1NS05OTg3LTI5ZTRlY2Q5YjFiMgBGAAAAAACtWsHs6cTlRYm91jJyqUgDBwCPVsAqlO3YRKNF6ZoON8u7AAAAAAENAACPVsAqlO3YRKNF6ZoON8u7AACqxAGGAAA%3D&exvsurl=1&path=/calendar/item"
}
}
Human Readable Output
Event was deleted successfully.
8. msgraph-calendar-auth-reset
Run this command if for some reason you need to rerun the authentication process.
Base Command
msgraph-calendar-auth-reset
Input
There are no input arguments for this command.
Context Output
There are no context output for this command.
Configuration parameters
url— Server URL (required)auth_id— ID (received from the admin consent - see Detailed Instructions (?)credentials_auth_id—tenant_id— Token (received from the admin consent - see Detailed Instructions (?) section)credentials_tenant_id—enc_key— Key (received from the admin consent - see Detailed Instructions (?)credentials_enc_key—certificate_thumbprint— Certificate Thumbprintcredentials_certificate_thumbprint—private_key— Private Keyuse_managed_identities— Use Azure Managed Identitiesmanaged_identities_client_id—default_user— Default userinsecure— Trust any certificate (not secure)proxy— Use system proxy settingsself_deployed— Use a self-deployed Azure Application
Commands (8)
-
msgraph-calendar-auth-resetRun this command if for some reason you need to rerun the authentication process.
-
msgraph-calendar-create-eventCreates a new event.
-
msgraph-calendar-delete-eventUpdates an existing event.
-
msgraph-calendar-get-calendarRetrieves one of user's Calendars.
-
msgraph-calendar-get-eventRetrieves an event by event ID.
-
msgraph-calendar-list-calendarsRetrieves a list of user Calendar.
-
msgraph-calendar-list-eventsRetrieves a list of Calendar's events.
-
msgraph-calendar-update-eventUpdates an existing event.
# Authentication You can authenticate either by Entra ID applications or by Azure Managed Identities. ## Authentication Based on Entra ID Applications Microsoft integrations (Graph and Azure) in Cortex XSOAR use Entra ID applications to authenticate with Microsoft APIs. These integrations use OAuth 2.0 and OpenID Connect standard-compliant authentication services, which use an Application to sign in or delegate authentication. For more information, see the Microsoft identity platform overview. There are two application authentication methods available: * [Cortex XSOAR Application](https://xsoar.pan.dev/docs/reference/articles/microsoft-integrations---authentication#cortex-xsoar-application) * [Self-Deployed Application](https://xsoar.pan.dev/docs/reference/articles/microsoft-integrations---authentication#self-deployed-application) **Note:** Depending on the authentication method you use, the integration parameters might change. To allow access to O365 Outlook Calendar, an administrator has to approve the Cortex XSOAR app using an admin consent flow, by clicking this [link](https://oproxy.demisto.ninja/ms-graph-calendar). After authorizing the Cortex XSOAR app, you will get an ID, Token, and Key which need to be added to the relevant integration instance settings fields. ## Authentication Based on Azure Managed Identities ##### Note: This option is relevant only if the integration is running on Azure VM. Follow one of these steps for authentication based on Azure Managed Identities: - ##### To use System Assigned Managed Identity - Select the **Use Azure Managed Identities** checkbox and leave the **Azure Managed Identities Client ID** field empty. - ##### To use User Assigned Managed Identity 1. Go to [Azure Portal](https://portal.azure.com/) -> **Managed Identities**. 2. Select your User Assigned Managed Identity -> copy the Client ID -> paste it in the **Azure Managed Identities Client ID** field in the instance settings. 3. Select the **Use Azure Managed Identities** checkbox. For more information, see [Managed identities for Azure resources](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview).