en-US/about_WorkdayApi.help.txt
# Workday SOAP API Powershell Script Module #
## Description ## Provides simple methods for accessing the Workday SOAP API. This simple Powershell Module has been written to fulfill my employer's Workday automation needs. I see this as a prototype, while I experiment with the best way to expose the complexities of the Workday API in a Powershell-y way. Thinking that the community might find it helpful and may even wish to comment or contribute, I have hosted the source on Bitbucket (https://bitbucket.org/treestryder/powershell_module_workdayapi/). ## Features ## * Easy command-line use, after setting default configuration options and securely saving them to the current user's profile. * Get Worker information for one or all workers. * Get / Set / Update Worker email. * Get / Set / Update Worker phone. * Upload Worker Photos. * Upload Worker Documents. * Run reports. * Trigger Integrations and retreive their status. * Submit arbitrary API calls. * A sample script to push A.D. changes to Workday (samples/Push_AD_to_Workday.ps1). ## Examples ## Set-WorkdayCredential Set-WorkdayEndpoint -Endpoint Staffing -Uri 'https://SERVICE.workday.com/ccx/service/TENANT/Staffing/v26.0' Set-WorkdayEndpoint -Endpoint Human_Resources -Uri 'https://SERVICE.workday.com/ccx/service/TENANT/Human_Resources/v26.0' Set-WorkdayEndpoint -Endpoint Integrations -Uri 'https://SERVICE.workday.com/ccx/service/TENANT/Integrations/v26.0' Save-WorkdayConfiguration Set-WorkdayWorkerPhone -WorkerId 123 -WorkerType Employee_ID -Number '+1 (234) 987-6543' Get-WorkdayWorkerPhone -WorkerId 123 -WorkerType Employee_ID | Format-Table UsageType DeviceType Number Extension Primary Public --------- ---------- ------ --------- ------- ------ Home Landline 1 (234) 567-8910 False False Work Landline 1 (234) 987-6543 True False $response = Invoke-WorkdayRequest -Request '<bsvc:Server_Timestamp_Get xmlns:bsvc="urn:com.workday/bsvc" />' -Uri https://SERVICE.workday.com/ccx/service/TENANT/Human_Resources/v26.0 $response.Xml.Server_TimeStamp wd version Server_Timestamp_Data -- ------- --------------------- urn:com.workday/bsvc v25.1 2015-12-02T12:18:30.841-08:00 Get-Command -Module WorkdayApi | sort Name | Get-Help | Format-Table Name, Synopsis -AutoSize Name Synopsis ---- -------- Export-WorkdayDocument Exports Workday Documents. Get-WorkdayDate Gets the current time and date from Workday. Get-WorkdayEndpoint Gets the default Uri value for all or a particular Endpoint. Get-WorkdayIntegrationEvent Retrieves the status of a Workday Integration. Get-WorkdayReport Returns the XML result from any Workday report, based on its URI. Get-WorkdayWorker Gets Worker information as Workday XML. Get-WorkdayWorkerDocument Gets Workday Worker Documents. Get-WorkdayWorkerEmail Returns a Worker's email addresses. Get-WorkdayWorkerPhone Returns a Worker's phone numbers. Get-WorkdayWorkerPhoto Returns a worker's photo. Invoke-WorkdayRequest Sends XML requests to Workday API, with proper authentication and receives XML response. Remove-WorkdayConfiguration Removes Workday configuration file from the current user's Profile. Save-WorkdayConfiguration Saves default Workday configuration to a file in the current users Profile. Set-WorkdayCredential Sets the default Workday API credentials. Set-WorkdayEndpoint Sets the default Uri value for a particular Endpoint. Set-WorkdayWorkerDocument Uploads a document to a Worker's records in Workday. Set-WorkdayWorkerEmail Sets a Worker's email in Workday. Set-WorkdayWorkerPhone Sets a Worker's phone number in Workday. Set-WorkdayWorkerPhoto Uploads an image file to Workday and set it as a Worker's photo. Start-WorkdayIntegration Starts a Workday Integration. Update-WorkdayWorkerEmail Updates a Worker's email in Workday, only if it is different. Update-WorkdayWorkerPhone Updates a Worker's phone number in Workday, only if it is different. Set-WorkdayWorkerUserName Sets the employee/contingent workers login user name. ## Installation ## The only dependency is Powershell version 4. To install... * Download the files. * Execute the script Install-WorkdayModule.ps1 |