RapidIdentity Product Guides - 2019 Rolling Release

Workday Adapter Actions

Define a connection to Workday.

Property

Value

Description

hostname*

text, expression, variable

the hostname of the server hosting the Workday web service

tenant*

text, expression, variable

the Workday tenant

username*

text, expression, variable

the username for authentication to Workday web service

password*

password, string, expression, variable

password for authentication to Workday web service

options

expression, variable

A record or JavaScript object with a field for each additional option. Currently defined fields are connectTimeout and socketTime which require a numeric value from 1 to 2147483647 (0x7FFFFFFF) that represents the number of milliseconds for the timeout, and 0 representing no timeout.

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

Global.wdHost = "services1.myworkday.com"
Global.wdTenant = "dummy"
Global.wdUser = "jdoe"
Global.wdPwd = <Password>
Global.wdReport = "jdoe/test"
sessionWD = defineWorkdayConnection(Global.wdHost, Global.wdTenant, 
    Global.wdUser, <Password>)

Find Workday contingent workers matching optional criteria and return an array of worker ID records.

Property

Value

Description

connection*

expression, variable

the Workday connection definition

matchEmail

text, expression, variable

email address to match (exactly) (default: none)

excludeTerminated

boolean, expression, variable

exclude terminated contingent workers (default: false)

asOf

expression, variable

match values that were in effect at or before this date/time (default: now)

updatedFrom

expression, variable

include only contingent workers updated at or after this date/time (default: none)

updatedThrough

expression, variable

include only contingent workers updated at or before this date/time (default: none)

effectiveFrom

expression, variable

include only contingent workers with values that became effective at or after this date/time (default: none)

effectiveThrough

expression, variable

include only contingent workers with values that became effective at or before this date/time (default: none)

changedReportFields

text, expression, variable

comma separated list of report fields to compare to changes to updated/effective values (default: all)

returnVariable

expression, variable

name of the variable to be assigned to the return value

See Record Layouts at the bottom of this page for record field names. The value of updatedThrough must be equal to or less than the current time on the Workday server (see getWorkdayServerTimestamp). The value of effectiveThrough can be in the future. Please don't panic if results seem slow to come back, we have found that it often takes 10 minutes or more for data to be returned from the Workday server. When using the effectiveFrom / effectiveThrough dates it is recommended to use overlapping time frames when running your job to ensure that you get all data.

Example

updatedEnd = getWorkdayServerTimestamp(sessionWD)
updatedStart = adjustDate(updatedEnd, -24, "hour")
effectiveStart = adjustDate(updatedEnd, -24, "hour")
effectiveEnd = adjustDate(updatedEnd, +12, "hour")
ids = findWorkdayContingentWorkerIDs(sessionWD, updatedStart, 
    updatedEnd, effectiveStart, effectiveEnd)

matchLocation text, expression, variable location or array of locations to match (default: none) matchOrg text, expression, variable organization or array of organizations to match (default: none) excludeTerminated boolean, expression, variable exclude terminated employees (default: false) asOf expression, variable match values that were in effect at or before this date/time (default: now) updatedFrom expression, variable include only employees updated at or after this date/time (default: none) updatedThrough expression, variable include only employees updated at or before this date/time (default: none) effectiveFrom expression, variable include only employees with values that became effective at or after this date/time (default: none) effectiveThrough expression, variable include only employees with values that became effective at or before this date/time (default: none) changedReportFields text, expression, variable comma separated list of report fields to compare to changes to updated/effective values (default: all) returnVariable expression, variable name of the variable to be assigned to the return value

See Record Layouts at the bottom of this page for record field names. The value of updatedThrough must be equal to or less than the current time on the Workday server (see getWorkdayServerTimestamp). The value of effectiveThrough can be in the future. Please don't panic if results seem slow to come back, we have found that it often takes 10 minutes or more for data to be returned from the Workday server. When using the effectiveFrom / effectiveThrough dates it is recommended to use overlapping time frames when running your job to ensure that you get all data.

Example

updatedEnd = getWorkdayServerTimestamp(sessionWD)
updatedStart = adjustDate(updatedEnd, -24, "hour")
effectiveStart = adjustDate(updatedEnd, -24, "hour")
effectiveEnd = adjustDate(updatedEnd, +12, "hour")
ids = findWorkdayEmployeeIDs(sessionWD, updatedStart, updatedEnd, 
    effectiveStart, effectiveEnd)

Find Workday workers (both employees and contingent workers) matching optional criteria and return an array of worker ID records.

Property

Value

Description

connection*

expression, variable

