Setting up Integration Between HCM Worker and PSA Resource Records
You can set up PSA to automatically create PSA resources when a worker assignment record is created in HCM using the data mappings or transformation rules provided. For each publication that is to send information that can be received by subscribing applications, you must add the nodes that you want to include. You can add these types of node to your publications:
- related list nodeRelated list nodes enable you to include information on related records in your publications. For example, you can create a publication that enables HCM to publish changes to an HCM worker record with new or updated skills associated with that worker. You can then create a subscription that enables PSA to receive the changes and update its related PSA resource and skill records. In previous versions of Foundations, this was known as a list field.
- lookup nodeLookup nodes enable you to include information from a lookup relationship in a publication. You can look up to an object to obtain the value of a lookup field rather than just its Salesforce ID. In previous versions of Foundations, this was known as a map field.
- static nodeA static node contains a fixed piece of data to be included in a Foundations publication. In previous versions of Foundations, this was known as a simple literal field.
- field nodeA field node contains the value of the specified field belonging to the source object. In previous versions of Foundations, this was known as a simple object field.
- composite nodeA composite node is a type of field node that enables the publication to look up to one or more fields on another object without the need to create several lookup nodes. You can specify up to five lookup fields.
Adding Nodes
- On the Registered Products tab, click the name of the product containing the publication you want to customize.
- Click the name of the publication you want to edit in the Publications related list.
- Click Description to expand the Description section.
- Click at the level to which you want to add a node.
- In the Add Node popup:
- Select the type Static.
- Enter a unique key for the node.
- Enter a meaningful description for the node.
- Enter the data to be stored in the node.
- Click Update or Update and Add New depending on whether you want to add another node at the same level.
- Click Save.
- On the Registered Products tab, click the name of the product containing the publication you want to customize.
- Click the name of the publication you want to edit in the Publications related list.
- Click Description to expand the Description section.
- Click at the level to which you want to add a node.
- In the Add Node popup:
- Select the type Field.
- Select the field that you want.
- If required, enter a unique key for the node.
- Click Update or Update and Add New depending on whether you want to add another node at the same level.
- Click Save at the top of the Description section.
- On the Registered Products tab, click the name of the product containing the publication you want to customize.
- Click the name of the publication you want to edit in the Publications related list.
- Click Description to expand the Description section.
- Click at the level to which you want to add a node.
- In the Add Node popup:
- Select the type Field.
- Select the lookup field that you want to obtain information from.
- If required, enter a unique key for the node.
- Click Update or Update and Add New depending on whether you want to add another node at the same level.
- Click Save at the top the Description section.
- On the Registered Products tab, click the name of the product containing the publication you want to customize.
- Click the name of the publication you want to edit in the Publications related list.
- Click Description to expand the Description section.
- If the node you want to obtain a value from is not listed, click at the level to which you want to add the node.
- Select the type Relationship.
- Select a lookup from the Object drop-down list.
- Enter a unique key for the node.
- Click Update.
- Add the information in the related object that you want to include in the publication:
- Click at the level of the node that you created in the previous steps.
- Select the type of node you want then complete the fields for that node type.
- If required, enter a unique key for the node.
- Click Update or Update and Add New depending on whether you want to add another node at the same level.
- Repeat these steps until you have added all the nodes that you want.
- Click Save at the top the Description section.
- On the Registered Products tab, click the name of the product containing the publication you want to customize.
- Click the name of the publication you want to edit in the Publications related list.
- Click at the level to which you want to add the node.
- Select the type Relationship.
- Select a Related List from the Object drop-down list.
- If required, enter a unique key for the node.
- Click Update.
- Add the information in the related object that you want to include in the publication:
- Click at the level of the list that you created in the previous steps.
- Select the type of node you want then complete the fields for that node type.
- If required, enter a unique key for the node.
- Click Update or Update and Add New depending on whether you want to add another node at the same level.
- Repeat these steps until you have added all the nodes that you want.
- Click Save at the top of the Description section.
Transforming Data
You can create data transformation tables that enable you to update target records in the subscribing application with different information depending on the information sent from the publishing application.
For example, you can create a data transformation table that you can converts types of worker from HCM to a boolean value, which is then used to determine whether that resource is an external resource in PSA.
You can also use data transformation tables to map names to record IDs.
The default data transformation tables are:
- countryTransformation
- departmentTransformation
- divisionTransformation
- Click the Data Transformation Tables tab.
- Click New.
- Enter a name.
- Add a meaningful description for the data transformation table.
- Click Save.
Data Transformations
To use a data transformation table, it must contain one or more data transformations that determine the source and target values. To add data transformations:
- Click New Data Transformation in the Data Transformations related list on the Data Transformation Table Detail page of the data transformation table you want to add to.
- Enter the first source value.
- [Optional] Enter the second source value.
- In the Target Value field, enter the value to return if the criteria in the source values are met.
- Click Save.
- Repeat these steps for each data transformation you want to add to the data transformation table.
- On the Registered Products tab, click the name of the product containing the subscription you want to customize.
- Click the Subscription Name of the subscription you want to edit in the Subscriptions related list.
- Click Description to expand the Description section.
- Click the Edit icon next to the subscription mapping for which you want to use a data transformation table.
- Select the Data Transformation Table you want.
- Click Update Mapping.
- Click Save.
Create HCM Worker Filters
HCM publishes worker messages with work assignments to Foundations. You can create filters that define which HCM Worker records are imported into PSA.
To create a worker filter for resources:
- If an appropriate key value or node does not exist in the Description related list of the Publication Detail page, add one. See Adding Nodes.
- Make a note of the key value of the node from the previous step.
- Depending on whether your resources are based on the contact or account object, enter the key values of the nodes on which you want to filter in the Worker Filter Field Key or Worker Account Filter Field Key custom field of the Foundations PSA Messaging Settings custom setting.
- Depending on whether your resources are based on the contact or account object, enter a semicolon delimited list of values on which you want to filter in the Worker Filter Values or Worker Account Filter Values custom field of the Foundations PSA Messaging Settings custom setting.
- Click Save.
For more information, see Foundations PSA Messaging Settings.
Configuring the HCM Sending Method
You can control the number of messages that HCM sends using the Deliver Now method. For more information, see FDN HCM Messaging Settings.
Recommended Additional Mappings
We recommend adding or creating the following mappings to set critical fields on the Contact object in PSA, and the Account object if Person Accounts are used.
Account ID
If you require all resources to have the same account ID:
- In the publication, add a node with type Static and the value of the account ID to use.
- In the subscription, map the node to the account ID on the Contact.
If you require resources to have different account IDs:
Create a new data transformation table that determines the account ID to be assigned to each resource. See Transforming Data.
Work Calendar ID
If you require all resources to have the same work calendar ID:
- In the publication, add a node with type Static and the value of the work calendar ID to use.
- In the subscription, map the node to the work calendar ID on the Contact.
If you require resources to have different work calendar IDs:
Create a new data transformation table that determines which work calendar ID gets assigned to the appropriate resource. See Transforming Data.
Additional Mappings for Checkbox Fields on Contact Object
Create mappings for these fields on the Contact object.
Is Resource checkbox:
- In the publication, add a node with type Static and a value of "true".
- In the subscription, map the node to the Is Resource field on the Contact object.
Is Resource Active checkbox:
Mapping the "Is Resource Active" field varies depending on your organization. Here are some examples:
In this scenario, you want only HCM Workers with an "active" status to be PSA Resources with Is Resource Active as true.
- In the publication, verify the workerStatus node is present. If it is not present, add it.
- In the subscription, transform the text field by creating a Data Transformation. Map the "inactive" and "terminated" values to "false" and the "active" value to "true".
- In the subscription, add the mapping. The Target is "Is Resource Active", the Message Key is "workerStatus", and the Transformation is the name of your Data Transformation.
- In the publication, add a field with type Static and a value of "true".
- In the subscription, map the "Is Resource Active" Target to the "IsActive" value.
- In the publication, verify the workerStatus and workerType fields are present. If they are not present, add them.
- Create a Data Transformation with a Value 1 of "Active, a Value 2 of "Employee" and a Target value of "true". List all the permutations of values that equate to "false".
- In the subscription, add the mapping. The Target is "Is Resource Active", the Message Key is "workerStatus", the Data Transformation Table is the name of your data transformation table, and the Additional Message Key is "workerAssignment - Worker Type".
- In the publication, verify the Worker fields are present. If they are not present, add them.
- Create a Checkbox formula field. Enter the criteria to define an active resource in your formula.
- In the subscription, map the "Is Resource Active" field to the formula field.
External Resource checkbox:
- In the publication, verify the workerType field is present. If it is not present, add it.
- In the subscription, transform the workerType text field by creating a Data Transformation. Map the type (for example "Contractor") to "true".
- In the subscription, add the mapping. The Target is "External Resource". The Message Key is "workerType", and the Transformation is the name of your Data Transformation.