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
Parent Collection: Dynamics Add/Update Contact To iPaaS
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:
Contact is created or updated in Microsoft Dynamics 365.
Polling or manual sync triggers the transfer.
Mapping filter validates the contact (Type == "Person" && RecordType == "Contact").
iPaaS.com authenticates with Microsoft Dynamics 365 API.
Contact data fields are mapped from Microsoft Dynamics 365 to iPaaS.com format.
CompanyID_Contact is resolved to iPaaS.com Company ID if present.
Child collection processes contact addresses.
Contact record is created or updated in iPaaS.com as a Customer.
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 |
| Active (Custom Field) | Retrieves |
Dynamic Formula |
| iPaaS.com Company ID (Custom Field) | If CompanyID_Contact exists, resolves corresponding iPaaS.com Company ID using |
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 |
| 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
Company exists in iPaaS.com (if CompanyID_Contact is mapped).
Email is present, valid, and unique.
Custom fields exist in iPaaS.com for extended data.
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.
