---
schema_version: "1"
id: 36058b56c04acff953698b08e141ac3381653edcc2fb563432d04bab6d57f8f0
title: Microsoft Dynamics GP Connector 3.0
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/index.md
canonical_url: https://docs.mulesoft.com/microsoft-dynamics-gp-connector/latest/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: aeaee9ae5cdc2297f4088c197272081e00c8dc844bedf6fda12c77dbeb0e73f1
description: MuleSoft Documentation Site
release: "3.0"
latest: true
---
---
product: Microsoft Dynamics GP Connector
version: 3.0
is-latest-version: true
---

# Microsoft Dynamics GP Connector 3.0

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

Anypoint Connector for Microsoft Dynamics GP enables Mule applications to interact with the
Microsoft Dynamics Great Plains (GP) Web Services.

Release Notes:
[Microsoft Dynamics GP Connector Release Notes](https://docs.mulesoft.com/release-notes/connector/microsoft-dynamics-gp-connector-release-notes-mule-4)  
Exchange:
[Microsoft Dynamics GP Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-microsoft-dynamics-gp-connector/)

## Before You Begin

To use this information, you should be familiar with Microsoft Dynamics GP, Mule runtime engine
(Mule), Anypoint Connectors, Anypoint Studio, Mule concepts, elements in a Mule flow, and Global
Elements.

To use this connector, you need:

- Microsoft Dynamics GP instance.

- Valid credentials for a Kerberos connection.

- MuleSoft Enterprise License.

## POM File Information

```xml
<dependency>
  <groupId>com.mulesoft.connectors</groupId>
  <artifactId>mule-microsoft-dynamics-gp-connector</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
```

Replace `x.x.x` with the version that corresponds to the connector you are using.

To obtain the most up-to-date `pom.xml` file information, access the connector in
[Anypoint Exchange](https://www.mulesoft.com/exchange/) and click **Dependency Snippets**.

## Add the Connector to a Studio Project

Anypoint Studio provides two ways to add the connector to your Studio project: from the Exchange
button in the Studio taskbar or from the Mule Palette view.

### Add the Connector Using Exchange

1.  In Studio, create a Mule project.

2.  Click the Exchange icon **(X)** in the upper-left of the Studio task bar.

3.  In Exchange, click **Login** and supply your Anypoint Platform username and password.

4.  In Exchange, search for "gp".

5.  Select the connector and click **Add to project**.

6.  Follow the prompts to install the connector.

### Add the Connector in Studio

1.  In Studio, create a Mule project.

2.  In the Mule Palette view, click **(X) Search in Exchange**.

3.  In **Add Modules to Project**, type "gp" in the search field.

4.  Click this connector’s name in **Available modules**.

5.  Click **Add**.

6.  Click **Finish**.

### Configure in Studio

1.  Drag the connector operation to the Studio canvas.

2.  Configure the global element for the connector.

    ![Microsoft Dynamics GP global elements properties config window](/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/_images/ms-dynamics-gp-anypoint-config.png)

    On the Advanced tab, the global element includes optional **Timeout unit**, **Connection
    timeout**, and **Read timeout** fields. When you don’t set them, the Kerberos Authentication
    **Timeout Configuration** values remain in effect. Each operation can override those values in
    the **Timeout Override** group on its Advanced tab.

## Use Case: Studio

- [Create Customer](#use-case-1)

- [Get Customer](#use-case-2)

- [Update Customer](#use-case-3)

- [Delete Customer](#use-case-4)

- [Get Customer List](#use-case-5)

### Create Customer

![Create customer use case flow](/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/_images/ms-dynamics-gp-create-customer.png)

1.  From the Mule Palette drag an HTTP Listener element to the canvas and use the default
    configuration but with the path set to /createCustomer.

2.  Drag a Transform Message element next to the HTTP Listener and add:

    ```dataweave
    %dw 2.0
    output application/xml
    ns ns0 http://schemas.microsoft.com/dynamics/gp/2010/01
    ns ns01 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.Common
    ns ns02 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.GP
    ns xsi http://www.w3.org/2001/XMLSchema-instance
    ---
    {
    	ns0#CreateCustomer: {
    		ns0#customer: {
    			ns02#Key: {
    				ns02#Id: attributes.queryParams.customerKeyID
    			},
    			ns02#Name: attributes.queryParams.customerName
    		},
    		ns0#context: {
    			ns01#OrganizationKey @(xsi#"type": "ns01:CompanyKey") : {
    				ns01#Id: attributes.queryParams.companyKeyID
    			}
    		}
    	}
    }
    ```

3.  Drag a Microsoft Dynamics GP connector next to the Transform Message.

4.  Set its configuration and fill in the required fields, this applies to any other Dynamics GP
    connectors that are dragged into the flows.

5.  Select the operation Create Entity. Pick the Customer entity from the drop-down list. Leave the
    Input Reference as it is.

6.  Drag a Set Payload element next to the Connector and set its value to `Success`.

### Get Customer

![Get customer use case flow](/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/_images/ms-dynamics-gp-get-customer.png)

1.  From the Mule Palette, drag an HTTP Listener element to the canvas and use the default
    configuration but with the path set to /getCustomer.

2.  Drag a Transform Message element next to the HTTP Listener and add:

    ```dataweave
    %dw 2.0
    output application/xml
    ns ns0 http://schemas.microsoft.com/dynamics/gp/2010/01
    ns ns01 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.GP
    ns ns02 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.Common
    ns xsi http://www.w3.org/2001/XMLSchema-instance
    ---
    {
    	ns0#GetCustomerByKey: {
    		ns0#key: {
    			ns01#Id: attributes.queryParams.customerKeyID
    		},
    		ns0#context: {
    			ns02#OrganizationKey @(xsi#"type": "ns02:CompanyKey") : {
    				ns02#Id: attributes.queryParams.companyKeyID
    			}
    		}
    	}
    }
    ```

3.  Drag a Microsoft Dynamics GP connector next to the Transform Message.

4.  Select the operation Get Entity By Key. Pick the Customer entity from the drop-down list. Leave
    the Input Reference as it is.

5.  Drag a Transform Message next to the connector and add:

    ```dataweave
    %dw 2.0
    output application/json
    ---
    payload
    ```

### Update Customer

![Update customer use case flow](/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/_images/ms-dynamics-gp-update-customer.png)

1.  From the Mule Palette, drag an HTTP Listener element to the canvas and use the default
    configuration but with the path set to /updateCustomer.

2.  Drag a Transform Message element next to the HTTP Listener and add:

    ```dataweave
    %dw 2.0
    output application/xml
    ns ns0 http://schemas.microsoft.com/dynamics/gp/2010/01
    ns ns01 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.Common
    ns ns02 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.GP
    ns xsi http://www.w3.org/2001/XMLSchema-instance
    ---
    {
    	ns0#GetCustomerByKey: {
    		ns0#key: {
    			ns02#Id: attributes.queryParams.keyId
    		},
    		ns0#context: {
    			ns01#OrganizationKey @(xsi#"type": "ns01:CompanyKey") : {
    				ns01#Id: attributes.queryParams.companyKeyID
    			}
    		}
    	}
    }
    ```

3.  Create a variable called 'updatedComment' on this Transform Message with this value:

    ```dataweave
    %dw 2.0
    output application/java
    ---
    {
    	comment1: payload.customer.comment1
    }
    ```

4.  Drag a Microsoft Dynamics GP connector next to the Transform Message.

5.  Select the Get Entity By Key operation. Pick the Customer entity from the drop-down list. Leave
    the Input Reference as it is.

6.  Drag a Transform Message element next to the Connector and add:

    ```dataweave
    %dw 2.0
    output application/java
    ---
    %dw 2.0
    output application/xml
    ns ns0 http://schemas.microsoft.com/dynamics/gp/2010/01
    ns ns01 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.Common
    ns ns02 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.GP
    ns xsi http://www.w3.org/2001/XMLSchema-instance
    ---
    {
    	ns0#UpdateCustomer: {
    		ns0#customer: {
    			ns02#Comment1: vars.comment1,
    			ns02#Key: {
    				ns02#Id: payload.key.id
    			},
    			ns02#Name: payload.name
    		},
    		ns0#context: {
    			ns01#OrganizationKey @(xsi#"type": "ns01:CompanyKey") : {
    				ns01#Id: attributes.queryParams.companyKeyID
    			}
    		}
    	}
    }
    ```

7.  Drag a Microsoft Dynamics GP connector next to the Transform Message.

8.  Select the Update Entity operation. Pick the Customer entity from the drop-down list. Leave the
    Input Reference as it is.

9.  Drag a Set Payload element next to the connector and set its value to `Success`.

### Delete Customer

![Delete customer use case flow](/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/_images/ms-dynamics-gp-delete-customer.png)

1.  From the Mule Palette, drag an HTTP Listener element to the canvas and use the default
    configuration but with the path set to /deleteCustomer.

2.  Drag a Transform Message element next to the HTTP Listener and add:

    ```dataweave
    %dw 2.0
    output application/xml
    ns ns0 http://schemas.microsoft.com/dynamics/gp/2010/01
    ns ns01 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.GP
    ns ns02 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.Common
    ns xsi http://www.w3.org/2001/XMLSchema-instance
    ---
    {
    	ns0#DeleteCustomer: {
    		ns0#key: {
    			ns01#Id: attributes.queryParams.customerKeyID
    		},
    		ns0#context: {
    			ns02#OrganizationKey @(xsi#"type": "ns02:CompanyKey") : {
    				ns02#Id: attributes.queryParams.companyKeyID
    			}
    		}
    	}
    }
    ```

3.  Drag a Microsoft Dynamics GP connector next to the Transform Message.

4.  Select the Delete Entity. Pick the Customer entity from the drop-down list. Leave the Input
    Reference as it is.

5.  Drag a Set Payload element next to the connector and set its value to `Success`.

### Get Customer List

![Get customer list use case flow](/mulesoft/current/en-us/microsoft-dynamics-gp-connector/latest/_images/ms-dynamics-gp-get-customer-list.png)

1.  From the Mule Palette, drag an HTTP Listener element to the canvas and use the default
    configuration but with the path set to /getCustomerList.

2.  Drag a Transform Message element next to the HTTP Listener and add:

    ```dataweave
    %dw 2.0
    output application/xml
    ns ns0 http://schemas.microsoft.com/dynamics/gp/2010/01
    ns ns01 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.Common
    ns ns02 http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.GP
    ns xsi http://www.w3.org/2001/XMLSchema-instance
    ---
    {
    	ns0#GetCustomerList: {
    		ns0#criteria: {
    			ns02#Name: {
    				ns01#Like: attributes.queryParams.like
    			}
    		},
    		ns0#context: {
    			ns01#OrganizationKey @(xsi#"type": "ns01:CompanyKey") : {
    				ns01#Id: attributes.queryParams.companyKeyID
    			}
    		}
    	}
    }
    ```

3.  Drag a Microsoft Dynamics GP connector next to the Transform Message.

4.  Select the Get Entity List. Pick the Customer entity from the drop-down list. Leave the Input
    Reference as it is.

5.  Drag a Transform Message next to the connector and add:

    ```dataweave
    %dw 2.0
    output application/json
    ---
    payload
    ```

## See Also

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