Plex and SAP SuccessFactors integration
Plex runs manufacturing and finance for discrete manufacturers. SAP SuccessFactors runs HR, hiring, and compensation. Connecting the two keeps your production workforce and your labor cost allocations aligned. New hires and transfers in SuccessFactors appear in Plex with the correct cost center and job code, so your manufacturing orders are staffed by the same headcount HR sees. ml-connector bridges the two systems and handles their very different authentication flows and data formats on a schedule you control.
What moves between them
The main flow is SAP SuccessFactors into Plex. Employee records, job titles, cost centers, and org structure from SuccessFactors flow into Plex on your configured polling schedule, mapped to Plex GL accounts and cost center dimensions. Transfers and job changes in SuccessFactors update the corresponding Plex employee records and cost allocations. Reference data such as departments, divisions, and cost centers are synced as Plex cost center validation tables so job records land on valid GL dimensions. Plex is read-only in this direction; ml-connector does not write employee or job data back to SuccessFactors.
How ml-connector handles it
ml-connector stores both Plex OAuth credentials and SuccessFactors RSA private key encrypted. On each sync run, it signs a fresh SAML assertion with the private key and exchanges it with SuccessFactors for a Bearer token, then calls OData V2 endpoints with lastModifiedDateTime filters to pull only changed records. It converts SuccessFactors' non-standard /Date(milliseconds)/ datetime format to ISO 8601 before storing and mapping. Cost centers and job codes are aligned first so every employee record references a Plex GL dimension that already exists. Plex OAuth token refresh is automatic on each request, and rate limits are handled with exponential backoff. The integration tracks SuccessFactors SAML assertion expiry and Plex token age to prevent authentication failures mid-sync. Every record carries a full audit trail and can be replayed if a mapping or downstream lookup fails.
A real-world example
A mid-sized automotive supplier manufactures components and assemblies in two plants, using Plex for production scheduling, inventory, and accounting. The HR team uses SAP SuccessFactors to manage hiring, compensation, and org changes. Before the integration, the finance team received an HR roster export each month, manually looked up which plant and cost center each person belonged to, and hand-entered labor headcount into Plex for month-end close. With Plex and SAP SuccessFactors connected, employee transfers and new hires flow in automatically on a daily schedule, allocated to the correct cost center for each plant, and the accounting team starts close with labor headcount already aligned to SuccessFactors. The manual roster reconciliation step is gone.
What you can do
- Sync employees, job titles, and cost centers from SAP SuccessFactors into Plex on a configurable schedule, keeping manufacturing headcount aligned with HR.
- Map SuccessFactors cost centers and job codes to Plex GL accounts and cost center dimensions so labor allocations land on valid accounts.
- Authenticate with Plex OAuth 2.0 and SuccessFactors SAML Bearer Assertion, including RSA key management and token refresh.
- Convert SuccessFactors OData V2 datetime format to ISO 8601 and handle datacenter-specific hostname routing.
- Poll on your HR calendar with retries and a full audit trail on every record, with no native webhooks required.
Questions
- Which direction does data move between Plex and SAP SuccessFactors?
- The main flow is SAP SuccessFactors into Plex. Employee records, job titles, cost centers, and org structure from SuccessFactors move into Plex, while Plex's GL accounts and cost center dimensions are validated on the receiving end. Plex is read-only in this direction; ml-connector does not write employee or job data back to SuccessFactors.
- How does ml-connector handle SuccessFactors SAML Bearer Assertion authentication?
- ml-connector stores your RSA private key encrypted and generates a fresh SAML assertion on each sync cycle by signing with that key. It exchanges the signed assertion with SuccessFactors for a 24-hour Bearer token and uses that token for all subsequent OData calls. Token refresh is automatic, and ml-connector tracks assertion expiry so authentication failures are prevented before they can occur.
- What happens with SuccessFactors' non-standard datetime format and datacenter-specific URLs?
- SuccessFactors OData responses use /Date(milliseconds)/ format instead of ISO 8601. ml-connector converts this on ingestion so downstream systems receive standard datetime. Datacenters have different hostnames (api4.successfactors.com, api8.sapsf.com, etc.), and ml-connector accepts the hostname per customer so routes reach the correct data partition without hostname collisions.
Related integrations
More Plex integrations
Other systems that connect to SAP SuccessFactors
Connect Plex and SAP SuccessFactors
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started