Skip to main content

Microsoft Dynamics 365 Add/Update Contact TO iPaaS.com

Transfer MSD365 contact records to iPaaS.com

Updated yesterday

Overview

Contact records can be transferred to iPaaS.com through both manual sync and polling. This integration supports syncing of Contact data to iPaaS.com using the Microsoft Dynamics 365 Contact ID for identification.

Before You Begin

Ensure the following prerequisites are in place before configuring this integration.

Microsoft Dynamics 365 Requirements

  • Contact records must exist with valid Name and Email data

  • Web Services must be enabled for Customers, Customer Card, and Contact Card

  • Contact must be of Type "Person" and RecordType "Contact"

iPaaS.com Requirements

  • API credentials with create/update permissions for Customer API

  • Custom fields must be created for Customer Type, Record Type, Role, Active, and iPaaS.com Company ID

  • Company records must exist in iPaaS.com if CompanyID_Contact is mapped

ID Format

When manually transferring a Contact to iPaaS.com, use the Microsoft Dynamics 365 Internal ID as the contact identifier. This ID uniquely represents each Contact record.

Webhook External ID Formats

  • {{customer_no}} - The customer_no serves as the primary identifier in the Microsoft Dynamics 365 customers API.

    • Example: 44552

  • {{Id}} - The Id serves as the primary identifier in the Microsoft Dynamics 365 customers API.

    • Example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301

  • {{Id}}|contact - The Id|contact serves as the primary identifier for a Contact record in the Microsoft Dynamics 365 customers API.

    • Example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301|contact

  • {{customer_no}}|contact - The customer_no|contact serves as the primary identifier for a Contact record in the Microsoft Dynamics 365 customers API.

    • Example: 44552|contact

Mapping Collection Status

  • Status: Enabled

  • Trigger Events: Contact Create, Contact Update

Supported Child Collections

System Caveats

Microsoft Dynamics 365 Caveats

  • Type and RecordType Filtering: Only records where Type is "Person" and RecordType is "Contact" are processed.

  • Company Linking: If CompanyID_Contact is provided, the corresponding company must exist in iPaaS.com for successful linking.

iPaaS.com Caveats

  • Email Uniqueness: Email must be present and unique in iPaaS.com. Duplicate emails will cause sync failures.

  • Custom Fields Required: Custom fields for Customer Type, Record Type, Role, Active, and iPaaS.com Company ID must be created in iPaaS.com.

Authentication and Security

Microsoft Dynamics 365 API credentials are required for accessing the Contact API. Ensure credentials are stored securely within the iPaaS.com credential manager.

Integration Flow

The integration processes Microsoft Dynamics 365 Contact records as follows:

  1. Contact is created or updated in Microsoft Dynamics 365.

  2. Polling or manual sync triggers the transfer.

  3. Mapping filter validates the contact (Type == "Person" && RecordType == "Contact").

  4. iPaaS.com authenticates with Microsoft Dynamics 365 API.

  5. Contact data fields are mapped from Microsoft Dynamics 365 to iPaaS.com format.

  6. CompanyID_Contact is resolved to iPaaS.com Company ID if present.

  7. Child collection processes contact addresses.

  8. Contact record is created or updated in iPaaS.com as a Customer.

  9. Transfer status and any errors are logged.

Mappings

Parent: Dynamics Contact Add/Update TO iPaaS

Mapping Filter

Type == "Person" && RecordType == "Contact"

Description

This filter ensures only Contact records are processed. Records must have Type "Person" and RecordType "Contact".

Mapping Type

Source (Dynamics 365)

Destination (iPaaS.com)

Description

Field

Customer Type (Custom Field)

Customer Type (Custom Field)

Maps customer type from Dynamics 365.

Field

RecordType

Record Type (Custom Field)

Maps Record Type from Dynamics 365.

Field

WebUserRole_Contact

Role (Custom Field)

Maps the web user role of the contact.

Dynamic Formula

AdditionalProperties (Active_Web_User)

Active (Custom Field)

Retrieves Active_Web_User value from AdditionalProperties using GetValueFromCustomField method.

Dynamic Formula

CompanyID_Contact

iPaaS.com Company ID (Custom Field)

If CompanyID_Contact exists, resolves corresponding iPaaS.com Company ID using GetSpaceportIdAsync; otherwise returns empty.

Field

No

CustomerNumber

(Required) Maps Dynamics 365 customer number.

Field

FirstName_Contact

FirstName

(Required) Maps contact's first name.

Field

LastName_Contact

LastName

(Required) Maps contact's last name.

Dynamic Formula

EMail

EmailAddress

(Required) Maps contact's email address.

Field

CompanyName_Contact

Company

(Recommended) Maps contact's company name.

Child Collection: Contact Address Add/Update To iPaaS.com

Mapping Filter

SourceTypeName != "ParentOnly"

Description

This filter processes address records except those marked as ParentOnly.

Mapping Type

Source (Dynamics 365)

Destination (iPaaS.com)

Description

Field

Address

Address1

Maps Address to Address1.

Field

Address2

Address2

Maps Address2 to Address2

Field

City

City

Maps City to City.

Field

County

Region

Maps County to Region.

Field

CountryRegionCode

Country

Maps the Country code to Country.

Field

PostCode

PostalCode

Maps PostCode to PostalCode.

Field

PhoneNo

PhoneNumber

Maps PhoneNo to PhoneNumber

Static

true

PreventDuplicate

When set true, prevents duplicate records from being created.

Error Handling

Invalid Email

Email format is incorrect.

  • Description: The email field format is invalid.

  • Resolution: Ensure the email field is valid and follows the format user@example.com.

Duplicate Contact

Contact already exists in iPaaS.com.

  • Description: A contact with the same identifier already exists.

  • Resolution: Check for existing records before creating new contacts.

Missing Email

Email field is empty.

  • Description: The email field is required for contact creation.

  • Resolution: Ensure email is present in Microsoft Dynamics 365 before syncing.

Company Not Found

Company ID not found in iPaaS.com.

  • Description: The CompanyID_Contact references a company that does not exist in iPaaS.com.

  • Resolution: Ensure the company exists in iPaaS.com before syncing contacts with company relationships.

Validation and Testing

Before deploying this integration, verify the following configuration items and run the test scenarios to confirm proper operation.

Validation Rules

  • Email: Must be a valid email format.

  • CompanyID_Contact: Must exist in Microsoft Dynamics 365 and link to iPaaS.com.

  • Email Uniqueness: Email should be present and unique.

Validation Checklist

  1. Company exists in iPaaS.com (if CompanyID_Contact is mapped).

  2. Email is present, valid, and unique.

  3. Custom fields exist in iPaaS.com for extended data.

  4. Contact Type and RecordType are correct.

Test Scenarios

Scenario 1: Valid Contact Record

Sync a contact from Microsoft Dynamics 365. Contact should be successfully transferred to iPaaS.com.

Scenario 2: Duplicate Contact (Failure Case)

Attempt to sync a contact that already exists. Error should be logged.

Scenario 3: Missing Email (Failure Case)

Attempt to sync a contact without an email address. Sync should fail with an error logged.

Scenario 4: Contact with Linked Company

Sync a contact with a valid CompanyID_Contact. Contact should be created with the company relationship in iPaaS.com.

Additional Notes

  • Contacts are created as Customer records in iPaaS.com with RecordType "Contact".

  • Company relationships require the company to exist in iPaaS.com first.

  • Custom fields must be created in iPaaS.com before syncing extended data.

  • Both polling and manual sync are supported for this integration.

Did this answer your question?