the Workday connection definition

excludeTerminated

boolean, expression, variable

exclude terminated workers (default: false)

updatedFrom

expression, variable

include only workers updated at or after this date/time (default: none)

updatedThrough

expression, variable

include only workers updated at or before this date/time (default: none)

effectiveFrom

expression, variable

include only workers with values that became effective at or after this date/time (default: none)

effectiveThrough

expression, variable

include only workers with values that became effective at or before this date/time (default: none)

changedReportFields

text, expression, variable

comma separated list of report fields to compare to changes to updated/effective values (default: all)

returnVariable

expression, variable

name of the variable to be assigned to the return value

See Record Layouts at the bottom of this page for record field names. The value of updatedThrough must be equal to or less than the current time on the Workday server (see getWorkdayServerTimestamp). The value of effectiveThrough can be in the future. Please don't panic if results seem slow to come back, we have found that it often takes 10 minutes or more for data to be returned from the Workday server. When using the effectiveFrom / effectiveThrough dates it is recommended to use overlapping time frames when running your job to ensure that you get all data.

Example

updatedEnd = getWorkdayServerTimestamp(sessionWD)
updatedStart = adjustDate(updatedEnd, -24, "hour")
effectiveStart = adjustDate(updatedEnd, -24, "hour")
effectiveEnd = adjustDate(updatedEnd, +12, "hour")
ids = findWorkdayWorkerIDs(sessionWD, updatedStart, updatedEnd, 
    effectiveStart, effectiveEnd)

Certain types of Workday operations will fail if we provide a timestamp that is ahead of the time on the Workday server, use this action to get the current time on the Workday server.

Get the current time on the Workday server as a Date object.

Property

Value

Description

connection*

expression, variable

the Workday connection definition

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

endWindow = getWorkdayServerTimestamp(sessionWD) 

Get a Workday worker (either employee or contingent worker) record.

Property

Value

Description

connection*

expression, variable

the Workday connection definition

idRecord*

expression, variable

the record or object containing either Employee_ID or Contingent_Worker_ID

asOf

expression, variable

include values that were in effect at or before this date/time (default: now)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

emplid = "123456"
searchRecord = createRecord()
setRecordFieldValue(searchRecord, "Employee_ID", emplid)
workerRecord = getWorkdayWorker(sessionWD, searchRecord)

Run a Workday report.

Property

Value

Description

connection*

expression, variable

the Workday connection definition

reportName*

text, expression, variable

the name (owner/name for custom reports) of the report

reportParams

expression, variable

an object or Record containing the report parameters

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

emplid = "123456"
workerReport = runWorkDayReport(sessionWD, Global.wdReport, 
    {"worker!Employee_ID": emplid})

Update a Workday worker (either employee or contingent worker) record.

Property

Value

Description

connection*

expression, variable

the Workday connection definition

record*

expression, variable

the record containing information to update

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

updateRecord = createRecord()
emplid = "123456"
emailAddr = "john.doe@idauto.net"
setRecordFieldValues(updateRecord, "Email_Addresses", emailAddr)
setRecordFieldValue(updateRecord, "Employee_ID", emplid)
updated = updateWorkdayWorker(sessionWD, updateRecord)

