Plex and Tableau integration
Plex runs manufacturing, supply chain, and finance in discrete manufacturing operations. Tableau turns that data into dashboards and analytics. Connecting the two keeps Tableau dashboards current with your Plex inventory, purchase orders, supplier performance, and financial metrics without manual data export. Manufacturing teams get real-time visibility into production and supply chain status, while finance and procurement teams access the latest inventory and cost data in dashboards tied to their Plex operations.
What moves between them
Manufacturing and financial data flows from Plex into Tableau. ml-connector polls Plex on a configurable schedule (typically every 5-15 minutes) for purchase orders, purchase order releases, invoices, supplier records, inventory balances, parts, containers, and GL accounts, filtered by modified_date to capture only recent changes. The polled data is ingested into Tableau data sources via the REST API, triggering automatic dashboard refreshes on a schedule or on-demand. Reference data such as suppliers and GL accounts are synced in both directions to keep master data aligned. Tableau's webhook events for datasource refresh completion and failures are logged for audit purposes but do not trigger back-writes to Plex.
How ml-connector handles it
ml-connector uses Plex OAuth2 credentials to obtain and refresh access tokens on each poll cycle, and validates that the integration user has the required role to access the requested entity types. On HTTP 429 rate-limit responses, it implements exponential backoff and retries. The integration accepts Plex's base URL and company code (PCN) per customer, since Plex is a multi-tenant cloud platform. ml-connector polls Plex's REST API at a configurable interval (default 5-15 minutes) using modified_date filters to pull only changed records. The polled data is transformed into Tableau data source format and uploaded via Tableau's REST API using the Personal Access Token. ml-connector manages Tableau session token expiry (240 minutes by default) by refreshing on each data push. Because Plex has no native webhooks, polling-based synchronization is required; Tableau webhooks for datasource refresh success and failure are received and logged but do not drive back-syncs. Every poll and upload is audited, and if a Tableau datasource update fails, the job is retried with exponential backoff before surfacing an alert.
A real-world example
A mid-sized automotive parts supplier runs Plex for manufacturing, inventory, and procurement across three plants. The supply chain team uses Tableau dashboards to monitor inventory levels, purchase order aging, and supplier delivery performance. Before the integration, the team exported supplier invoices and inventory snapshots from Plex weekly and uploaded them to Tableau manually, which meant dashboards lagged behind actual operations by days and changes were not captured until the next scheduled export. With Plex and Tableau connected, purchase orders, invoices, and inventory levels sync every 10 minutes, so the procurement dashboard reflects current supplier commitments and delivery status. The supply chain manager can now see exactly which POs are aging, which suppliers are behind on delivery, and where inventory is running low, all in real-time. Week-end inventory reconciliation is faster because the dashboard already reflects the latest Plex counts.
What you can do
- Poll Plex purchase orders, invoices, suppliers, and inventory on a configurable interval and sync to Tableau data sources.
- Keep Tableau dashboards current with Plex financial data, GL accounts, cost centers, and supplier master records.
- Handle Plex OAuth2 token refresh and role-based permission validation across poll cycles.
- Manage Tableau Personal Access Token expiry and session token lifecycle automatically.
- Detect Tableau datasource refresh failures via webhooks and retry with exponential backoff until success or alert.
Questions
- How does ml-connector handle Plex's lack of webhooks?
- Plex does not offer native webhooks, so ml-connector uses polling on a configurable interval, typically 5 to 15 minutes. Each poll filters by modified_date to capture only recently changed records, reducing API load. The interval is set per customer based on their tolerance for dashboard latency and Plex API rate limits.
- What happens when Plex rate limits or Tableau token expires during a sync?
- ml-connector implements exponential backoff on HTTP 429 responses from Plex and retries automatically. Tableau session tokens are refreshed before each datasource upload, so expiry does not interrupt the sync. If a token refresh fails, the job is retried; if the failure persists, an alert is raised to the operations team.
- Which direction does data move between Plex and Tableau?
- The main flow is Plex into Tableau. Manufacturing records, purchase orders, invoices, inventory levels, and supplier data flow from Plex into Tableau data sources, where they trigger dashboard refreshes. Reference data such as GL accounts and suppliers can be aligned in both directions, but Tableau views are read-only and no data flows back from Tableau to Plex.
Related integrations
More Plex integrations
Other systems that connect to Tableau
Connect Plex and Tableau
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started