objectMapping resource type
Namespace: microsoft.graph
Defines how a given object should be synchronized from source directory to target directory. In particular, it defines how object in source directory should be matched with an object in target directory, what (if any) scoping filters should be used to decide if we want to provision a given object, and how object attributes should be transformed going from source to target directory.
Object mappings are the main part of the synchronization rule and are updated as part of synchronization schema.
Properties
Property | Type | Description |
---|---|---|
attributeMappings | attributeMapping collection | Attribute mappings define which attributes to map from the source object into the target object and how they should flow. A number of functions are available to support the transformation of the original source values. |
enabled | Boolean | When true , this object mapping will be processed during synchronization. When false , this object mapping will be skipped. |
flowTypes | objectFlowTypes | Which flow types are enabled for this object mapping. Add creates new objects in the target directory, Update modifies existing objects, and Delete deprovisions existing users. The default is Add, Update, Delete . |
metadata | objectMappingMetadataEntry collection | Additional extension properties. Unless mentioned explicitly, metadata values should not be changed. |
name | String | Human-friendly name of the object mapping. |
scope | filter | Defines a filter to be used when deciding whether a given object should be provisioned. For example, you might want to only provision users that are located in the US. |
sourceObjectName | String | Name of the object in the source directory. Must match the object name from the source directory definition. |
targetObjectName | String | Name of the object in target directory. Must match the object name from the target directory definition. |
Sample configuration
{
"attributeMappings": [
{
"defaultValue": "True",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "Not([IsSoftDeleted])",
"name": "Not",
"parameters": [
{
"key": "source",
"value": {
"expression": "[IsSoftDeleted]",
"name": "IsSoftDeleted",
"parameters": [],
"type": "Attribute"
}
}
],
"type": "Function"
},
"targetAttributeName": "IsActive"
},
{
"defaultValue": null,
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "Mid([userPrincipalName], 1, 8)",
"name": "Mid",
"parameters": [
{
"key": "source",
"value": {
"expression": "[userPrincipalName]",
"name": "userPrincipalName",
"parameters": [],
"type": "Attribute"
}
},
{
"key": "start",
"value": {
"expression": "\"1\"",
"name": "1",
"parameters": [],
"type": "Constant"
}
},
{
"key": "length",
"value": {
"expression": "\"8\"",
"name": "8",
"parameters": [],
"type": "Constant"
}
}
],
"type": "Function"
},
"targetAttributeName": "Alias"
},
{
"defaultValue": null,
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "[mail]",
"name": "mail",
"parameters": [],
"type": "Attribute"
},
"targetAttributeName": "Email"
},
{
"defaultValue": "ISO-8859-1",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": null,
"targetAttributeName": "EmailEncodingKey"
},
{
"defaultValue": "en_US",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": null,
"targetAttributeName": "LanguageLocaleKey"
},
{
"defaultValue": null,
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "[givenName]",
"name": "givenName",
"parameters": [],
"type": "Attribute"
},
"targetAttributeName": "FirstName"
},
{
"defaultValue": ".",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "[surname]",
"name": "surname",
"parameters": [],
"type": "Attribute"
},
"targetAttributeName": "LastName"
},
{
"defaultValue": "en_US",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "Replace([preferredLanguage], \"-\", , , \"_\", , )",
"name": "Replace",
"parameters": [
{
"key": "source",
"value": {
"expression": "[preferredLanguage]",
"name": "preferredLanguage",
"parameters": [],
"type": "Attribute"
}
},
{
"key": "Find",
"value": {
"expression": "\"-\"",
"name": "-",
"parameters": [],
"type": "Constant"
}
},
{
"key": "Replacement",
"value": {
"expression": "\"_\"",
"name": "_",
"parameters": [],
"type": "Constant"
}
}
],
"type": "Function"
},
"targetAttributeName": "LocaleSidKey"
},
{
"defaultValue": "Chatter Free User",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": {
"expression": "SingleAppRoleAssignment([appRoleAssignments])",
"name": "SingleAppRoleAssignment",
"parameters": [
{
"key": "source",
"value": {
"expression": "[appRoleAssignments]",
"name": "appRoleAssignments",
"parameters": [],
"type": "Attribute"
}
}
],
"type": "Function"
},
"targetAttributeName": "ProfileName"
},
{
"defaultValue": "America/Los_Angeles",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": null,
"targetAttributeName": "TimeZoneSidKey"
},
{
"defaultValue": null,
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 1,
"source": {
"expression": "[userPrincipalName]",
"name": "userPrincipalName",
"parameters": [],
"type": "Attribute"
},
"targetAttributeName": "Username"
},
{
"defaultValue": "False",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": null,
"targetAttributeName": "UserPermissionsCallCenterAutoLogin"
},
{
"defaultValue": "False",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": null,
"targetAttributeName": "UserPermissionsMarketingUser"
},
{
"defaultValue": "False",
"exportMissingReferences": false,
"flowBehavior": "FlowWhenChanged",
"flowType": "Always",
"matchingPriority": 0,
"source": null,
"targetAttributeName": "UserPermissionsOfflineUser"
}
],
"enabled": true,
"flowTypes": "Add, Update, Delete",
"metadata": [
{
"key": "IsCustomerDefined",
"value": "false"
},
{
"key": "DisableMonitoringForChanges",
"value": "false"
},
{
"key": "Disposition",
"value": "\"Normal\""
},
{
"key": "ExcludeFromReporting",
"value": "false"
},
{
"key": "EscrowBehavior",
"value": "\"Default\""
},
{
"key": "Unsynchronized",
"value": "false"
}
],
"name": "Synchronize Azure Active Directory Users to salesforce.com",
"scope": null,
"sourceObjectName": "User",
"targetObjectName": "User"
}
JSON representation
The following JSON representation shows the resource type.
{
"@odata.type": "#microsoft.graph.objectMapping",
"attributeMappings": [
{
"@odata.type": "microsoft.graph.attributeMapping"
}
],
"enabled": "Boolean",
"flowTypes": "String",
"metadata": [
{
"@odata.type": "microsoft.graph.objectMappingMetadataEntry"
}
],
"name": "String",
"scope": {
"@odata.type": "microsoft.graph.filter"
},
"sourceObjectName": "String",
"targetObjectName": "String"
}