Worker ID Record (output from findWorkday*IDs(), input for getWorkdayWorker()

  • Descriptor: string (optional)

  • Employee_ID: string (optional)

  • Contingent_Worker_ID: string (optional)

  • WID: string (optional)

Either Employee_ID or Contingent_Worker_ID (but not both) is required when used as input to getWorkdayWorker()

Output Record for getWorkdayWorker()

  • As_Of_Date: date

  • As_Of_Moment: date

  • Employee_ID: string (optional)

  • Contingent_Worker_ID: string (optional)

  • Business_Title: string (optional)

  • Worker_Status: record (0 or more)

    • Active: boolean (optional)

    • Hire_Date: date (optional)

    • Original_Hire_Date: date (optional)

    • End_Employment_Date: date (optional)

    • Hire_Reason: string (optional)

    • Continuous_Service_Date: date (optional)

    • First_Day_of_Work: date (optional)

    • Expected_Retirement_Date: date (optional)

    • Retirement_Eligibility_Date: date (optional)

    • Retired: boolean (optional)

    • Retirement_Date: date (optional)

    • Seniority_Date: date (optional)

    • Severance_Date: date (optional)

    • Benefits_Service_Date: string (optional)

    • Company_Service_Date: date (optional)

    • Time_Off_Service_Date: date (optional)

    • Vesting_Date: date (optional)

    • Date_Entered_Workforce: date (optional)

    • Days_Unemployed: string (optional)

    • Months_Continuous_Prior_Employment: string (optional)

    • Leaves: record (0 or more)

      • On_Leave: boolean (optional)

      • Leave_Start_Date: date (optional)

      • Estimated_Leave_End_Date: date (optional)

      • Leave_End_Date: date (optional)

      • First_Day_Of_Work: date (optional)

      • Leave_Type_Name: string

      • Benefits_Effect: boolean (optional)

      • Payroll_Effect: boolean (optional)

      • Paid_Time_Off_Accrual_Effect: boolean (optional)

      • Continuous_Service_Accrual_Effect: boolean (optional)

      • Stock_Vesting_Effect: boolean (optional)

    • Terminations: record (0 or more)

      • Terminated: boolean (optional)

      • Termination_Date: date (optional)

      • Termination_Category: string (optional)

      • Termination_Reason: string (optional)

      • Involuntary_Termination: boolean (optional)

      • Not_Eligible_For_Hire: boolean (optional)

    • Probations: record (0 or more)

      • Probation_Start_Date: date (optional)

      • Probation_End_Date: date (optional)

    • Names: record (0 or more)

      • Effective_Date: date

      • Is_Legal: boolean

      • Is_Preferred: boolean

      • Last_Modified: date

      • Country: string

      • Additional_Name_Type: string (optional)

      • Prefixes: record (0 or more)

        • Type: string

        • Prefixes_Value: string

      • First_Name: string (optional)

      • Middle_Name: string (optional)

      • Last_Names: record (0 or more)

        • Type: string

        • Last_Names_Value: string

      • Local_Name: record (optional)

        • Local_Name: string

        • Local_Script: string

        • First_Name: string (optional)

        • Middle_Name: string (optional)

        • Last_Names: record (0 or more)

          • Type: string

          • Last_Names_Value: string

      • Suffixes: record (0 or more)

        • Type: string

        • Suffixes_Value: string

    • Email_Addresses: record (0 or more)

      • Email_Address: string

      • Email_Comment: string (optional)

      • Usage_Data: record

        • Public: boolean

        • Usage_Type: record (1 or more)

          • Primary: boolean

          • Usage_Type_Value: string

        • Use_For: string (0 or more)

        • Comments: string (optional)

    • Phone_Numbers: record (0 or more)

      • Country: string (optional)

      • International_Phone_Code: string (optional)

      • Area_Code: string (optional)

      • Phone_Number: string

      • Phone_Extension: string (optional)

      • Phone_Device_Type: string

      • Usage_Data: record

        • Public: boolean

        • Usage_Type: record (1 or more)

          • Primary: boolean

          • Usage_Type_Value: string

        • Use_For: string (0 or more)

        • Comments: string (optional)

    • Addresses: record (0 or more)

      • Effective_Date: date

      • Last_Modified: date

      • Country: string

      • Address_Line: record (0 or more)

        • Descriptor: string

        • Type: string

        • Address_Line_Value: string

      • Municipality: string (optional)

      • Submunicipality: string (0 or more)

      • Region: string (optional)

      • Subregion: record (0 or more)

        • Descriptor: string

        • Type: string

        • Subregion_Value: string

      • Postal_Code: string (optional)

      • Usage_Data: record

        • Public: boolean

        • Usage_Type: record (1 or more)

          • Primary: boolean

          • Usage_Type_Value: string

        • Use_For: string (0 or more)

        • Comments: string (optional)

    • Web_Addresses: record (0 or more)

      • Web_Address: string

      • Web_Address_Comment: string (optional)

      • Usage_Data: record

        • Public: boolean

        • Usage_Type: record (1 or more)

          • Primary: boolean

          • Usage_Type_Value: string

        • Use_For: string (0 or more)

        • Comments: string (optional)

    • Instant_Messenger_Addresses: record (0 or more)

      • Instant_Messenger_Address: string

      • Instant_Messenger_Comment: string (optional)

      • Instant_Messenger_Provider: string

      • Usage_Data: record

        • Public: boolean

        • Usage_Type: record (1 or more)

          • Primary: boolean

          • Usage_Type_Value: string

        • Use_For: string (0 or more)

        • Comments: string (optional)

    • Date_Of_Birth:  date (optional)

    • Gender: string

    • Positions: record (0 or more)

      • Effective_Date: date

      • Position: string (optional)

      • Position_ID: string (optional)

      • Position_Title: string (optional)

      • Business_Title: string (optional)

      • Employee_Type: string

      • Time_Type: string

      • Job_Exempt: boolean (optional)

      • Scheduled_Weekly_Hours: string (optional)

      • Default_Weekly_Hours: string (optional)

      • Full_Time_Equivalent_Percentage: string (optional)

      • Pay_Type: string (optional)

      • Job Classifications: record (0 or more)

        • Job_Classification_Group_Name: string (optional)

        • Job_Classification_Name: string (optional)

      • Company_Insider_Type: string

      • Job_Profiles: record (0 or more)

        • Job_Profile: string (optional)

        • Job_Exempt: boolean (optional)

        • Management_Level: string (optional)

        • Job_Category: string (optional)

        • Job_Family: string (0 or more)

        • Job_Profile_Name: string (optional)

        • Work_Shift_Required: boolean (optional)

        • Critical_Job: boolean (optional)

        • Difficulty_to_Fill: string (optional)

      • Organizations: record (0 or more)

        • Organization_ID: string (optional)

        • Organization_Name: string (optional)

        • Organization_Type: string

        • Organization_Subtype: string

      • Locations: record (0 or more)

        • Location_Name: string (optional)

        • Location_Type: string

        • Time_Profile: string

      • Work_Shift: string (optional)

      • Work_Hours_Profile: string (optional)

      • Supervisors: record (0 or more)

    • Receive_Email_Notifications: boolean (optional)

Input Record for updateWorkdayWorker

  • Names: record (0 or more)

    • Effective_Date: date

    • Is_Legal: boolean

    • Is_Preferred: boolean

    • Last_Modified: date

    • Country: string

    • Additional_Name_Type: string (optional)

    • Prefixes: record (0 or more)

      • Type: string

      • Prefixes_Value: string

    • First_Name: string (optional)

    • Middle_Name: string (optional)

    • Last_Names: record (0 or more)

      • Type: string

      • Last_Names_Value: string

    • Local_Name: record (optional)

      • Local_Name: string

      • Local_Script: string

      • First_Name: string (optional)

      • Middle_Name: string (optional)

      • Last_Names: record (0 or more)

        • Type: string

        • Last_Names_Value: string

    • Suffixes: record (0 or more)

      • Type: string

      • Suffixes_Value: string

  • Email_Addresses: record (0 or more)

    • Email_Address: string

    • Email_Comment: string (optional)

    • Usage_Data: record

      • Public: boolean

      • Usage_Type: record (1 or more)

        • Primary: boolean

        • Usage_Type_Value: string

      • Use_For: string (0 or more)

      • Comments: string (optional)

  • Phone_Numbers: record (0 or more)

    • Country: string (optional)

    • International_Phone_Code: string (optional)

    • Area_Code: string (optional)

    • Phone_Number: string

    • Phone_Extension: string (optional)

    • Phone_Device_Type: string

    • Usage_Data: record

      • Public: boolean

      • Usage_Type: record (1 or more)

        • Primary: boolean

        • Usage_Type_Value: string

      • Use_For: string (0 or more)

      • Comments: string (optional)

  • Addresses: record (0 or more)

    • Effective_Date: date

    • Last_Modified: date

    • Country: string

    • Address_Line: record (0 or more)

      • Descriptor: string

      • Type: string

      • Address_Line_Value: string

    • Municipality: string (optional)

    • Submunicipality: string (0 or more)

    • Region: string (optional)

    • Subregion: record (0 or more)

      • Descriptor: string

      • Type: string

      • Subregion_Value: string

    • Postal_Code: string (optional)

    • Usage_Data: record

      • Public: boolean

      • Usage_Type: record (1 or more)

        • Primary: boolean

        • Usage_Type_Value: string

      • Use_For: string (0 or more)

      • Comments: string (optional)

  • Web_Addresses: record (0 or more)

    • Web_Address: string

    • Web_Address_Comment: string (optional)

    • Usage_Data: record

      • Public: boolean

      • Usage_Type: record (1 or more)

        • Primary: boolean

        • Usage_Type_Value: string

      • Use_For: string (0 or more)

      • Comments: string (optional)

  • Instant_Messenger_Addresses: record (0 or more)

    • Instant_Messenger_Address: string

    • Instant_Messenger_Comment: string (optional)

    • Instant_Messenger_Provider: string

    • Usage_Data: record

      • Public: boolean

      • Usage_Type: record (1 or more)

        • Primary: boolean

        • Usage_Type_Value: string

      • Use_For: string (0 or more)

      • Comments: string (optional)

  • Receive_Email_Notifications: boolean (optional)

Documentation from Workday

Useful information on the Workday API.