Workday
Workday is a cloud-based software program for human resources (HR) designed to simplify workforce management. You can do everything with Workday from managing employee information, managing employee schedules, to processing payroll.
Relyance AI supports two authentication types for connecting to Workday:
Oauth2:
In order to integrate Workday with Relyance AI you will need your Tenant ID, Rest API Base Endpoint, Token Endpoint, Authorization Endpoint, Client ID, Client Secret, and follow an OAuth2 flow.
In Workday:
- Login to your Workday account.
- Find the 'Register API Client' page using the search feature.
- Register API Client:
- Select grant type: Authorization Code Grant
- Select access token type: Bearer
- Select Non-Expiring Refresh Tokens checkbox
- Select the following Scopes:
- Contact Information
- Academic Foundation
- Core Payroll
- Customer Accounts
- Customers
- Procurement
- Project Billing
- Personal Data
- Recruiting
- Staffing
- Student Core
- System
- Talent Pipeline
- Workday Designer
- Integration Build
- Integration Process
- For the Redirect URI, use: https://root.relyance.ai/api/oauth2
- Click OK to save the API client
- Once this is done, open up the client and copy the following values to be used in Relyance:
- Tenant ID
- Client ID
- Client Secret
- Workday REST API Endpoint
- Token Endpoint
- Authorization Endpoint
In the Relyance AI application:
- Login to your Relyance account.
- Navigate to the Settings Menu in the bottom left-hand side.
- Select Integrations.
- Click on the Vendor filter.
- Find the Workday integration card and click it to open its connections.
- On the Authentication step, pick the method under Authentication Method.
- Choose Oauth2
- Paste the Tenant ID, Rest API Base Endpoint, Token Endpoint, Authorization Endpoint, Client ID, Client Secret into their respective fields.
The REST API endpoints needs to be the BASE endpoint, all other endpoints need to be the full endpoint.
For example If the given URL is: https://boutique.workday.com/ccx/api/v1/boutique
You only need to extract and use: https://boutique.workday.com
- Additional Features:
- Select the Enable Data Inspection checkbox if you wish Relyance also to inspect the data. For more information on Relyance features, please refer to this help center article: here.
- Click Authenticate.
- At this point, you should see the following result on the integrations page:
- Congratulations, you are now connected to Workday.
Custom:
In order to integrate Workday with Relyance AI you will need your Tenant ID, Rest API Base Endpoint, Token Endpoint, Refresh Token, Client ID, Client Secret, and follow an OAuth2 flow.
In Workday:
- Login to your Workday account.
- Find the 'Register API Client for Integrations' page using the search feature.
- Register API Client:
- Select grant type: Authorization Code Grant
- Select access token type: Bearer
- Select Non-Expiring Refresh Tokens checkbox
- Select the following Scopes:
- Contact Information
- Academic Foundation
- Core Payroll
- Customer Accounts
- Customers
- Procurement
- Project Billing
- Personal Data
- Recruiting
- Staffing
- Student Core
- System
- Talent Pipeline
- Workday Designer
- Integration Build
- Integration Process
- Use the View API Client for Integrations to generate a refresh token.
- Select the newly created API client, and go to API Client Actions > API Client > Manage Refresh Tokens for Integration.
- Select the Workday Account for which the refresh token must be generated, and then select Next.
- Select the Generate New Refresh Token checkbox, and then select OK.
- For the Redirect URI, use: https://root.relyance.ai/api/oauth2
- Click OK to save the API client
- Once this is done, open up the client and copy the following values to be used in Relyance:
- Tenant ID
- Client ID
- Client Secret
- Workday REST API Endpoint
- Token Endpoint
- Refresh Token
In the Relyance AI application:
- Login to your Relyance account.
- Navigate to the Settings Menu in the bottom left-hand side.
- Select Integrations.
- Click on the Vendor filter.
- Find the Workday integration card and click it to open its connections.
- On the Authentication step, pick the method under Authentication Method.
- Choose Custom
- Paste the Tenant ID, Rest API Base Endpoint, Token Endpoint, Refresh Token, Client ID, Client Secret into their respective fields.


The REST API endpoints needs to be the BASE endpoint, all other endpoints need to be the full endpoint.
For example If the given URL is: https://boutique.workday.com/ccx/api/v1/boutique
You only need to extract and use: https://boutique.workday.com
- Additional Features:
- Select the Enable Data Inspection checkbox if you wish Relyance also to inspect the data. For more information on Relyance features, please refer to this help center article: here.
- Click Authenticate.
- At this point, you should see the following result on the integrations page:
- Congratulations, you are now connected to Workday.

