Three organizations. Three embeds. Same instance.
The widgets below are running right now against live Plumeo data for three different tenants. No mock video — open your devtools.
Alex Patel
"My district runs everything through a Google Workspace admin portal. I want facilities stats in that same view — not another tab, not another login."
admin.northvaleusd.example
iframe
Jordan Kim
"When something's on fire — burst pipe, busted HVAC — I don't want to scroll past everything else. Put urgent + emergency at the top of my morning dashboard."
ops.maplewood.example
iframe · filtered
Taylor Chen
"I need a single HVAC + boiler roll-up across the portfolio. Plumb it straight into our asset intelligence dashboard — our tenants don't need to know where the data comes from."
intel.atlasholdings.example
iframe · filtered
Same widget. Zero reload. Different tenant's data.
Switch tenants below — the embed swaps over in-place via the postMessage
bridge. Your host app can do this in one line:
widget.setTenant("t-muni").
Strict per-tenant isolation. Alex can't see Jordan's data; Jordan can't see Taylor's. Same instance, same URL, same widget — different customer-orgs.
Three lines. Any framework. Any host.
Pick the shape that matches your stack. All three sit on the same URL-driven bridge, so you can mix them freely.
<iframe
src="https://your-host.example.com/embed?page=work-orders&tenant=t-edu"
style="width: 100%; min-height: 600px; border: 0;"
></iframe>
<script type="module" src="https://your-host.example.com/sdk/web-components.js"></script>
<Plumeo-work-orders
base-url="https://your-host.example.com"
tenant-id="t-edu"
filters='{"status":["open","scheduled"]}'
></Plumeo-work-orders>
import { PlumeoWidget } from "@plumeo/embed/react";
<PlumeoWidget
baseUrl="https://your-host.example.com"
tenantId="t-edu"
page="work-orders"
filters={{ status: ["open", "scheduled"] }}
/>
Want to see the whole surface area?
Technical reference
Every one of the 17 embeddable views, the full postMessage protocol with a live event log, an interactive URL builder, and code samples for every consumption pattern.
Open technical demo →Headless TypeScript client
Prefer to render your own UI? @plumeo/client gives you
typed resources for assets, buildings, spaces, work orders, requests,
projects, documents, and more — with cursor-aware iteration.