Skip to main content


"Workday is a human capital management, and student information system software vendor."


Reference: OAuth 2.0 Refresh Token Specification, Generate a non-expiring refresh token in Workday, Copy the client ID and client secret in Workday, API Documentation for SOAP-based web services for Workday

Pre-Requisites: An existing Workday deployment and admin privileges.

Setting up Workday

Create a client ID and client secret

  1. In the Search field, type Register api client for integrations.
  2. Select the Register API Client for integrations task.
  3. On the Register API client for Integrations page, in the Client Name field, enter the client name.
  4. Select the Non-Expiring Refresh Tokens option.
  5. In the Scope (Functional Areas) field, select Tenant Non-Configurable.
  6. Click OK.
  7. Copy the Client Secret and Client ID.
  8. Click Done.

Create non-expiring refresh token

In order to integrate with both Workday’s REST and SOAP APIs, crul will need to be able to authenticate remotely using a specially configured refresh token.

This option relies on the OAuth flow, but requires the refresh token to either never expire, or issue a fresh refresh token on each refresh request.

The non-expiring refresh token is needed to provision REST/SOAP to access Workday custom reports.

  1. In the Search field, type View API client.

  2. Select the View API Clients task.

  3. On the View API Clients page, click the API Clients for Integrations tab.

  4. Click the client you created in Create a client ID and client secret

  5. Click API Client > Manage Refresh Tokens for Integrations.

  6. On the Manage Refresh Tokens for Integrations page, in the Workday Account field, enter the Workday account of a user who has access to the custom report. Set up the user as a service account instead of an actual Workday user to prevent permissions being removed from the account due to a job change.

  7. Click OK.

  8. Return to the Workday home page.

  9. In the Search field, type Register api client for integration.

  10. On the Delete or Regenerate Refresh Token page, select the Generate New Refresh Token option.

  11. Click OK.

  12. On the Successfully Regenerated Refresh Token Page, copy the refresh token.

Configuring Workday OAuth Credentials in crul

Navigate to the credentials page in crul (top right corner menu credentials).

OAuth > Workday

Click the create button.

Select Workday from the type dropdown.

OAuth > Workday

Enter the Workday Token host and Token path, values into the credentials form entry. Often this is in the form of https://wd[0-9]-impl-services[0-9] and /ccx/oauth2/[customer]/token.

Enter the client_id, client_secret and refresh_token previously copied values into credentials form entry.

Click the create button.

OAuth > Workday client id, client secret and refresh token

Test the credential by running the following query. You should see a populated token.access_token column in the results.

oauth --credential "workday"

OAuth > Workday access token