Before You Install the Recipe

You must perform the following configuration tasks on your Workday and ServiceNow instances in order to successfully connect to these external systems using Oracle Integration and synchronize employees and users.

Configure Workday

To access Workday using Oracle Integration and sync employees, you must perform certain configuration tasks on your Workday instance.

For general configuration tasks, see Prerequisites for Creating a Connection in Using the Workday Adapter with Oracle Integration 3.

In addition, you must create an Enterprise Interface Builder (EIB) report to import and export Workday data in bulk. And, before you create an EIB report, you must create a custom report with custom fields, calculated fields, and business objects.

  1. Create custom fields.
    1. In Workday, obtain access to Create Custom Object.
    2. Select Workday Object as Worker (Effective Dated) and Custom object Name as SN_TicketId.
    3. Select the values as below.
      • General Settings

        Custom Object Name Custom Object Name SN_TicketId
        Web Service Alias ID snTicketId
        Allow Multiple Instances per Object?   No
      • Field Definitions

        Current Fields Field Label SN_TicketId
        Field Type Text
      • Permissions

        Security Domain

        Person Data: Personal Data, Person

        Data: Personal Information

      • Edit Custom Fields

        Edit Custom Fields Display Value SN_TicketId
    4. In Workday, search for Edit Worker additional data business process.
    5. In the Edit worker additional data business process, go to Action and click Edit definition.
    6. Add a new step and select values as below.

      Note:

      In Group column, select the Security Group which should be allowed to edit the custom field.
      Step Order Type Specify Optional Group All Run as User Due Date Due Data Is Based On Effective Date Complete
        a5 Edit Additional Data SN_TicketId No HR Administrator        
    7. Click OK.

    Similarly, create custom fields to store Ticket_ErrorMessage, User_ErrorMessage and ServiceNowUserId.

    Note:

    Provide Get access of Person Data: Personal Data, Person Data: Personal Information to ISU user being used for getting data from custom report.
  2. Create calculated fields.
    1. In the quick find box, search for Create Calculated Fields task.
    2. In the pop-up window, enter the Field name. For example: CF_new_hire_or_updated. Also, select the Business Object as Worker, and Function as Evaluate Expression.
    3. Click OK. You are redirected to Create Calculated Field - Evaluate Expression page.
    4. Under Calculation, select the Field Type as Text and Default Value as Empty String.
    5. In the Condition column, create the following calculated fields:
      • CF-T/F_oic_updated
        And/Or ( Field Calculated Field Details Operator Comparison Type Comparison Value )
        And   CF_Legal_name_change

        Business Object: Worker

        Source Field: Worker History

        Related Business Object: Action Event

        Condition: CF_legal_name_change?

        Sort Field: Effective Date

        Sort Direction: Descending (Z to A)

        Instance to be Returned: First Occurrence

        Function: True or False

        is not empty NA NA  
        Or   CF_new_event_exist

        Business Object: Worker

        Source Field: Worker History

        Related Business Object: Action Event

        Condition: CF_effective date range

        Fields To Aggregate: Business Process Event

        Function: True or False

        is not empty NA NA  
        Or ( CF_usererrormsg

        Business Object: Worker

        Lookup Field: Worker Additional Data

        Related Business Object: Worker Custom Data Snapshot

        Return Value: User_ErrorMessage

        Function: True or False

        equal to Value specified in this filter User failed  
        And   CF_user_ticket_error

        Business Object: Worker

        Lookup Field: Worker Additional Data

        Related Business Object: Worker Custom Data Snapshot

        Return Value: Ticket_ErrorMessage

        Function: True or False

        equal to Value specified in this filter Ticket failed )
      • CF_legal_name_change?
        And/Or ( Field Calculated Fields Details Operator Comparison Type Comparison Value )
        And   Business Process Type

        Business Object: Event

        Function: True or False

        in the selection list Value specified in this filter Legal Name Change  
        And   Status

        Business Object: Event

        Function: True or False

        greater than or equal to Value specified in this filter Successfully Completed  
        And   Effective Date

        Business Object: Action Event

        Function: True or False

        greater than or equal to Value from another field Prompt-Start Date  
      • CF_oic_is_new_hired?
        And/Or ( Field Calculated Fields Details Operator Comparison Type Comparison Value )
        And   Hire Date NA greater than or equal to Value from another field Prompt-Start Date  
        And   CF_Legal_name_change

        Business Object: Worker

        Source Field: Worker History

        Related Business Object: Action Event

        Condition: CF_legal_name_change?

        Sort Field: Effective Date

        Sort Direction: Descending (Z to A)

        Instance to be Returned: First Occurrence

        Function: True or False

        is empty NA NA  
        And   CF_new_event_exist

        Business Object: Worker

        Source Field: Worker History

        Related Business Object: Action Event

        Condition: CF_effective date range

        Fields To Aggregate: Business Process Event

        Function: True or False

        is empty NA NA  
    6. In the Return Value If Condition is True column, create the following calculated fields.
      Calculated Field Details
      CF_oic_updated

      Business Object: Worker

      Text Constant: Updated

      CF_oiC_NEW_HIRED

      Business Object: Worker

      Text Constant: NEW HIRE

      Configuration details for other related calculated fields are listed below.

      Calculated Field Details
      CF_legal_name_change

      Business Object: Worker

      Source Field: Worker History

      Related Business Object: Action Event

      Condition: CF_legal_name_change?

      Sort Field: Effective Date

      Sort Direction: Descending (Z to A)

      Instance to be Returned: First occurrence

      Function: True or False

      CF_Ticket_ErrorMessage?

      Business Object: Worker

      Function: Lookup Related Value

      Lookup Field: Worker Additional Data

      Related Business Object: Worker Custom Data Snapshot

      Return Value: Ticket_ErrorMessage

      CF_work_email

      Business Object: Worker

      Function: Lookup Value As Of Date

      Source Field: Email – Work

      Data As Of: Effective Date: empty

      Data Entry Date: Entry Date: CF_Last_Functionally_updated_-1millisecond

      CF_Last_Functionally_updated_-1mili second

      Business Object: Global

      Function: Increment or Decrement Date

      Date Field: Last Functionally Updated

      Milliseconds to Add or Subtract: -1

      Return Blank Date on Error: Yes

      CF_proposed_Supervisory Organization

      Business Object: Worker

      Function: Lookup Value As Of Date

      Source Field: Supervisory Organization

      Data As Of: Effective Date: empty

      Data Entry Date: Entry Date: CF_Last_Functionally_updated_-1mili second

      CF_proposed_Phone - Primary Work

      Business Object: Worker

      Function: Lookup Value As Of Date

      Date Source Field: Phone - Primary Work

      Data As Of: Effective Date: empty

      Data Entry Date: Entry

      Date:CF_Last_Functionally_updated_-1mili second

      CF_User_ErrorMessage?

      Business Object: Worker

      Function: Lookup Related Value

      Lookup Field: Worker Additional Data

      Related Business Object: Worker Custom Data Snapshot

      Return Value: User_ErrorMessage

      CF_previous_business_title

      Business Object: Worker

      Function: Lookup Value As Of Date

      Source Field: Business Title

      Data As Of: Effective Date: empty

      Data Entry Date: Entry Date:CF_Last_Functionally_updated_-1mili second

      Also, configure the following calculated fields with the following conditions.
      • CF_effective date range
      And/Or ( Field Calculated Field Details Operator Comparison Type Comparison Value )
      And   Business Process Definition

      Business Object: Action Event

      Function: True or False

      in the selection list Value specified in this filter
      • Change Job (Default Definition)
      • Change Job for Global Modern Services
      • Change Job for IT Services Group
      • Change Job for Sales
      • Change Organization Assignments for Worker (Default Definition)
      • Change Organization Assignments for Worker for Field Sales - North America Group
      • Change Organization Assignments for Worker for Global Modern Services
      • Change Organization Assignments for Worker for Marketing
      • Change Organization Assignments for Workers by Organization (Default Definition)
      • Change Organization Assignments for Workers by Organization for Global Modern Services
      • Contact Change (Default Definition)
      • Edit Worker Additional Data Event (Default Definition)
      • Edit Worker Additional Data Event for Global Modern Services
      • Move Worker (Supervisory) (Default Definition)
      • Move Worker (Supervisory) for Global Modern Services
      • Move Workers (By Organization) (Default Definition)
      • Move Workers (By Organization) for Global Modern Services
      • Move Workers (Supervisory) (Default Definition)
      • Move Workers (Supervisory) for Global Modern Services
      • Personal Information Change (Default Definition)
      • Personal Information Change for Global Modern Services
      • Switch Primary Job (Default Definition)
      • Switch Primary Job for Global Modern Services
      • Title Change (Default Definition)
      • Title Change for Global Modern Services
      • Work Contact Change (Default Definition)
       
      And   Status

      Business Object: Action Event

      Function: True or False

      equal to Value specified in this filter Successfully Completed  
      And   Effective Date

      Business Object: Action Event

      Function: True or False

      greater than or equal to Value from another field Prompt - Start Date  
  3. Create a custom report.
    1. Log in to the Workday instance.
    2. In the quick find box, search for Create custom report.
    3. In the Create Custom Report window:
      1. Enter the Report Name. For example: RPT_new_hire_report.
      2. Select the Report Type as Advanced.
      3. Check the Enable As Web Service box.
      4. Uncheck the Optimized for Performance box.
      5. Select the Data Source as Active and Terminated Workers.
      6. Click OK. You are redirected to Edit Custom Report page.
      7. Under the Columns tab, add the Fields and Custom Fields required for the Workday employee details along with the calculated fields with the relevant Business Object.
        Business Object Fields Column Heading Override XML Alias
        Worker Employee ID Employee_ID
        Worker First Name firstName
        Worker Last Name lastName
        Worker Email - Work Email_-_Work
        Worker Hire Date Hire_Date
        Worker Worker Type Worker_Type
        Worker Business Title businessTitle
        Worker Supervisory Organization

        Note:

        Choose Column Heading Override as Department.
        Supervisory_Organization
        Worker Phone - Primary Work primaryWorkPhone
        Worker CF_new_hire_or_updated CF_new_hire_or_updated
        Worker Additional Data ServiceNowUserId servicenowuserid
        Worker Additional Data SN_TicketId snTicketid
        Worker Additional Data User_ErrorMessage userErrormessage
        Worker Additional Data Ticket_ErrorMessage ticketErrormessage
    4. Click OK.
    5. In Group column heading section, select all business object as below. (Group Column Heading for each business object will be blank)

      Group Column Headings

      Business Object Group Column Heading Group Column Heading XML Alias
      Worker Additional Data   Worker_Additional_Data_group
    6. After creating custom reports, you can specify how the report results should be sorted.
    7. Under the Filter tab, add the Fields and Custom Fields required for the Workday employee details along with the calculated fields with the relevant Business Object.
      And/Or ( Fields Operator Comparison Type Comparison Value )
      And   Terminated (based on report date) equal to Value specified in this filter NA  
      And ( Hire Date greater than or equal to Prompt the user for the value Default Prompt  
      Or   CF_Legal_name_change is not empty NA NA  
      Or ( CF_new_event_exist is not empty NA NA  
      And ( Email - Work none in the selection list Value from another field CF_work_email  
      Or   CF_Ticket_ErrorMessage? equal to Value specified in this filter ticket failed  
      Or   CF_User_ErrorMessage? equal to Value specified in this filter user failed  
      Or   Business Title not equal to Value from another field CF_previous_business_title  
      Or   Supervisory Organization not in the selection list Value from another field CF_proposed_Supervisory Organization  
      Or   Phone - Primary Work not equal to Value from another field CF_proposed_Phone - Primary Work )))
    8. In the Prompts section, check the Populate Undefined Prompt Defaults box.

      Note:

      The data source Active and Terminated Workers uses built-in prompts such as Start Date, End Date, and so on. Based on the report you have chosen, Workday prompts you to fill in specific reporting criteria.

  4. Create an EIB report.
    1. Log in to the Workday instance.
    2. In the quick find box, search for Create EIB task.
    3. Enter the Name of the EIB task (EIB_new_hire_report).
    4. In the Create EIB pop-up, choose Outbound and click OK.
    5. In the General Settings, enter comments and then click Next.
    6. Under the Get Data tab, select the Data Source Type as Custom Report.
    7. Select the Custom Report as RPT_new_hire_report and then click Next.
    8. Under the Transform tab, select the Transformation Type as New Custom Report Transformation, then click Next.
    9. Under the Deliver tab, perform the following steps.
      1. Select the Delivery Method as Workday Attachment.
      2. Enter the File Name with the relevant file extension. For example, output.csv.
      3. Specify the Document Retention Policy (in Days) as should be less than 180, and then click Next.
      4. In the Details section, select the MIME Type as CSV.
      5. Click Next.
    10. Under the Review and Submit tab, verify the details, then click OK.
    11. Once you create the EIB report, the View Integration System window appears. In the top-left corner, click the ellipsis next to the EIB task name, choose Enterprise Interface, and then select Configure Transformation.
    12. In the Configure Transformation window, update the report transformation details, click OK, and then click Done.
    13. In the View Integration System window, in the top-left corner, click the ellipsis next to the EIB task name, choose Integration, and then select Launch/Schedule.
    14. In the Launch/Schedule Integration pop-up, select the Run Frequency as Run Now, and then click OK.
    15. In the Schedule an Integration window, specify the Start Date and Hire Date, and then click OK.

    The EIB report gets generated.

Configure ServiceNow

You can use admin account credentials or custom account credentials while configuring the ServiceNow connection in Oracle Integration.

If you do not want to use an admin account, create a custom integration user and assign the required role and permissions to the user. For information about creating a custom user, see Prerequisites for Creating a Connection in Using the ServiceNow Adapter with Oracle Integration 3.