ml-connector
PlexUPS

Plex and UPS integration

Plex runs discrete manufacturing operations and procurement. UPS handles shipments, ratings, and pickups. Connecting the two automates the process of getting carrier rates and pickup schedules for inbound materials. Purchase orders and releases in Plex flow to UPS for shipment evaluation, keeping your procurement and logistics timelines in alignment without re-entering addresses and quantities across systems.

How Plex works

Plex is a cloud-native ERP and MES platform by Rockwell Automation that exposes suppliers, purchase orders, purchase order releases, invoices, parts, inventory, GL accounts, and other manufacturing and finance entities through REST APIs authenticated with OAuth 2.0 bearer tokens. Plex also offers legacy SOAP endpoints using Basic authentication with a company code (PCN). Plex has no native webhooks, so shipment and procurement data is read by polling the REST API on a configurable interval, typically 5 to 15 minutes, filtered by modified_date or created_date.

How UPS works

UPS exposes shipments, ratings, tracking, address validation, and pickup scheduling through REST APIs authenticated with OAuth 2.0 client credentials. UPS can push tracking events to registered webhooks via the Track Alert API, and also supports polling via the Quantum View feed for shipment visibility. UPS does not provide a billing or invoice API, so cost data flows one direction into Plex. The Track Alert API allows subscriptions for up to 100 tracking numbers with a 14-day expiry that must be renewed.

What moves between them

Purchase orders and releases flow from Plex to UPS. When a purchase order is created or modified in Plex, ml-connector reads the supplier address, receiving location, and line item quantities and posts a shipment request to UPS for rating and pickup scheduling. Tracking events and shipment status flow back from UPS into Plex via Track Alert webhooks or periodic Quantum View polling, so procurement teams see carrier assignments and pickup windows within the Plex order workflow. UPS cannot provide invoices, so Plex remains the source of truth for accounting.

How ml-connector handles it

ml-connector authenticates to Plex with OAuth 2.0 and to UPS with OAuth 2.0 credentials and an optional merchant account number. It polls the Plex REST API on a configurable schedule to detect new and modified purchase orders and releases, filtering by created_date and modified_date. When a shipment-eligible order is found, ml-connector extracts the supplier name and address from Plex, looks up the receiving location, and posts the shipment to UPS with quantity and weight dimensions. If UPS Track Alert webhooks are enabled, ml-connector receives tracking events and writes them back into Plex as external references or custom fields. If webhooks are not enabled, ml-connector polls the Quantum View feed to fetch tracking status on a schedule. UPS rate limits OAuth token requests, with a maximum of approximately 250 tokens per day and a 4-hour token lifetime, so ml-connector caches tokens and implements exponential backoff on HTTP 429 responses. Plex role-based permissions are enforced, so the integration user must have API access to suppliers, purchase orders, and order releases, or calls will return 403 or empty results.

A real-world example

A mid-sized discrete manufacturer in automotive components sources materials from dozens of suppliers across North America and Asia. Before the integration, the procurement team created purchase orders in Plex, then manually requested ratings from UPS and coordinated pickup schedules via email and phone calls, often with days of delay before a pickup slot was confirmed. With Plex and UPS connected, each purchase order automatically flows to UPS for rating and pickup scheduling, and procurement planners see available pickup dates within Plex the same day the order is placed. Lead time visibility improves, supplier commitments are more reliable, and the procurement team no longer spends time chasing carrier availability.

What you can do

  • Post purchase orders and releases from Plex to UPS for shipment rating and pickup scheduling, with supplier and receiving locations automatically mapped.
  • Retrieve UPS shipment ratings and pickup windows and display them within the Plex procurement workflow via external references or custom fields.
  • Subscribe to UPS Track Alert webhooks to receive tracking events for each shipment and write them back into Plex as shipment status updates.
  • Poll the UPS Quantum View feed when webhooks are not available, maintaining consistent tracking visibility with configurable polling intervals.
  • Handle UPS OAuth 2.0 authentication with optional merchant account routing and implement exponential backoff on rate limit responses.

Questions

Which direction does data move between Plex and UPS?
The main flow is Plex to UPS. Purchase orders and purchase releases flow from Plex to UPS for shipment rating and pickup scheduling. Tracking events and shipment status flow back from UPS into Plex via webhooks or polling. UPS does not provide a billing or invoice API, so cost data does not flow from UPS back to Plex.
How does the integration handle Plex's lack of webhooks?
ml-connector polls the Plex REST API on a configurable interval, typically 5 to 15 minutes, filtering by created_date and modified_date to detect new and modified purchase orders. When webhooks are enabled in your UPS account, ml-connector receives tracking updates as they occur; if not, it polls the UPS Quantum View feed to maintain tracking visibility.
What happens if Plex and UPS roles or permissions are not set up correctly?
Plex enforces role-based permissions on the API, so the integration user must have access to suppliers, purchase orders, and purchase order releases, or calls will return 403 (Forbidden) or empty results. UPS requires OAuth 2.0 credentials with an optional merchant account number; if the merchant account is not provided, shipments default to the UPS account associated with the credentials.

Related integrations

Connect Plex and UPS

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

Get started