Self-Service Plant Dashboards on ThingWorx with SharePoint and Databricks Data
By PSPTechHub ·

Summary
Plant teams need one screen that shows how every line is doing: output, downtime, defects, safety and quality. PSPTechHub worked on PlantApp, a ThingWorx app where each site builds its own dashboards from ready-made tiles, without code. It pulls line data every 15 minutes, reads local lists from SharePoint and loads safety and quality audit results from Databricks. Slow sources are copied into ThingWorx on a schedule (cached), so dashboards open quickly even when the source system is slow.
The Problem: Plant Data Was Spread Across Too Many Systems
The information a plant team needs every morning lived in many places: line performance systems, defect tracking, SharePoint lists kept by each site, and a global audit database. Pulling it together was slow and different at every site.
Too many places to look
Downtime, alarms, quality, defects and audits each lived in a separate system.
Every site is different
Each plant tracks different KPIs and lines, so one fixed dashboard didn't fit anyone.
Slow screens
Reading SharePoint lists live every time a dashboard opened made screens slow to load.
Audit data moved
Safety and quality audits moved to a new data platform, Databricks, so the old direct database link stopped being the right way in.
Setup needed an expert
Adding a new data source or site needed someone who knew ThingWorx well.
The Solution: Dashboards Each Site Builds Itself
PlantApp lets each site design its own dashboards in three levels — main screen, dashboard, section — and fill them with tiles. PSPTechHub's work added fast SharePoint data, the Databricks audit link and a simple configuration screen.
Build dashboards without code
Pick a main screen, add dashboards, then add sections such as Action Plan, Flow, Pit Stop or Raw Data.
Ready-made tiles
Gauges, images, manual inputs and KPI tiles, each pointed at a line, a time range and a data source.
Line data every 15 minutes
Downtime, alarms, cleaning and checks, quality and all line KPIs refresh every 15 minutes per line.
Defects in view
Found, critical and open defects, plus the raw defect list, appear next to line performance.
SharePoint lists as tiles
Add a SharePoint list from the settings popup; a tile is created and its data appears on the dashboard.
Fast loading with caching
SharePoint data is copied into ThingWorx on a schedule for a set number of days, so dashboards open quickly.
Filters per tile
The same SharePoint list can feed several tiles, each with its own filter and date field.
Safety and quality audits from Databricks
Audit results by category are cached every 30 minutes for the last 31 days, and categories can be added.
Simple configuration screen
Site settings and data refreshes are managed from one screen instead of inside ThingWorx.
How It Works: From Data Source to Morning Meeting
- 1
Set up the site
The site name is set once on the configuration screen and the connections are switched on.
- 2
Design the screen
A site user creates a main screen, a dashboard and the sections they need.
- 3
Add tiles
They add KPI, gauge, SharePoint or audit tiles and choose the line, time range and filter.
- 4
Data is collected
Line data refreshes every 15 minutes; SharePoint and audit data are cached on a schedule.
- 5
Open and act
The team opens the dashboard in the morning meeting and sees every line in one place.
- 6
Keep it healthy
Each cache records when it last ran, how many rows it holds and any error, so problems are easy to spot.
For IT Teams: How It Is Built
ThingWorx holds the screens, settings and cached data; each source system stays the official record for its own data.
- PlantApp screensMain screens, dashboards, sections and tiles configured by each site
- Configuration tablesStore each site's screens, tiles, KPIs and safety and quality triggers
- Connection servicesOne set of services per source: line data, defects, SharePoint and audits
- Caching and schedulersCopy slow sources into ThingWorx and log the last run and any errors
- Data sourcesLine performance and defect systems, SharePoint lists, Databricks
ThingWorx services built
| Service | Purpose |
|---|---|
| SharePoint tile creation | Creates a cached SharePoint source when a user adds a SharePoint tile |
| SharePoint cache | Caches list data on demand and on a schedule, with per-tile filters |
| Databricks connector | Checks and starts the cluster, runs queries and refreshes its access token |
| Audit connector | Reads safety and quality audits from Databricks and caches them by site |
| Configuration screen | Holds site settings and audit categories in one place |
Design decisions
- Three configuration levels — main, dashboard, section — so any site can build the screens it needs
- Every data source uses REST APIs with its credentials kept in one connections area
- Slow sources are cached, so dashboard speed doesn't depend on the source system
- Each cache stores its last run time, row count and last error for easy support
- The Databricks link closes each query session after use and refreshes its access token on a schedule
- Each feature is tagged so it can be deployed from one environment to the next in one step
Outcomes
One screen for the plant
Line performance, defects, local lists and audits are visible together.
Each site builds its own
Dashboards fit each plant's lines and KPIs without new code.
Fast dashboards
Cached data means screens open quickly in the morning meeting.
Audits on the new platform
Safety and quality audits now come from Databricks.
Easier support
Cache status and errors show exactly where a problem is.
Simple rollout
New sites are added with a site name and a tagged deployment.
This solution fits if you need to…
- Build configurable plant KPI dashboards in ThingWorx
- Show SharePoint list data on a ThingWorx dashboard
- Speed up ThingWorx dashboards by caching slow data sources
- Connect ThingWorx to Databricks with REST APIs
- Show safety and quality audit results on a plant dashboard
Frequently Asked Questions
Can ThingWorx show SharePoint data on a dashboard?
Yes. In PlantApp a user adds a SharePoint list from the settings popup, and its data appears as a dashboard tile with its own filter and date field.
How do you make ThingWorx dashboards load faster?
Slow sources such as SharePoint lists and audit data are copied into ThingWorx on a schedule (cached), so dashboards read local data instead of waiting on the source.
Can ThingWorx connect to Databricks?
Yes. A Databricks connector uses REST APIs to check and start the cluster, run queries and refresh its access token, with no extra extensions needed.
Can each plant build its own dashboards?
Yes. Sites create main screens, dashboards and sections, then add tiles for the lines, KPIs and time ranges they care about, without code.
How often is the data updated?
Line performance and defect data refresh every 15 minutes per line. Audit data is cached every 30 minutes for the last 31 days; both are configurable.
What KPIs can the dashboard show?
Downtime, alarms, cleaning and checks, quality, line KPIs, found, critical and open defects, SharePoint list data, and safety and quality audit results.
How is a new site added?
The app is deployed by tag to the new environment, the site name is set on the configuration screen, and the site starts building its dashboards.
