Plex and ShipBob integration
Plex runs manufacturing and inventory. ShipBob runs fulfillment and logistics. Connecting the two keeps orders flowing from Plex through ShipBob's fulfillment centers, and shipment records flowing back to Plex for order completion and customer visibility. When a sales order is confirmed in Plex, ml-connector pushes it to ShipBob so fulfillment begins immediately. As ShipBob picks, packs, ships, and handles returns, ml-connector pulls those events back into Plex to close orders and maintain real-time inventory visibility.
What moves between them
The main flow is bidirectional. Sales orders and inventory levels flow from Plex into ShipBob to initiate fulfillment on a polling schedule tied to your sales cadence. ShipBob then publishes webhook events for order.shipped, shipment tracking updates, returns, and receiving, which ml-connector listens for and writes back into Plex to close orders, update inventory, and record shipment history. As ShipBob fulfillment centers receive stock, warehouse receiving order (WRO) events flow back to Plex to reconcile receiving.
How ml-connector handles it
ml-connector stores the Plex OAuth credentials and ShipBob Personal Access Token encrypted in the database. On the Plex side, it polls the sales orders and inventory endpoints every 5 to 10 minutes, filtering for modified orders to avoid re-syncing entire catalogs. For each eligible order, it constructs a ShipBob order create request mapping Plex customer names to ShipBob merchant channels and Plex part numbers to ShipBob product variants. ShipBob's webhook endpoint is registered once per customer and signed with a shared secret; ml-connector validates the HMAC-SHA256 signature on each incoming webhook before processing. When ShipBob publishes order.shipped, shipment tracking, or return events, ml-connector enriches them with Plex context and writes the shipment and return records back into Plex's sales order module. Every record carries a full audit trail, and if a downstream write fails, the webhook message is queued for replay. Plex rate limits are handled with exponential backoff, and ShipBob channel_id headers are set correctly on every write to respect multi-channel account separation.
A real-world example
A mid-sized discrete manufacturer in automotive supplying parts to tier-one assemblers runs Plex for production and inventory management. They sell finished goods through a distributor partner and also direct to smaller OEMs. Before the integration, sales orders from Plex were manually exported as CSV files and uploaded into ShipBob by hand, with a one-day lag. When ShipBob shipped an order, the warehouse team logged back into Plex to mark it complete and update inventory. Now, confirmed sales orders in Plex flow to ShipBob automatically within minutes, shipment notifications arrive as webhooks, and inventory is updated in real time. The manual upload step is gone, and customers see tracking numbers in Plex the moment ShipBob ships.
What you can do
- Push confirmed sales orders from Plex to ShipBob to trigger fulfillment immediately, mapping Plex customers and parts to ShipBob channels and variants.
- Receive ShipBob shipment, tracking, and return events via webhooks and write them back into Plex sales orders for order completion and customer visibility.
- Sync inventory levels from Plex into ShipBob on a schedule, with Plex as the source of truth for stock.
- Validate ShipBob webhook signatures with HMAC-SHA256 and handle authentication for both Plex OAuth and ShipBob Personal Access Token.
- Queue and replay failed webhook records with a full audit trail so no shipment or return is lost.
Questions
- Which direction does data move between Plex and ShipBob?
- Both directions. Sales orders and inventory flow from Plex to ShipBob to trigger fulfillment. Shipments, tracking updates, returns, and warehouse receiving orders flow from ShipBob back to Plex via webhooks to close orders and update inventory. Plex is the source of truth for inventory levels and order confirmation.
- How does the integration handle Plex's polling-only model and ShipBob's webhooks?
- Plex has no native webhooks, so ml-connector polls the Plex sales orders and inventory REST endpoints every 5 to 10 minutes, filtering for modified records to minimize API load. ShipBob publishes events via webhooks, so ml-connector registers a webhook endpoint once per customer and listens for shipment, return, and receiving events in real time, then writes them back to Plex.
- Do I need to set up ShipBob webhooks manually?
- ml-connector registers the webhook endpoint for you and validates incoming payloads with HMAC-SHA256 signature verification. You provide the ShipBob Personal Access Token or OAuth credentials, and ml-connector handles the rest, including signature validation, message queuing, and replay on failure.
Related integrations
More Plex integrations
Other systems that connect to ShipBob
Connect Plex and ShipBob
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started