# Update Record

> `UiPath.MicrosoftDynamics.Activities.UpdateRecord`

`UiPath.MicrosoftDynamics.Activities.UpdateRecord`

The **Update Record** activity uses the Web API [PATCH](https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/update-delete-entities-using-web-api?view=dynamics-ce-odata-9) operation to update a record.

After updating the record, the activity outputs the status of the request (success/failure information) in a `ResponseStatus` object (**MicrosoftDynamicsStatus**) that you can use in subsequent activities (e.g., conditional logic).

## 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 [Setup](https://docs.uipath.com/activities/other/latest/legacy-integrations/microsoft-dynamics-365-setup) steps.
2. Add the [Microsoft Dynamics Application Scope](https://docs.uipath.com/activities/other/latest/legacy-integrations/microsoft-dynamics-365-scope) activity to your project.
3. Add an activity or run an external process that outputs the record identifier (e.g., [Insert Record](https://docs.uipath.com/activities/other/latest/legacy-integrations/microsoft-dynamics-365-insert-record), [Search Records](https://docs.uipath.com/activities/other/latest/legacy-integrations/microsoft-dynamics-365-search-records)).
4. Add the **Update Record** activity inside the **Microsoft Dynamics Application Scope** activity.
5. Click the **Configure** button inside the **Update Record** activity (this opens the **Object Wizard**).
6. Select the **Object** you want to update, enter the record identifier, and add the fields (with values) that you want to update.
7. Create and enter a `ResponseStatus` variable for the [Output](https://docs.uipath.com/activities/other/latest/legacy-integrations/microsoft-dynamics-365-update-record#update-record) property.
   * Your input property values are sent in the [PATCH](https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/update-delete-entities-using-web-api?view=dynamics-ce-odata-9) operation request.
   * The operation returns the `ResponseStatus` and value to your output property variable.

     ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/legacy-integrations-docs-image-178307-17c0f4ab-0826416b.webp)

## Properties

The values for the following properties are specified when adding this activity to your project in UiPath Studio.

### Configure

To enter your **Update Record** property values, you must use the **Object Wizard** by clicking the **Configure** button.

When you select an **Object** using the Object Wizard, you can add the fields that you want to update. For a complete list of the available fields for each object, see the [Web API EntityType Reference](https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/entitytypes?view=dynamics-ce-odata-9) in the Microsoft documentation.

![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/legacy-integrations-docs-image-179492-1b0b857e-fe1b5480.webp)

## Properties

### Advanced

* **AdditionalFields** - A `DataRow` that includes the columns and values that you want to insert. Enter a `DataRow` variable.
  + To determine/validate your `DataRow` column names, click the **Configure** button, select your **Object**, and review the names shown in the **Field** column; your `DataRow` column names must match the shown value.
  + If you enter a value for a field in both the **Object Wizard** and the **AdditionalFields** property, the value entered in the **Object Wizard** takes precedent (overwriting the **AdditionalFields** value).

### Common

* **DisplayName** - The display name of the activity. This field supports only `Strings` or `String` variables.

### Misc

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

### Output

* **ResponseStatus** - The status of the request (success/failure information). Enter a `ResponseStatus` variable (*UiPath.BAF.Models.ResponseStatus*). The `ResponseStatus` object includes three properties that you can use in other activities.
  + **Success** - `Boolean` - Specifies whether the API request was successful.
  + **ErrorCode** - `String` - The response error if the API request is unsuccessful (**Success**=*False*).
  + **Message** - `String` - The error message.

## Example

The following image shows an example of the activity dependency relationship and input/output property values.

## Example

The following image shows an example of the activity dependency relationship and input/output property values.

For step-by-step instructions and examples, see the [Quickstart](https://docs.uipath.com/activities/other/latest/legacy-integrations/microsoft-dynamics-365-quickstarts) guide.

![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/legacy-integrations-docs-image-181088-62ef459c-8ec64a41.webp)
