Employee / User Synchronization from Workday to Salesforce.com using OIC / AOIC

The use case that is being discussed here is where new Salesperson joins a company and on-boarding happens via Workday HCM application. The same salesperson would also need to work on new leads and opportunities in Salesforce.com (assuming company uses Salesforce.com CRM). Employee information should synchronize from Workday to Salesforce.com including contact information and user provisioning.

This blog will illustrate how above can be achieved seamlessly and easily by using Oracle Integration Cloud and making use of Workday and Salesforce.com adapters available on the platform.

The following steps need to be completed to have both applications connected – 

  1. Log in using credentials to the Integration Cloud Service and navigate to the Connection page.
    • Create connections for Workday by providing the hostname, tenant name, WD Drive Hostname, username and password to connect to the Workday instance. Click here to get help on how to create a Workday connection on OIC
    • Create connections for Salesforce by uploading Salesforce WSDL, username, and password to connect to the Salesforce organization. Click here to get help on how to create a Salesforce connection.
  2. After saving connections, navigate to the Integration page.
  3. Create New Integration with Schedule Orchestration as an integration style in OIC and provide the name for integration flow and click CREATE button
  4. Drag and drop workday adapter after schedule option. Provide endpoint name, click NEXT
  5. Select ‘Extract Bulk Data from Workday’ option on Action page of Workday UI. Click NEXT. Note – Please note that there are various ways to extract employees information out from Workday like using web services getWorker operation or by selecting ‘Report as a Service (RaaS)’ Synchronous custom Report and all these options are supported by Workday adapter on OIC platform. To understand what should be used when, refer to this white paper. This blog is using EIB option.
  6. Select ‘Enterprise Interface Builder (EIB-based reports)’ option. Select ‘Launch an EIB Integration’ operation from the list. If you know the name of EIB report then provide it else click on the search button and select a right report to extract employee from the list of reports showing up. Note – if you do not see the desired report in the list box that means custom reports created on Workday is not attached to EIB. I will write another blog to describe what needs to create a custom report and how to attach it to Workday EIB. Stay tuned.
  7. Click on Next and Done button of the Wizard.
  8. This operation generates mapper along with it. In the mapper, map Integration_Event_Reference element from Launch_EIB response to get integrations event
  9. Assign Activity (1): Drag assign activity from Actions tab and add a variable.
  10. While Activity: Drag while activity, define a value for the variable which is created in Assign activity (1).
  11. In the while loop:
    • Wait Activity: Drag a wait activity to keep Monitor EIB Integration progress in sleep for a span of time.
    • Monitor EIB Integration Progress: Repeat #4 to #6 above and select ‘Monitor EIB Integration Progress’ as Integration operation, and then click NEXT and the Done button.
    •  This operation generates mapper along with it. In the mapper, map Launch EIB response to Monitor EIB integration progress Event request, map ID, type from integration event reference element (Source) to ID, and type of getting integration event request element(Target). Validate mappings, and then close the mapper.
    • Assign Activity (2): Drag assign after Monitor EIB to update the variable which is created at Assign (1).
    • Switch Activity: Drag switch activity to apply IF condition and check the status of reaches to 1.
    • Extract Record from Workday: Drag and drop Workday connection on branch 1 and repeat #4 to #6 and select ‘Download file generated by EIB Integration’ as Integration operation. Click Next and the Done button. A mapper is generated along with it.  Map Document_ID Get_Integration_Events_Response to workday_file_location. This extract records from Workday.
    • Configure stage file action to read the extracted records.
    • Stage File Action: Drag and drop ‘stage file’ action from Actions tab, choose
      • Stage file operation:
      • Specify the file name:
      • Specify the directory to read from:
    • and then click NEXT. Create new schema from CSV file by giving file name (.csv file), record name, record set name, field delimiter, and character set. You can make some fields optional if required, click NEXT, find a description, and then click Done
    • Salesforce Adapter: After stage File Action is completed, invoke ‘Salesforce adapter’ using Salesforce connection that we created in step #1, into the flow, and then set below parameters.
      • Select an operation category: CURD
      •  Select an operation type: Create
      • Select Business object: user and contacts
    • Click NEXT, uncheck AllOrNoneHeader (Specifies whether a call rolls back all the changes unless all records are processed successfully) checkbox. Click NEXT, and then click Done
    • It creates mapper along with it. In the mapper, map required fields to create a user in Salesforce like Username, Alias, Email, EmailEncodingKeyLanguageLocaleKeyLastnameLocalSidKeyProfileIdand TimezoneSidKey and all fields as per requirement. Validate mappings, and then close the mapper.
  12. Now your orchestration should look as below.

Workday-Salesforce-Integration

13. Enable the tracking with the relevant field(s) 

14. Activate integration.

As next step, you either can schedule this integration or select “Submit Now’ option from the list to run it ad-hoc.

You have Workday and Salesforce application integrated for Employee onboarding and user provisioning.

To see Presentation on above, visit this link.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s