Skip to main content

Data provisioning

Prerequisites

Some knowledge of the way SOAP uses the XML technology for requests and responses is required. To modify information to XML, the connector uses XPath.

Omada Identity Configuration

To provision updates of identities in Workday, you must configure the following elements:

  • Attributes for the fields in Workday that you wish to update. The definition property should be available on the identity DOT, or you must define a mapping in the RoPE configuration file to state from where the attribute is populated.
  • Attribute set with the relevant attributes.
  • Resource type referencing the attribute set.

Sample Omada Identity configuration

There is a changeset with sample configuration provided in the installation folder: C:\Program Files\Omada Identity Suite\Enterprise Server\Samples\Changesets.

  • Attributes for Email (EMAIL), Identity ID (IDENTITYID) and Mobile phone (CELLPHONE)
  • Attribute set “Workday Identity Record” with the attributes.
  • Resource type “Workday Identity Record” referencing the attribute set.

You must associate the resource type to the Account resource in your Workday system. You can choose to use the Workday Personal Account created during system onboarding or create a new Account type (which is the recommended approach). If you choose the recommended approach, you need to configure the following:

  1. Create a new Account type for the identity called, for example, Identity Record.

    note

    It cannot use the same account name format as the Personal account.

  2. Create a new Account resource in the Workday system that references the new account type and the Identity Record Resource Type. The account resource, resource type and/or the system should have the Prevent self-service option set to True.


Reconciliation configuration

If you wish to reconcile the identity attributes (that is, to confirm that provisioning is performed correctly), do the following:

  1. Create an account mapping based on the identity query in Queries and mappings.

  2. Configure Account rules for ownership and classification.

  3. Configure the Resource type referencing the attribute set, including the Provisioning attribute set. Also, select reconciliation on the attribute level.

Create an account mapping based on the identity query

  1. Configure the data import to import the records as identities and accounts:

  2. Configure the Account query mapping:

  3. For the account mapping, add extension attributes for the attributes that you wish to reconcile on.

    note

    You need to define Alias mappings in the Web Method tab for the attributes that are not imported by default.

  4. Set the Category to Identity Record.

Provisioning configuration

All fields are mandatory.

ParameterDescription
Endpoint addressThe Workday endpoint address. For example: 'http://localhost:5000/AccountService.asmx'.
TimeoutConnection timeout in seconds.
Content/type header valueThe value of the HTTP content-type header (for example, text/xml).
HTTP verbSpecify the HTTP Verb (for example, POST).
UserSpecify the username of the web service user for authenticating with the service.
PasswordEnter the password for the user.
Security protocolSelect the protocol used for the HTTPS handshake: TLS 1.2 or higher.
WS-Security password typeSpecifies the password type used in WS-Security authentication: None or PasswordTextIf. If set to None, WS-Security is not used.

Data model

Property names consist of a prefix that specifies the operation (add:, update:, or delete:), followed by the xPath to the element/attribute. Property names must match the ones used in task mappings.

If repeated elements are used in the data model, the XPath repeated elements must be followed by :root:.

The example data model provided out of the box is the following:

<?xml version="1.0"?>

<connectorDataModel xmlns="http://schemas.omada.net/ops/2015/ConnectorDataModelML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<properties>

<!-- worker contact details --> <property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/@DEFAULT:Add_Only" displayName="Contact_Add_Only" />

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/@DEFAULT:version" displayName="Contact_Version"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Reference/DEFAULT:ID/@DEFAULT:type" displayName="Contact_Type"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Reference/DEFAULT:ID" displayName="Contact_ID"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Email_Address" displayName="Email_Address"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public" displayName="Email_Public"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary" displayName="Email_Primary" />

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/DEFAULT:ID/@DEFAULT:type" displayName="Email_Type"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/DEFAULT:ID" displayName="Email_ID"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Number" displayName="Phone_Number"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID" displayName="Phone_ID"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID/@DEFAULT:type" displayName="Phone_Type"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public" displayName="Phone_Public"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary" displayName="Phone_Primary"/>

<property name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/@DEFAULT:Descriptor" displayName="Phone_Descriptor"/>

<!-- /worker contact details-->

</properties>

<objects>

