# Modify Event

> `UiPath.MicrosoftOffice365.Activities.Calendar.ModifyEvent`

`UiPath.MicrosoftOffice365.Activities.Calendar.ModifyEvent`

## **Description**

Uses the Microsoft Graph [Update event](https://docs.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=http) API to change an existing event (**Event**). You can update the date and time (**Start Time**, **End Time**, and **Time Zone**) and the content (**Body** and **Subject**). Additionally, you have the option to assign a new or different event a category (**Categories**).

### Scopes

This activity requires the following scopes:

* Calendars.ReadWrite

OR

* Calendars.ReadWrite.Shared

## Project compatibility

Windows - Legacy | Windows

## Configuration

**Properties**

#### Common

* **DisplayName** - The display name of the activity. This property supports `String` variables and string formatted values.

#### **Event Content**

* **Body** - The body of the event. If the **Is Body HTML** option is selected, then the body needs to be specified in HTML format. This property supports `String` variables and string formatted values.
* **Is Body HTML** - If selected, the body will be interpreted in HTML format. This field supports Boolean values.
* **Subject** - The subject of the event. This property supports `String` variables and string formatted values.

#### **Event Scheduling**

* **End Time** - The end time for the event. This field supports only `DateTime` variables.
* **Start Time** - The start time for the event. This field supports only `DateTime` variables.

  :::note
  * Your `DateTime` values must be formatted as MM/DD/YYYY Hour:Minute:Seconds (e.g., *10/31/2019 12:00:00*).
  * The `DateTime` format is auto-corrected if you enter enough details. For example, if you enter *10/31/19 3pm* it auto-corrects to *10/31/2019 15:00:00*.
  :::
* **TimeZone** - The time zone in which the **Start Time** and **End Time** are interpreted. The default value is **Your system's time zone** (not displayed). Enter a valid `String` (e.g., *"Pacific Standard Time"*). This property supports `String` variables and string formatted values.

#### Input

* **Account** - (Optional) The email address with which to interact. This may include any shared mailbox to which the current user has access rights. If left blank, the current user's account is assumed. This property supports `String` variables and string formatted values.

  :::note
  **Account** field is mandatory for **ApplicationIdAndSecret** and **ApplicationIdAndCertificate** authentication types.
  :::
* **Event** - The event to modify. This field supports only `Event` variables. Enter the output property variable from the [Search Events](https://docs.uipath.com/activities/other/latest/productivity/office365-search-events) activity (**Events**) and specify the item in the array that you want to use (e.g., *myEvents(0)*).

#### Misc

* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level. This field supports Boolean values.

#### Options

* **Categories** - The categories associated with the event. This field supports only `String[]` variables. Your value must match a name from your specified **Calendar** list of categories (see example image below). To enter one category, include it between { } and declare it with " " (e.g., *{"Purple category"}*). To enter multiple categories, include all between { }, declare each with " ", and separate each by a comma (e.g., *{"A CustomCategory", "Purple category"}*).

![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/activities-docs-image-180056-5c5460f6.webp)
* **Is All Day** - If selected, the event is scheduled for the entire day. If selected, the values that you enter in the **Start Time** and **End Time** properties are overwritten. Entering values in the **Start Time** and **End Time** properties is required even when you select this property. This field supports Boolean values.
* **Show As** - The user's availability during the event. Select one of the six options: **Unknown**, **Free**, **Tentative**, **Busy**, **Oof** or **WorkingElsewhere**. The default value is **Free**.

## How it works

The following steps and message sequence diagram is an example of how the activity works from design time (i.e., the activity dependencies and input/output properties) to run time.

1. Complete the steps.
2. Add the [Microsoft Office 365 Scope](https://docs.uipath.com/activities/other/latest/productivity/microsoft-office-365-scope) activity to your project.
3. (Optional) Add an activity or run an external process that outputs a `Calendar` object (e.g., [Get Calendars](https://docs.uipath.com/activities/other/latest/productivity/office365-get-calendars)).
4. Add an activity or run an external process that outputs a `Event` object (e.g., [Search Events](https://docs.uipath.com/activities/other/latest/productivity/office365-search-events)).
5. Add the **Modify Event** activity inside the **Microsoft Office 365 Scope** activity.
6. Enter values for the Event Content and Event Scheduling properties.
7. Run the activity.
   * Your input property values are sent to the [UpdateEvent](https://docs.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=http) API.

![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/activities-docs-image-180412-77a0808e.webp)
