Microsoft Dynamics field mappings
The tables below contain the mappings between Microsoft Dynamics source fields and their corresponding Experience Data Model (XDM) fields.
Contacts contacts
address1_addressid
workAddress._id
address1_city
workAddress.city
address1_country
workAddress.country
address1_county
workAddress.stateProvince
address1_latitude
workAddress._schema.latitude
address1_line1
workAddress.street1
address1_line2
workAddress.street2
address1_line3
workAddress.street3
address1_longitude
workAddress._schema.longitude
address1_postalcode
workAddress.postalCode
address1_postofficebox
workAddress.postOfficeBox
address1_stateorprovince
workAddress.state
assistantname
extendedWorkDetails.assistantDetails.name.fullName
assistantphone
extendedWorkDetails.assistantDetails.phone.number
birthdate
person.birthDate
"Dynamics"
b2b.personKey.sourceType
"${CRM_ORG_ID}"
b2b.personKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.contactid
b2b.personKey.sourceID
concat(contactid,"@${CRM_ORG_ID}.Dynamics")
b2b.personKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced.iif(contactid != null && contactid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}","sourceID", contactid, "sourceKey", concat(contactid,"@${CRM_ORG_ID}.Dynamics")), null)
personComponents.sourcePersonKey
department
extendedWorkDetails.departments
fullname
person.name.fullName
suffix
person.name.suffix
iif(parentcustomerid != null && parentcustomerid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", parentcustomerid, "sourceKey", concat(parentcustomerid,"@${CRM_ORG_ID}.Dynamics")), null)
personComponents.sourceAccountKey
iif(parentcustomerid != null && parentcustomerid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", parentcustomerid, "sourceKey", concat(parentcustomerid, "@${CRM_ORG_ID}.Dynamics")), null)
b2b.accountKey
createdon
extSourceSystemAudit.createdDate
emailaddress1
workEmail.address
emailaddress2
personalEmail.address
emailaddress1
personComponents.workEmail.address
firstname
person.name.firstName
fullname
person.name.fullName
lastname
person.name.lastName
jobtitle
extendedWorkDetails.jobTitle
middlename
person.name.middleName
mobilephone
mobilePhone.number
modifiedon
extSourceSystemAudit.lastUpdatedDate
salutation
person.name.courtesyTitle
telephone1
workPhone.number
Leads leads
address1_addressid
workAddress._id
address1_city
workAddress.city
address1_country
workAddress.country
address1_county
workAddress.stateProvince
address1_latitude
workAddress._schema.latitude
address1_line1
workAddress.street1
address1_line2
workAddress.street2
address1_line3
workAddress.street3
address1_longitude
workAddress._schema.longitude
address1_postalcode
workAddress.postalCode
address1_postofficebox
workAddress.postOfficeBox
address1_stateorprovince
workAddress.state
telephone1
workPhone.number
mobilephone
mobilePhone.number
createdon
extSourceSystemAudit.createdDate
emailaddress1
workEmail.address
emailaddress2
personalEmail.address
emailaddress1
personComponents.workEmail.address
fax
faxPhone.number
firstname
person.name.firstName
fullname
person.name.fullName
jobtitle
extendedWorkDetails.jobTitle
lastname
person.name.lastName
"Dynamics"
b2b.personKey.sourceType
"${CRM_ORG_ID}"
b2b.personKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.leadid
b2b.personKey.sourceID
concat(leadid,"@${CRM_ORG_ID}.Dynamics")
b2b.personKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced.iif(leadid != null && leadid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}","sourceID", leadid, "sourceKey", concat(leadid,"@${CRM_ORG_ID}.Dynamics")), null)
personComponents.sourcePersonKey
middlename
person.name.middleName
mobilephone
mobilePhone.number
modifiedon
extSourceSystemAudit.lastUpdatedDate
salutation
person.name.courtesyTitle
Accounts accounts
"Dynamics"
accountKey.sourceType
"${CRM_ORG_ID}"
accountKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.accountid
accountKey.sourceID
"${CRM_ORG_ID}"
will be automatically replaced.accountnumber
accountNumber
accountratingcode
accountOrganization.rating
address1_addressid
accountPhysicalAddress._id
address1_city
accountPhysicalAddress.city
address1_country
accountPhysicalAddress.country
address1_county
accountPhysicalAddress.region
address1_latitude
accountPhysicalAddress._schema.latitude
address1_line1
accountPhysicalAddress.street1
address1_line2
accountPhysicalAddress.street2
address1_line3
accountPhysicalAddress.street3
address1_longitude
accountPhysicalAddress._schema.longitude
address1_name
accountPhysicalAddress.label
address1_postalcode
accountPhysicalAddress.postalCode
address1_postofficebox
accountPhysicalAddress.postOfficeBox
address1_stateorprovince
accountPhysicalAddress.state
createdon
extSourceSystemAudit.createdDate
description
accountDescription
fax
accountFax.number
modifiedon
extSourceSystemAudit.lastUpdatedDate
name
accountName
numberofemployees
accountOrganization.numberOfEmployees
revenue
accountOrganization.annualRevenue.amount
sic
accountOrganization.SICCode
telephone1
accountPhone.number
tickersymbol
accountOrganization.tickerSymbol
websiteurl
accountOrganization.website
concat(accountid,"@${CRM_ORG_ID}.Dynamics")
accountKey.sourceKey
Opportunities opportunities
name
opportunityName
"Dynamics"
opportunityKey.sourceType
"${CRM_ORG_ID}"
opportunityKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.iif(parentaccountid != null && parentaccountid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}","sourceID", parentaccountid, "sourceKey", concat(parentaccountid, "@${CRM_ORG_ID}.Dynamics")), null)
accountKey
actualclosedate
actualCloseDate
actualvalue
opportunityAmount.amount
iif(campaignid != null && campaignid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", campaignid, "sourceKey", concat(campaignid,"@${CRM_ORG_ID}.Dynamics")), null)
campaignKey
closeprobability
probabilityPercentage
createdon
extSourceSystemAudit.createdDate
description
opportunityDescription
estimatedclosedate
expectedCloseDate
estimatedvalue
expectedRevenue.amount
modifiedon
extSourceSystemAudit.lastUpdatedDate
opportunityid
opportunityKey.sourceID
concat(opportunityid,"@${CRM_ORG_ID}.Dynamics")
opportunityKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced.salesstage
opportunityStage
stepname
nextStep
Opportunity contact roles opportunity-contact-roles
"Dynamics"
opportunityPersonKey.sourceType
"${CRM_ORG_ID}"
opportunityPersonKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.connectionid
opportunityPersonKey.sourceID
concat(connectionid,"@${CRM_ORG_ID}.Dynamics")
opportunityPersonKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced.createdon
extSourceSystemAudit.createdDate
modifiedon
extSourceSystemAudit.lastUpdatedDate
iif(record1id != null && record1id != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", record1id, "sourceKey", concat(record1id,"@${CRM_ORG_ID}.Dynamics")), null)
opportunityKey
iif(record2id != null && record2id != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", record2id, "sourceKey", concat(record2id,"@${CRM_ORG_ID}.Dynamics")), null)
personKey
connectionrole1.name
personRole
record1objecttypecode
record1objecttypecode
source field, see this Microsoft Dynamics connection entity reference document.record2objecttypecode
record2objecttypecode
source field, see this Microsoft Dynamics connection entity reference document.Campaigns campaigns
campaignid
campaignKey.sourceID
"${CRM_ORG_ID}"
campaignKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.concat(campaignid,"@${CRM_ORG_ID}.Dynamics")
campaignKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced."Dynamics"
campaignKey.sourceType
iif(campaignid != null && campaignid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}","sourceID", campaignid, "sourceKey", concat(campaignid,"@${CRM_ORG_ID}.Dynamics")), null)
extSourceSystemAudit.externalKey
extSourceSystemAudit.externalKey
is the secondary identity. The value for "${CRM_ORG_ID}"
will be automatically replaced.createdon
extSourceSystemAudit.createdDate
modifiedby
extSourceSystemAudit.lastUpdatedBy
modifiedon
extSourceSystemAudit.lastUpdatedDate
description
campaignDescription
name
campaignName
totalactualcost
actualCost.amount
budgetedcost
budgetedCost.amount
expectedrevenue
expectedRevenue.amount
actualend
campaignEndDate
actualstart
campaignStartDate
expectedresponse
expectedResponse
utcconversiontimezonecode
timeZone
utcconversiontimezonecode
timezoneName
Marketing list marketing-list
"Dynamics"
marketingListKey.sourceType
"${CRM_ORG_ID}"
marketingListKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.description
marketingListDescription
listname
marketingListName
listid
marketingListKey.sourceID
concat(listid,"@${CRM_ORG_ID}.Dynamics")
marketingListKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced.modifiedon
extSourceSystemAudit.lastUpdatedDate
createdon
extSourceSystemAudit.createdDate
Marketing list members marketing-list-members
"Dynamics"
marketingListMemberKey.sourceType
"${CRM_ORG_ID}"
marketingListMemberKey.sourceInstanceID
"${CRM_ORG_ID}"
will be automatically replaced.iif(entityid != null && entityid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", entityid, "sourceKey", concat(entityid,"@${CRM_ORG_ID}.Dynamics")), null)
personKey
listmemberid
marketingListMemberKey.sourceID
concat(listmemberid,"@${CRM_ORG_ID}.Dynamics")
marketingListMemberKey.sourceKey
"${CRM_ORG_ID}"
will be automatically replaced.iif(listid != null && listid != "", to_object("sourceType", "Dynamics", "sourceInstanceID", "${CRM_ORG_ID}", "sourceID", listid, "sourceKey", concat(listid,"@${CRM_ORG_ID}.Dynamics")), null)
marketingListKey
createdon
extSourceSystemAudit.createdDate
Appendix
The sections below provide additional information that you can use when configuring B2B mappings for your Microsoft Dynamics source.
Picklist type fields picklist-type-fields
You can use calculated fields to map a picklist type source field from Microsoft Dynamics to a target XDM field.
For example, the genderCode
field includes two options:
male
female
You can use the following options to map the genderCode
source field to person.gender
target field:
Use a logical operator
decode(genderCode, "1", "male", "2", "female", "default")
person.gender
In this scenario, the value corresponds to the key, if the key is found in options, or default
, if default
is present and the key is not found. The value corresponds to null
if options is null
or there is no default
and the key is not found.
Use a calculated field
iif(gendercode.equals("1"),"male",iif(gendercode.equals("2"),"female",null))
person.gender
iif(condition, iif(cond1, tv1, fv1), iif(cond2, tv2, fv2))
.For more information is the document on logical operators in Data Prep