---
title: Configure a resource mapping
description: Objects in external resources are specified in a mapping as system/name/object-type, where name is the name used in the connector configuration, and object-type is the object defined in the connector configuration list of object types. Objects in the repository are specified in the mapping as managed/object-type, where object-type is defined in the managed object configuration.
component: pingoneaic
page_id: pingoneaic:idm-synchronization:cfg-mapping-resource
canonical_url: https://docs.pingidentity.com/pingoneaic/idm-synchronization/cfg-mapping-resource.html
keywords: ["Synchronization", "Resource", "Mappings", "Configuration"]
section_ids:
  mappings-ui: Configure mappings using the IDM admin console
---

# Configure a resource mapping

Objects in external resources are specified in a mapping as `system/name/object-type`, where name is the name used in the connector configuration *(tooltip: You can create and change connector configurations over REST at the /openidm/config/provisioner.openicf/\<connector-name> endpoint.)*, and object-type is the object defined in the connector configuration *(tooltip: You can create and change connector configurations over REST at the /openidm/config/provisioner.openicf/\<connector-name> endpoint.)* list of object types. Objects in the repository are specified in the mapping as `managed/object-type`, where object-type is defined in the managed object configuration *(tooltip: You can edit the managed object configuration over REST at the config/managed endpoint.)*.

External resources, and IDM managed objects, can be the *source* or the *target* in a mapping. By convention, the mapping name is a string of the form `source_target`, as shown in the following example:

> **Collapse: Basic LDAP Mapping**
>
> ```json
> {
>     "mappings": [
>         {
>             "name": "systemLdapAccounts_managedUser",
>             "source": "system/ldap/account",
>             "target": "managed/realm-name_user",
>             "properties": [
>                 {
>                     "source": "lastName",
>                     "target": "sn"
>                 },
>                 {
>                     "source": "telephoneNumber",
>                     "target": "telephoneNumber"
>                 },
>                 {
>                     "target": "phoneExtension",
>                     "default": "0047"
>                 },
>                 {
>                     "source": "email",
>                     "target": "mail",
>                     "comment": "Set mail if non-empty.",
>                     "condition": {
>                         "type": "text/javascript",
>                         "source": "(object.email != null)"
>                     }
>                 },
>                 {
>                     "source": "",
>                     "target": "displayName",
>                     "transform": {
>                         "type": "text/javascript",
>                         "source": "source.lastName +', ' + source.firstName;"
>                     }
>                 },
>                {
>                     "source" : "uid",
>                     "target" : "userName",
>                     "condition" : "/linkQualifier eq \"user\""
>                     }
>                },
>             ]
>         }
>     ]
> }
> ```

In this example, the name of the source is the external resource (`ldap`), and the target is IDM's user repository; specifically, `managed/realm-name_user`. The `properties` defined in the mapping correspond to attribute names that are defined in the IDM configuration. For example, the source attribute `uid` is defined in the `ldap` connector configuration file, rather than on the external resource itself.

## Configure mappings using the IDM admin console

To set up a synchronization mapping using the IDM admin console:

1. From the IDM console, click Native Consoles > Identity Management.

2. From the navigation bar in the IDM admin console, click Configure > Mappings.

3. Click New Mapping.

4. On the New Mapping page, select a source and target resource from the configured resources at the bottom of the window, and click Create Mapping.

   You can filter these resources to display only connector configurations or managed objects.

5. Select Add property on the Attributes grid to map a target property to its corresponding source property.

   The Property list shows all configured properties on the target resource. If the target resource is specified in a connector configuration, the Property list shows all properties configured for this connector. If the target resource is a managed object, the Property list shows the list of properties (defined in the managed object configuration *(tooltip: You can edit the managed object configuration over REST at the config/managed endpoint.)* for that object).

   |   |                                                                                                                                                                                                                                                                                                                                                                                    |
   | - | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | * Select Add Missing Required Properties to add all the properties that are configured as *required* on the target resource. You can then map these required properties individually.

   * Select Quick Mapping to show all source and target properties simultaneously. Drag a source property onto its corresponding target property, or vice versa. When you're done, click Save. |

6. To test your mapping configuration on a single source entry, click the Behaviors tab and scroll down to Single Record Reconciliation. Search for the entry to reconcile.

   The UI displays a preview of the target entry after a reconciliation. You can then click Reconcile Selected Record to perform the reconciliation on that one source entry.
