Embed widget
A status page only builds trust if people see it. The embed widget puts your building’s live status on the websites residents already visit - the corporation’s homepage, an owners’ portal, a property-manager site - as a small, always-current badge or panel. It’s the same growth loop statuspage.io runs: every page that shows the badge is a standing invitation to the full status page.
The widget shows the same public statuses as the status board and the kiosk - no resident data, no incident details beyond the per-asset state. It refreshes itself, so once it’s embedded there’s nothing to maintain.
Two variants
Section titled “Two variants”| Variant | Shows | Good for |
|---|---|---|
| Badge | One line: a status dot, a headline (“All systems operational” / “2 systems degraded”), and the property name | A header, a footer, a sidebar - anywhere small |
| Panel | The badge line plus a per-asset list (tower · asset → status) | A dedicated “Building status” block on a page |
Both carry a small “Powered by CondoPulse” footer that links through to the full status page, and both come in light and dark themes - pick the one that matches the host site. The widget’s background is transparent, so it sits cleanly on any page color.
The headline rolls the whole building up to its worst current state, in the same precedence the uptime slats use: down → degraded → maintenance → operational.
Getting the code - /admin/embed
Section titled “Getting the code - /admin/embed”Admin → Embed widget (staff) is the generator. It shows a live preview of both variants for your property and gives you two snippets to copy:
Script (recommended)
Section titled “Script (recommended)”A single tag. Drop it where you want the widget to appear:
<script src="https://your-condopulse/embed.js" data-property="5" data-variant="badge" data-theme="light"></script>The loader injects a responsive iframe right where the <script> sits and
auto-resizes it to fit - the widget reports its height to the host page,
so there’s never a scrollbar or clipped content (handy for the panel variant,
whose height depends on how many assets you track).
Change the look with the data attributes:
data-variant-badgeorpaneldata-theme-lightordark
Plain iframe (fallback)
Section titled “Plain iframe (fallback)”For sites that strip <script> tags (some CMS page editors do), embed the
iframe directly. It uses a fixed height instead of auto-resizing:
<iframe src="https://your-condopulse/embed/5?variant=badge&theme=light" title="Building status" scrolling="no" style="border:0;width:100%;max-width:360px;height:84px"></iframe>Same options as query parameters: variant=badge|panel, theme=light|dark.
Set your public URL first
Section titled “Set your public URL first”Like the QR stickers, the snippets embed your
deployment’s base URL - taken from BETTER_AUTH_URL, or the request host. Set
BETTER_AUTH_URL to your real public URL before you copy the code into a
live site, or the widget will try to load from http://localhost:3000.
What it does and doesn’t expose
Section titled “What it does and doesn’t expose”- Shows: each asset’s current status (operational / degraded / down / maintenance) and the building-wide rollup - exactly what’s already on the public status board.
- Doesn’t show: incident titles or descriptions, reporter names, contacts, costs, or anything role-gated. The widget reads only the public status payload.
Because the status is public by design, any site may embed the widget - the
same way anyone can link to the status page. If you ever need to restrict
which sites can frame it, that’s a frame-ancestors content-security
policy, not something configured per widget today.
How it stays current
Section titled “How it stays current”The widget reloads its statuses every 60 seconds - the same cadence as the kiosk. A resident looking at the badge on the building homepage sees the elevator flip to “down” within a minute of the incident being filed, with no action from anyone. Pair it with email-in and QR stickers and the whole loop runs itself: a report comes in, the status changes, and every embedded badge updates in place.