Ready to get started?

Download a free trial of the Workday Cmdlets to get started:

 Download Now

Learn more:

Workday Icon Workday Data Cmdlets

An easy-to-use set of PowerShell Cmdlets offering real-time access to Workday. The Cmdlets allow users to easily read, write, update, and delete live data - just like working with SQL server.

Pipe Workday Data to CSV in PowerShell

Use standard PowerShell cmdlets to access Workday tables.

The CData Cmdlets Module for Workday is a standard PowerShell module offering straightforward integration with Workday. Below, you will find examples of using our Workday Cmdlets with native PowerShell cmdlets.

Creating a Connection to Your Workday Data

To connect, there are three pieces of information required: Authentication, API URL, and WSDL URL.


To authenticate, specify your User and Password. Note that you must append your Tenant to your User separated by an '@' character. For instance, if you normally log in with 'geraldg' and your Tenant is 'mycompany_mc1', then your User should be specified as 'geraldg@mycompany_mc1'.


The API URL may be specified either directly via APIURL, or it may be constructed from the Tenant, Service, and Host. The APIURL is constructed in the following format: <Host>/ccx/service/<Tenant>/<Service>.


The WSDLURL may be specified in its entirety, or may be constructed from the Service and WSDLVersion connection properties. The WSDLURL is constructed in the following format:<Service>/<WSDLVersion>/<Service>.wsdl

$conn = Connect-Workday  -User "$User" -Password "$Password" -Tenant "$Tenant" -Host "$Host"

Selecting Data

Follow the steps below to retrieve data from the Workers table and pipe the result into to a CSV file:

Select-Workday -Connection $conn -Table Workers | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myWorkersData.csv -NoTypeInformation

You will notice that we piped the results from Select-Workday into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.

The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.