Verify the connection is really working
Workday is the integration where a correct-looking configuration most often returns nothing, for two reasons that are specific to Workday.
- A pending security policy change. Granting the integration system user its domain permissions is not live until you run Activate Pending Security Policy Changes in Workday. Until then every request is authorised against the old policy, so the connection authenticates and returns empty results with no error. This is the single most common cause of an empty Workday scan.
- The three endpoints are tenant- and datacenter-specific. Rest API
Endpoint, Token Endpoint and Authorization Endpoint all carry your
tenant name and your Workday host (
wd2-impl,wd5, and so on). Copying them from another tenant's runbook produces an authentication failure that reads like bad credentials. - Domain security policies decide what you see. The integration requests access to Workday domains — Personal Data, Staffing, Core Payroll, Contact Information, Recruiting and others. A domain the ISU cannot reach is omitted from the results rather than reported, so a missing data category usually means a missing domain grant.
- Results capped at Maximum Number of Records. The default is 5000 per object. A tenant larger than that returns a truncated picture that looks like a complete one; raise it if your object counts exceed it.
Authentication methods and fields
Pick one of these under Authentication Method on the connection wizard's Authentication step. This table is generated from the integration catalog, so it always matches what the form actually asks for.
| Method | Required | Optional |
|---|---|---|
| Oauth2 | Tenant ID, Rest API Endpoint, Token Endpoint, Authorization Endpoint, Client ID, Client secret (secret), Maximum Number of Records |
— |
| Custom | Tenant ID, Rest API Endpoint, Token Endpoint, Client ID, Client secret (secret), Refresh Token (secret), Maximum Number of Records |
— |
| SAML 2.0 (OAuth) | Login Redirect URL, Rest API Endpoint, Token Endpoint, Authorization Endpoint, Client ID, Maximum Number of Records |
Client secret (secret) |
| SAML 2.0 (IdP-initiated) | IdP SSO Service URL, Rest API Endpoint, Token Endpoint, Authorization Endpoint, Assertion Dictionary (secret), Maximum Number of Records |
— |
Manage this integration with Terraform
Connections for this integration can be managed as code with the Relyance Terraform provider. Non-secret fields go in auth.params; secret fields go in auth.secrets_wo, which is write-only — never stored in Terraform state. Rotate secrets by bumping auth.secrets_wo_version.
OAuth (browser authorization)
The OAuth (browser authorization) method uses a browser authorization flow, so the connection is created in the Relyance app. Manage it in Terraform afterwards by importing it (terraform import relyance_integration_connection.example workday/<connection_id>) or reading it with the relyance_integration_connection data source.
Client ID & secret
resource "relyance_integration_connection" "workday_1" {
vendor = "workday"
name = "<your connection name>"
auth = {
method = "client-credentials"
params = {
tenant_id = "<tenant_id>"
rest_api_endpoint = "<rest_api_endpoint>"
token_endpoint = "<token_endpoint>"
client_id = "<client_id>"
maximum_number_of_records = "5000"
data_storage_location = "us"
}
# Secret fields are write-only: sent to Relyance, never stored in state.
secrets_wo = {
client_secret = var.workday_client_secret
refresh_token = var.workday_refresh_token
}
secrets_wo_version = 1
}
scans = { "data-inspection" = { enabled = true } }
}OAuth (browser authorization) — SAML 2.0 (OAuth)
The OAuth (browser authorization) — SAML 2.0 (OAuth) method uses a browser authorization flow, so the connection is created in the Relyance app. Manage it in Terraform afterwards by importing it (terraform import relyance_integration_connection.example workday/<connection_id>) or reading it with the relyance_integration_connection data source.
Access token
resource "relyance_integration_connection" "workday_3" {
vendor = "workday"
name = "<your connection name>"
auth = {
method = "access-token"
params = {
idp_url = "<idp_url>"
rest_api_endpoint = "<rest_api_endpoint>"
token_endpoint = "<token_endpoint>"
auth_endpoint = "<auth_endpoint>"
maximum_number_of_records = "5000"
data_storage_location = "us"
}
# Secret fields are write-only: sent to Relyance, never stored in state.
secrets_wo = {
assertion_dict = var.workday_assertion_dict
}
secrets_wo_version = 1
}
scans = { "data-inspection" = { enabled = true } }
}