---
schema_version: "1"
id: 0916263261221207843b77f97ec40986f437b98831faccb4311e5ec470b67ce3
title: Microsoft Dynamics 365 for Finance and Operations Connector 3.1 Additional Configuration Information
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/microsoft-365-ops-connector/latest/microsoft-365-finance-operations-connector-config-topics.md
canonical_url: https://docs.mulesoft.com/microsoft-365-ops-connector/latest/microsoft-365-finance-operations-connector-config-topics
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 6d210497437e89aa4c0e3aa44d0b3860ece12840624c2be20dfb592108ccfe8b
description: MuleSoft Documentation Site
release: "3.1"
latest: true
---
---
product: Microsoft Dynamics 365 For Finance and Operations Connector
version: 3.1
is-latest-version: true
---

# Microsoft Dynamics 365 for Finance and Operations Connector 3.1 Additional Configuration Information

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

In Microsoft Dynamics 365 for Finance and Operations Connector 3.1.7 and later, you can use custom
logic to configure properties of complex types when creating entities.

## Configure Complex Types with Custom Logic

In Microsoft Dynamics 365 for Finance and Operations Connector 3.1.6 and earlier, suppose you use
the following payload in the **Create** operation:

```json
%dw 2.0
output application/java
---
{
    "Name": "GENERIC-CUSTOMER-NAME",
    "CustomerAccount": "CUSTOMER-ACCOUNT",
    "SalesCurrencyCode": "EUR",
    "CustomerGroupId": "GROUP-ID",
    "IsServiceDeliveryAddressBased": "No"
}
```

`IsServiceDeliveryAddressBased` is a property of the `Microsoft.Dynamics.DataEntities.NoYes` type,
which is an enum type in the Microsoft data model. Using this payload in the **Create** operation
throws an exception because the value for `IsServiceDeliveryAddressBased` is `No`, which is a string
instead of an enum type.

In Microsoft Dynamics 365 for Finance and Operations Connector 3.1.7 and later, use the newly added
custom logic to properly configure the property and avoid exceptions:

```json
%dw 2.0
output application/java
---
{
    "Name": "GENERIC-CUSTOMER-NAME",
    "CustomerAccount": "CUSTOMER-ACCOUNT",
    "SalesCurrencyCode": "EUR",
    "CustomerGroupId": "GROUP-ID",
    "IsServiceDeliveryAddressBased": {
            "muleAdditions": {
                "kind": "enum",
                "type": "Microsoft.Dynamics.DataEntities.NoYes"
            },
            "value" : "No"
        }
}
```

The value for `IsServiceDeliveryAddressBased` must be an object type that contains the following
fields:

- `muleAdditions`

  - `kind`

    Key that indicates the kind of complex object. The only supported value is `enum`.

  - `type`

    Key that indicates the type in the Microsoft data model. Supported values are any enum type in
    the Microsoft data model.

    To find out the enum type:

    - In Microsoft Dynamics 365 for Finance and Operations Connector 3.1.7 and later, the improved
      metadata now shows the complete name of a data type.

      ![List of metadata that shows the complete naming of the data type](/mulesoft/current/en-us/microsoft-365-ops-connector/latest/_images/enum.png)

    - Execute a GET request on `https://{tenant}.com/data/$metadata`. The resulting XML file
      contains the entire data model.

- `value`

  Key with the enum value as a string.

## Next Step

After you complete configuring the connector, you can try the
[Examples](https://docs.mulesoft.com/microsoft-365-ops-connector/latest/microsoft-365-finance-operations-connector-examples).

## See Also

- [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)

- [Salesforce Help](https://help.salesforce.com)
