Plex and ServiceTitan integration
Plex runs manufacturing operations, procurement, and financials. ServiceTitan runs field-service dispatch and invoicing for HVAC, plumbing, and electrical contractors. When a manufacturing company also operates service divisions or contracts out service work, connecting Plex and ServiceTitan keeps vendor master data and purchase activity aligned across the two platforms. Purchase orders created in Plex can flow into ServiceTitan's procurement system, and invoices received in Plex can be reconciled with service invoices and AP Bills in ServiceTitan without manual re-entry.
What moves between them
Purchase orders and supplier invoices flow from Plex into ServiceTitan. Plex purchase orders are polled at a configurable interval and mapped to ServiceTitan purchase orders linked to vendors in ServiceTitan's system. Invoices received in Plex are synced into ServiceTitan's AP Bills queue where they can be matched to received purchase orders. ServiceTitan's webhook events for invoices and payments are logged in ml-connector's audit trail for two-way visibility.
How ml-connector handles it
ml-connector stores both Plex OAuth credentials and ServiceTitan client credentials encrypted. For Plex, it polls the purchase order and invoice entities on a schedule matching your procurement cycle (5-15 minute intervals recommended) using the modified_date filter to find new records, and handles OAuth token refresh automatically. For ServiceTitan, it presents the required ST-App-Key header on every API call and caches the OAuth token to avoid re-requesting within the 15-minute lifetime. When posting purchase orders to ServiceTitan, ml-connector maps Plex suppliers to ServiceTitan vendors and validates that vendor records exist before creation. Plex does not document rate limits, so ml-connector implements exponential backoff on HTTP 429 responses. ServiceTitan webhooks are received, signature-verified with HMAC-SHA256, and logged for audit. Idempotency is ensured by deduplicating on Plex external reference fields and ServiceTitan purchase order numbers.
A real-world example
A contract manufacturing company operates both a factory running on Plex ERP and regional field-service divisions running on ServiceTitan for maintenance and emergency repairs. Before the integration, the procurement team managed vendor invoices in both systems separately, and when a supplier shipped goods to multiple locations, the accounting team manually split invoices across Plex and ServiceTitan records, creating reconciliation gaps. With Plex and ServiceTitan connected, purchase orders initiated in Plex for service-supplied materials route to ServiceTitan, invoices are automatically matched to the correct purchase order regardless of receiving location, and month-end accounting requires no manual sync between the two platforms.
What you can do
- Poll Plex purchase orders and supplier invoices on a configurable interval and sync to ServiceTitan vendors and AP Bills.
- Map Plex supplier master data to ServiceTitan vendors, creating missing vendors on first sync.
- Validate vendor and purchase order references before posting to ServiceTitan, with error logging for audit.
- Receive ServiceTitan webhook events for invoices and payments, verify HMAC-SHA256 signatures, and log all activity.
- Cache OAuth tokens and handle token refresh for both systems, plus manage Plex rate-limit backoff and ServiceTitan ST-App-Key headers.
Questions
- Which direction do purchase orders and invoices move between Plex and ServiceTitan?
- Purchase orders and supplier invoices flow from Plex into ServiceTitan. Plex is the source of procurement data for suppliers and vendor invoices. ServiceTitan webhook events for invoice status and payments are received and logged by ml-connector for two-way visibility and audit.
- Does ml-connector handle Plex's lack of webhooks and ServiceTitan's token lifetime?
- Yes. ml-connector polls Plex purchase orders and invoices on a configurable schedule (5-15 minute intervals recommended) since Plex has no native webhooks. For ServiceTitan, it caches the OAuth token for its full 15-minute lifetime to avoid repeated token requests, and it presents the required ST-App-Key header on every call.
- How does the integration manage supplier and vendor records between Plex and ServiceTitan?
- ml-connector treats Plex suppliers as the master and maps them to ServiceTitan vendors on first sync, creating any missing vendors before posting purchase orders. If a Plex supplier does not match an existing ServiceTitan vendor, ml-connector creates a new vendor record and logs the action for review.
Related integrations
More Plex integrations
Other systems that connect to ServiceTitan
Connect Plex and ServiceTitan
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started