<object name="WorkdayContactInfo">

<objectDetails>

<objectDetail name="url" value="https://workday.com/service/Human_Resources"/>

<objectDetail name="wsdl" value="https://workday.com/service/Human_Resources?wsdl">

</objectDetail>

<objectDetail name="UpdateMethod" value="Maintain_Contact_Information">

</objectDetail>

</objectDetails>

<objectProperties>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/@DEFAULT:Add_Only</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/@DEFAULT:version</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Reference/DEFAULT:ID/@DEFAULT:type</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Reference/DEFAULT:ID</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Email_Address</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/DEFAULT:ID/@DEFAULT:type</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/DEFAULT:ID</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Number</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID/@DEFAULT:type</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary</objectProperty>

<objectProperty>update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/@DEFAULT:Descriptor</objectProperty>

</objectProperties>

</object>

</objects>

</connectorDataModel>

Task Mappings

The following task mapping for the update of the sample Workday Identity Record resource type is provided in the sample changeset.

If repeated elements are introduced in the mapping (for example, if you need to add two phone numbers, mobile and landline), the XPath repeated elements must be followed by :root:. Values for these elements are then filled in by the task mappings in the order in which the data is provided.

<taskMapping xmlns="http://schemas.omada.net/ops/2015/TaskMappingConfigurationML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<connectorObjectType mappingType="Constant">now/table/sys_user</connectorObjectType>

<mappedObjectType mappingType="Constant">WorkdayContactInfo</mappedObjectType>

<fieldMappings>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/@DEFAULT:Add_Only" dataType="stringType" action="modify" mappingType="Constant">false</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/@DEFAULT:version" dataType="stringType" action="modify" mappingType="Constant">v20</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Reference/DEFAULT:ID/@DEFAULT:type" dataType="stringType" action="modify" mappingType="Constant">WID</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Reference/DEFAULT:ID" dataType="stringType" action="modify" mappingType="Expression">ROPE_ATTR_IDENTITYID</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Email_Address" dataType="stringType" action="modify" mappingType="Expression">ROPE_ATTR_EMAIL</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public" dataType="stringType" action="modify" mappingType="Constant">true</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary" dataType="stringType" action="modify" mappingType="Constant">true</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/DEFAULT:ID/@DEFAULT:type" dataType="stringType" action="modify" mappingType="Constant">Communication_Usage_Type_ID</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Email_Address_Data/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/DEFAULT:ID" dataType="stringType" action="modify" mappingType="Constant">Work</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Number" dataType="stringType" action="modify" mappingType="Expression">ROPE_ATTR_CELLPHONE</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID" dataType="stringType" action="modify" mappingType="Constant">Mobile</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID/@DEFAULT:type" dataType="stringType" action="modify" mappingType="Constant">Phone_Device_Type_ID</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public" dataType="stringType" action="modify" mappingType="Constant">true</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary" dataType="stringType" action="modify" mappingType="Constant">true</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/@DEFAULT:Descriptor" dataType="stringType" action="modify" mappingType="Constant">Mobile</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Number" dataType="stringType" action="modify" mappingType="Expression">ROPE_ATTR_PHONE</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID/@DEFAULT:type" dataType="stringType" action="modify" mappingType="Constant">Phone_Device_Type_ID</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/@DEFAULT:Public" dataType="stringType" action="modify" mappingType="Constant">true</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/@DEFAULT:Primary" dataType="stringType" action="modify" mappingType="Constant">false</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Usage_Data/DEFAULT:Type_Data/DEFAULT:Type_Reference/@DEFAULT:Descriptor" dataType="stringType" action="modify" mappingType="Constant">Landline</fieldMapping>

<fieldMapping name="update:/soapenv:Envelope/soapenv:Body/DEFAULT:Maintain_Contact_Information_for_Person_Event_Request/DEFAULT:Maintain_Contact_Information_Data/DEFAULT:Worker_Contact_Information_Data/DEFAULT:Phone_Data:root:/DEFAULT:Phone_Device_Type_Reference/DEFAULT:ID" dataType="stringType" action="modify" mappingType="Constant">Landline</fieldMapping>

</fieldMappings>

</taskMapping>