ml-connector
PlexBambooHR

Plex and BambooHR integration

Plex runs manufacturing, procurement, and finance for discrete manufacturers. BambooHR runs HR and keeps employee records, compensation, and employment status authoritative. Connecting the two ensures your production system and your HR system agree on headcount, job assignments, and compensation history. New hires and terminations in BambooHR line up with Plex employees and cost centers, and compensation changes in BambooHR can flow into Plex for labor costing and workforce planning.

How Plex works

Plex exposes suppliers, purchase orders, invoices, GL accounts, customers, sales orders, parts, and inventory through a cloud REST API authenticated with OAuth 2.0 client credentials against https://cloud.plex.com/api, or through legacy SOAP Web Services with basic auth and a company code (PCN). Plex also supports scheduled SFTP DataSources extracts for bulk loads. The REST API filters by modified_date or created_date, but Plex has no native webhook system, so integrations must poll on a configurable interval, typically 5 to 15 minutes. Role-based permissions are enforced, and the integration user must have the correct Plex role assigned or API calls return 403.

How BambooHR works

BambooHR exposes employees, employment status, job info, compensation, benefits, and time off through a REST API authenticated with OAuth 2.0 authorization code (recommended) or API key via basic auth (legacy). Every request requires the customer's BambooHR subdomain in the URL and token endpoint. Access tokens expire in one hour and refresh tokens are issued with offline_access scope. BambooHR supports event-based webhooks signed with SHA-256 HMAC for employee.created, employee.updated, and employee.deleted events, but webhook payloads are lightweight and require a follow-up GET request to fetch full employee data. Rate limits are not published but documented as throttled with occasional 503 responses.

What moves between them

Employee data flows from BambooHR into Plex. New hires, terminations, rehires, and compensation changes in BambooHR are read and synced into Plex on a configurable schedule. Employment status, job title, department, and compensation history are aligned so Plex headcount and labor-costing reports reflect the current state in BambooHR. Job codes and departments in Plex are pre-mapped to BambooHR job info so assignments land on valid Plex dimensions. Changes flow one way because BambooHR is the system of record for people data.

How ml-connector handles it

ml-connector stores the BambooHR OAuth credentials encrypted and refreshes the access token every 55 minutes before expiry, so a token refresh does not cause a stale-data read. Because BambooHR requires a per-customer subdomain in every URL and token endpoint, ml-connector accepts and validates that subdomain for each customer and constructs the correct token endpoint at runtime. Plex requires an OAuth token on the REST API side, so ml-connector stores and refreshes that as well. Because neither system offers guaranteed idempotency, ml-connector tracks the last modified timestamp of each employee record and uses that to detect changes, filtering the BambooHR employee list by modified date on each poll. BambooHR employee field queries require explicit field enumeration, so ml-connector enumerates the fields needed for Plex (employee name, job title, department, employment status, hire date, termination date, and compensation). Plex role-based permissions are validated on connection test so an unpermissioned integration user is caught before syncs begin. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized discrete manufacturer with plants across three states runs Plex ERP for production, procurement, and finance, and uses BambooHR to manage payroll and HR across all locations. Before the integration, the manufacturing operations team manually updated Plex employee records quarterly when HR sent headcount reports, which meant production capacity planning and labor costing lagged behind actual hires and terminations by weeks. When a line went down for retooling, the team had to search Plex manually to find trained operators because job assignments were stale. With Plex and BambooHR connected, each hire, termination, and job change in BambooHR flows into Plex within minutes, so capacity planning and labor cost allocation use current data, and operator skill searches return the actual workforce on the shop floor.

What you can do

  • Sync employees from BambooHR into Plex on a configurable schedule, capturing new hires, terminations, and rehires.
  • Keep employee job titles, departments, and employment status aligned across Plex and BambooHR.
  • Manage BambooHR OAuth token refresh and Plex OAuth credentials, handling token expiry before authentication fails.
  • Validate Plex role-based permissions for the integration user before syncs begin, and reject unpermissioned credentials.
  • Maintain a full audit trail of every employee record synced, with the ability to replay failed records.

Questions

Which direction does employee data move between Plex and BambooHR?
Employee data flows from BambooHR into Plex. BambooHR is the system of record for people data, so new hires, terminations, compensation changes, and job assignments in BambooHR sync into Plex on a schedule you control. Plex does not write employee changes back to BambooHR.
How does the integration handle BambooHR's per-customer subdomain requirement?
BambooHR requires a unique subdomain in every URL and OAuth token endpoint. ml-connector accepts the per-customer subdomain for each Plex instance, validates it, and constructs the correct BambooHR token and API endpoints at runtime, so no hardcoded URLs are needed.
What employee fields flow from BambooHR into Plex?
ml-connector syncs employee name, job title, department, employment status, hire date, termination date, and compensation history. BambooHR requires explicit field enumeration in each API request, so ml-connector enumerates only the fields needed for labor costing and capacity planning in Plex.

Related integrations

Connect Plex and BambooHR

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

Get started