| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Website (website) |
| Lines of code | 3319 |
| Technical Name |
status_page |
| License | OPL-1 |
| Website | https://spacecitysoftware.com/status_page |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Website (website) |
| Lines of code | 3319 |
| Technical Name |
status_page |
| License | OPL-1 |
| Website | https://spacecitysoftware.com/status_page |
Status Page
Public component health, incident timelines, and email subscribers -
built into your Odoo Website.
A self-hosted Status Page alternative for companies already on Odoo.
Stop paying for a separate status page
You're already paying for Odoo. Don't pay another $300+/month for a status page.
Standalone status-page services charge anywhere from $20/mo for a starter tier to $1,500+/mo for enterprise plans with custom domains and audience-segmented pages. None of them integrate with Odoo.
This module turns your Odoo Website into a customer-facing service status page. One-time purchase. No external services. No recurring fees. The customer-facing page lives on your existing Odoo domain.
Features
Component health with grouped layout
Components on the public page are grouped under your service-area headings (API, Dashboard, Email Delivery, etc.) with a five-state status taxonomy: Operational, Under Maintenance, Degraded Performance, Partial Outage, Major Outage. Each component carries a last-state-change timestamp.
Incident state machine with auto-timeline
Incidents start in Draft - invisible to subscribers and the public - so operators can compose before going live. Click Publish to notify confirmed subscribers and surface the incident on the public page. Once published, transition freely between Investigating, Identified, Monitoring, and Resolved as the situation evolves. Every state change auto-posts a timeline update.
Scheduled maintenance with auto-transition
Schedule a future maintenance window. A cron flips the affected components to Under Maintenance when the window opens and back to Operational when it closes - no operator action required. Cancel a window any time and components revert immediately.
Email subscribers with double opt-in
Visitors can subscribe to status updates from the public page. Verification mail with a hashed token is sent before any notifications go out - no open mail relay. Subscribers can watch all components or pick a subset.
Notifications on every incident update
Confirmed subscribers receive an email each time you post an incident update. Each mail carries a fresh, single-use unsubscribe link so the subscriber can drop the subscription without logging in.
Rate-limited subscribe endpoint
Per-IP and per-email rate limits prevent abuse of the subscribe form. Honeypot field traps bots silently. Verification tokens expire after 24 hours.
Multi-company isolation
Per-company ir.rule records on every model -
status pages, components, incidents, subscribers, and
maintenance windows. Tested for cross-tenant isolation.
GDPR-ready
One-click forget action wipes a subscriber's PII while preserving the audit row. Stale verification tokens auto-purge on a daily cron.
Embeddable widget for your app or site
One line of HTML in your customer-facing app shows a banner when something is wrong - and stays invisible the rest of the time. Polls every 60 seconds, renders inside a Shadow DOM so it cannot break (or be broken by) the host page's CSS, and can be disabled centrally from the Odoo backend. When multiple incidents are open, the banner shows the highest-impact one with a "+N other ongoing incidents" tagline (the same convention Atlassian Statuspage uses).
Per-component widget filtering
Optional data-components and data-groups
attributes on the embed snippet scope the widget to specific
components or component groups. Run different embeds in
different surfaces of your app - each one only raising
banners for the parts that surface actually depends on.
Comma-separated, case-insensitive, applies to incidents AND
scheduled maintenance windows.
Configurable maintenance lead time
Upcoming maintenance windows surface on the embedded widget a configurable number of hours before they start (default 24, mirroring Statuspage). In-progress windows always show regardless. Long-lead-time windows scheduled weeks out stay out of the way until they are actually relevant.
Public JSON API
The widget reads from a public, CORS-open summary endpoint.
Build your own dashboard or alerting on top of it - the
response shape is additive-only and safe to consume directly.
Each incident and maintenance entry includes a
components array so consumers can apply their own
filtering.
Programmatic write API
Nine token-authenticated endpoints let your monitoring tools,
deploy pipelines, and Slack bots create incidents, post timeline
updates, schedule and start maintenance windows, and flip
component state pills - without a human ever logging into
Odoo. Scoped tokens (read / write_incidents / write_maintenance
/ write_components / full), per-token rate limiting,
Idempotency-Key on POSTs for safe retries from
Datadog/PagerDuty/cron, append-only audit log on every call,
and an OpenAPI 3 spec so third parties can codegen clients.
Why teams pick this over a separate SaaS
- Lives on your domain. The status page renders on your existing Odoo Website - no separate subdomain to set up, no DNS work, no SSL certificate to manage.
- One-time purchase. Pay once on the Odoo App Store. No recurring fees.
- Build it into your existing flow. Incidents are Odoo records. Trigger them from automation rules, link them to Helpdesk tickets, or post them manually from the backend. No new tool to context-switch into.
- Audit-ready timeline. Every state change logs a timeline entry automatically. Works as historical evidence during SOC 2 / ISO 27001 audits.
- Subscriber consent done right. Double-opt-in by hashed token. No spam complaints. Per-mail single-use unsubscribe link.
- Multi-company from day one. Run a separate status page per Odoo company in a multi-tenant install - rules enforced server-side, not just on the views.
- GDPR-friendly. Forget-subscriber action wipes PII while keeping the audit row. Stale verification tokens auto-purge.
- Compatible with Odoo 16, 17, 18, and 19 — Community and Enterprise. Works without Odoo Sign or any Enterprise-only module. Integrates cleanly with the standard Odoo Website.
See it in action
Public status page
Components grouped by service. Active incidents and scheduled maintenance surfaced up top.
All clear - the healthy state
Component health and any upcoming maintenance, surfaced together.
Manage everything from the Odoo backend
Familiar list / form views - no new admin UI to learn.
Schedule maintenance ahead of time
Set the window once. The cron handles the rest.
Email subscriber management
Double opt-in with hashed tokens, per-component filtering, one-click forget.
Requirements
Odoo 16, 17, 18, or 19 (Community or Enterprise) with the
website, portal, and mail
modules installed.
No external API keys, no third-party services, no recurring fees beyond the one-time App Store purchase.
More from Space City Software
Other Odoo apps that pair well with Status Page
Trust Center
Customer-facing security posture: compliance frameworks,
NDA-gated documents, and access-request workflow on
/trust.
Roadmap Portal
Public roadmap with upvoting and an auto-published changelog on your Odoo Website. Email subscribers, double-opt-in.
Customer References
Track referenceable customers with per-quarter fatigue caps, approval workflow, and a customer-facing opt-out portal.
Support
Bug reports and configuration questions are handled by the author within 14 days. Use the "Contact Author" button at the top of this page or reach out via email.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module