ml-connector
PlexWorkday HCM

Plex and Workday HCM integration

Plex runs manufacturing finance and operations. Workday HCM runs workforce and compensation. Connecting the two keeps your Plex general ledger and headcount aligned with your Workday workforce. New hires, terminations, and compensation changes in Workday sync into Plex without manual re-entry. Cost center and job code mappings ensure labor allocations land on valid Plex GL accounts, and your month-end close starts with labor dimensions already reconciled.

How Plex works

Plex is a cloud-native ERP platform exposing suppliers, purchase orders, invoices, GL accounts, cost centers, parts, and inventory through REST JSON APIs at https://cloud.plex.com/api and legacy SOAP XML Web Services. The REST API authenticates with OAuth 2.0 client credentials against https://accounts.plex.com/oauth2/token and returns a Bearer token. Plex does not offer native webhooks, so integrations must poll the REST API on a configurable interval, typically 5 to 15 minutes, filtering by modified_date or created_date. Older customers may use scheduled SFTP DataSources extracts for bulk loads. Role-based permissions are enforced, and the integration user must have the correct Plex role assigned or API calls return 403 or empty results. PCN company code is required for SOAP authentication to route to the correct data partition.

How Workday HCM works

Workday HCM is an enterprise cloud platform exposing workers, positions, organizations, compensation, cost centers, and accounting journals through SOAP APIs at https://{host}.workday.com/ccx/service/{tenant}/{ServiceName}/{version} and REST APIs at https://{host}.workday.com/ccx/api/{service}/{version}/{tenant}/{resource}. The REST API uses OAuth 2.0 with refresh token grant and a 60-minute access token expiry, while the SOAP API uses WS-Security UsernameToken with Integration System User credentials. Financial and procurement data requires SOAP only. Workday does not support native webhooks, so integrations must poll on a schedule with a minimum 5-minute interval. HTTP 429 responses with Retry-After headers indicate rate limiting. API versions release twice per year, and integrations must track deprecations.

What moves between them

Worker and compensation data flows from Workday HCM into Plex. When employees are hired, terminated, or rehired in Workday, those changes sync to Plex positions and headcount records. Compensation and cost center assignments from Workday are mapped to corresponding Plex GL accounts and cost center dimensions on a configurable schedule, typically after each payroll period. Reference data such as positions, organizations, and job codes is aligned in both directions so labor allocations in Plex reference valid dimensions. Data moves by polling, since both systems are pull-only and do not emit webhooks.

How ml-connector handles it

ml-connector stores both credential sets encrypted. On the Plex side it authenticates with OAuth2 client credentials, refreshing the Bearer token when a call returns 401, and accepts the company code (PCN) to route to the correct data partition. On the Workday side it refreshes the OAuth2 access token on every 60-minute expiry or manages SOAP Integration System User credentials, depending on which API surface is configured. Both systems return HTTP 429 when rate limits are hit, so ml-connector backs off exponentially and retries, respecting Workday's Retry-After header. Cost centers and job codes are mapped first, so every worker record and labor allocation references a Plex GL account and cost center that already exists. Because both systems are poll-only with no native webhooks, ml-connector polls on a schedule tied to your payroll calendar, and it tracks every record in the audit trail so failed syncs can be replayed.

A real-world example

A mid-sized discrete manufacturer with two plants and a head office runs Plex for production control, inventory, and finance, and uses Workday HCM for payroll and benefits across all locations. Before the integration, the finance team manually updated Plex headcount from Workday spreadsheets, and labor cost allocations were re-keyed by hand into Plex GL accounts at month-end close. With Plex and Workday HCM connected, worker changes and compensation flows from Workday into Plex automatically on a weekly schedule, cost centers are mapped to Plex GL accounts, and the finance team starts month-end close with labor accounts already reconciled and headcount aligned to the current org structure.

What you can do

  • Sync Workday HCM workers and positions into Plex, keeping headcount and organizational structure aligned.
  • Map Workday cost centers and compensation allocations to Plex GL accounts and cost center dimensions.
  • Authenticate Plex with OAuth2 and company code (PCN), and Workday with OAuth2 or SOAP Integration System User credentials.
  • Poll both systems on a configurable schedule with exponential backoff on HTTP 429 rate limits and full replay capability.
  • Maintain a complete audit trail of every worker, compensation, and cost center record synced between the two systems.

Questions

Which direction does data move between Plex and Workday HCM?
Worker and compensation data moves from Workday HCM into Plex. Employees hired, terminated, or rehired in Workday sync to Plex worker and position records, along with compensation and cost center assignments mapped to Plex GL accounts. Cost centers and job codes are aligned in both directions so labor allocations land on valid Plex dimensions.
How does ml-connector handle Plex and Workday authentication differences?
Plex uses OAuth2 client credentials; ml-connector refreshes the Bearer token on 401 responses. Workday offers two paths: REST with OAuth2 access tokens that expire every 60 minutes, or SOAP with Integration System User credentials. ml-connector supports both and refreshes or re-authenticates as needed. Both credential sets are stored encrypted.
How does the integration handle the lack of webhooks on both systems?
Both Plex and Workday are poll-only with no native webhook support. ml-connector polls both systems on a configurable schedule, typically tied to your payroll calendar, filtering by modified_date or created_date to pull incremental changes. Rate limits on both systems trigger exponential backoff, and every record is tracked in the audit trail for replay if a downstream call fails.

Related integrations

Connect Plex and Workday HCM

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started