Okta + Workday integration
Set up Okta as the identity provider for Workday via SAML — where Workday is the HRIS source and Okta authenticates Workday admins via SSO.
- Okta admin role
- Workday Security Administrator
- A Workday SAML configuration enabled on the tenant
1. Create a new SAML 2.0 application in Okta
In the Okta admin console, create a new SAML 2.0 application. Choose "Web Application" type. Note the placeholders for ACS URL + Entity ID — you'll get these from Workday in step 3.
2. Get the SAML metadata URL from Okta
Okta exposes the IdP metadata at a stable URL. Copy this URL — you'll paste it into Workday's SSO configuration. Alternatively, download the metadata XML if Workday doesn't support URL-based metadata.
3. Configure SSO in Workday
In Workday's admin → security → SSO settings, paste the Okta metadata URL (or upload the XML). Workday will display the ACS URL + Entity ID it expects — copy these.
4. Return to Okta + complete the SAML app config
Paste Workday's ACS URL into the Okta app's Single Sign-On URL field. Paste the Entity ID into the Audience URI field. Set the NameID format to EmailAddress (or persistent if Workday expects that).
5. Configure attribute mapping
Map the attributes the SP expects (see the Attribute Mapping section below). At minimum, email is required. Most apps also expect firstName + lastName.
6. Assign users + groups
In Okta, assign the SAML app to users or groups that should have access. Test with a pilot group before broad rollout.
7. Test end-to-end
Sign in to Workday via the IdP-initiated link (from Okta dashboard) AND via SP-initiated (direct Workday login URL). Both should work. Check the SAML Tracer browser extension or SAML decoder to inspect the assertion if anything fails.
What flows from where.
| Source (Okta) | Target (Workday) | Note |
|---|---|---|
| user.email | NameID | EmailAddress format |
| user.workdayId | Workday Account | Custom attribute; matches Workday's internal ID |
- Clock skew: Okta and Workday clocks must be within ~5 minutes. NTP-sync both. SAML's NotBefore + NotOnOrAfter are strict.
- NameID format mismatches are the most common failure. Workday typically wants EmailAddress; Okta defaults vary. Mismatch → cryptic "invalid assertion" errors.
- Just-in-time (JIT) provisioning vs SCIM: many apps support both. SAML JIT creates the user on first SSO; SCIM creates them ahead of time. Pick one — both can cause attribute drift.
- Audience restriction: Workday's expected Audience URI must match exactly what the IdP sends. Trailing slashes + protocol (http vs https) matter.
- Signed Response vs signed Assertion: many SPs require the Assertion to be signed (not just the Response envelope). Check the SP's docs.
- Workday is usually the source of truth (HRIS), and Okta is downstream. The integration is mostly Workday → Okta provisioning, not the other way around. Make sure your direction matches your enterprise pattern.
- Workday SAML uses a specific NameID; mismatch with Okta's emailAddress configuration is the most common failure.
- Workday's session policies are stricter than most SaaS — even successful SAML sometimes lands on an "session expired" page if MFA timeouts are mis-aligned.
- IdP-initiated SSO works (sign in from the IdP dashboard)
- SP-initiated SSO works (visit Workday directly + get redirected to IdP)
- User attributes flow through correctly (email, name, groups)
- Logout (single logout if supported) works as expected
- Step-up MFA fires when policy requires it
- Unauthorized users (not assigned to the app) get a clean denied message
- Capture a successful SAML response and inspect it (use the SAML decoder tool)
For the latest vendor-side configuration changes, refer to:
Workday SAML configuration →