Incident Management · Beta
Freshstatus
API integration
Ship Incident Management features without building the integration. Full Freshstatus API access via Proxy and 30+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Freshstatus
Common scenarios for SaaS companies building Freshstatus integrations for their customers.
Auto-publish incidents from monitoring alerts
Observability and uptime monitoring platforms can push detected outages directly to a customer's Freshstatus page, so SREs never have to manually log incidents during an active fire.
Mirror helpdesk major incidents to public status
Ticketing and support platforms can turn internal 'site down' tickets into public Freshstatus incidents, keeping customer-facing communication in sync with agent updates automatically.
Automate maintenance windows around deployments
CI/CD and database tooling can schedule, start, and complete Freshstatus maintenance windows tied to real deployment runtimes, eliminating drift between announced and actual downtime.
Map product components to customer infrastructure
DevOps and infra platforms can programmatically read a customer's Freshstatus services and groups, letting users map monitored assets to the exact status page components they represent.
Post timeline updates from engineering workflows
Incident response and ChatOps tools can inject chronological updates ('Investigating', 'Identified', 'Monitoring') into ongoing Freshstatus incidents, triggering subscriber notifications without leaving the workflow.
What You Can Build
Ship these features with Truto + Freshstatus
Concrete product features your team can ship faster by leveraging Truto’s Freshstatus integration instead of building from scratch.
One-click incident creation with component mapping
Let users open a Freshstatus incident from your UI and select which services or groups are affected, using live component data pulled from their account.
Automated incident resolution on recovery
Trigger Freshstatus incident resolution the moment your platform detects a healthy signal, closing the loop without manual intervention.
Scheduled maintenance orchestration
Create, start, and complete Freshstatus maintenance windows programmatically so status page timelines match deployment or migration execution exactly.
Incident timeline sync
Push timestamped incident updates from your product into Freshstatus so public status communication stays aligned with internal progress in real time.
Service catalog import and mapping UI
Fetch all Freshstatus services and groups on connection and present a mapping interface where users pair their internal assets to status page components.
Custom incident status management
Read and manage the customer's incident status definitions so your integration can post updates using the exact labels their operations team already uses.
SuperAI
Freshstatus AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_freshstatus_services
List all Freshstatus service components — the building blocks displayed on your status page. Returns: id, name, description, order, status, display_options, group.
get_single_freshstatus_service_by_id
Get a specific Freshstatus service component by id. Returns: id, name, description, order, status, display_options, group. Required: id.
create_a_freshstatus_service
Create a new service component in Freshstatus to display on your status page. Returns the created service including its id, name, description, order, display_options, and group. Required: name.
update_a_freshstatus_service_by_id
Update a Freshstatus service by id. Returns the updated service object including id, name, description, order, status, display_options, and group. Required: id.
delete_a_freshstatus_service_by_id
Delete a Freshstatus service by id. Returns an empty 204 response on success. Required: id.
list_all_freshstatus_groups
List all Service Groups in Freshstatus. Returns: id, name, description, order, parent, display_options.
get_single_freshstatus_group_by_id
Get a specific Freshstatus Service Group by id. Returns: id, name, description, order, parent, display_options. Required: id.
create_a_freshstatus_group
Create a new Service Group in Freshstatus. Returns the created group including id, name, description, order, parent, and display_options. Required: name.
update_a_freshstatus_group_by_id
Update a Freshstatus service group by id. Returns the updated group object including id, name, description, order, parent, and display_options. Required: id.
delete_a_freshstatus_group_by_id
Delete a Freshstatus service group by id. Returns an empty 204 response on success. Required: id.
list_all_freshstatus_incident_status
List all incident statuses in Freshstatus. Returns: id, value, order.
get_single_freshstatus_incident_status_by_id
Get a specific incident status by id in Freshstatus. Returns: id, value, order. Required: id.
create_a_freshstatus_incident_status
Create a new incident status in Freshstatus. Returns the created incident status including id, value, and order. Required: value.
update_a_freshstatus_incident_status_by_id
Update an existing incident status by id in Freshstatus. Returns the updated incident status including id, value, and order. Required: id.
delete_a_freshstatus_incident_status_by_id
Delete an incident status by id in Freshstatus. Returns an empty 204 response on success. Required: id.
list_all_freshstatus_incidents
List all incidents in Freshstatus. Returns each incident's id, title, description, start_time, end_time, source, is_private, affected_components, notification_options, and incident_updates.
get_single_freshstatus_incident_by_id
Get a specific Freshstatus incident by id. Returns the full incident object including id, title, description, start_time, end_time, is_private, affected_components, source, notification_options, and incident_updates. Required: id.
create_a_freshstatus_incident
Create a new incident in Freshstatus to log a downtime event on your status page. Returns the created incident including id, title, description, start_time, end_time, is_private, affected_components, source, notification_options, and incident_updates. Required: title, start_time, end_time.
update_a_freshstatus_incident_by_id
Update a Freshstatus incident by id. Returns the updated incident including id, title, description, start_time, end_time, source, is_private, affected_components, notification_options, and incident_updates. Required: id.
freshstatus_incidents_resolve
Resolve a Freshstatus incident by incident_id. Returns: message. Required: incident_id.
delete_a_freshstatus_incident_by_id
Delete a Freshstatus incident by id. Returns an empty 204 response on success. Required: id.
list_all_freshstatus_incident_updates
List incident updates for a specific incident in Freshstatus, filtered by incident id. Returns: id, message, time, is_private, incident, incident_status, notification_options. Required: incident.
get_single_freshstatus_incident_update_by_id
Get a specific incident update by id in Freshstatus. Returns: id, message, time, is_private, incident, incident_status, notification_options. Required: id.
create_a_freshstatus_incident_update
Create an incident update for a specific incident in Freshstatus. Returns: id, message, time, is_private, incident, incident_status, notification_options. Required: incident_id, time.
update_a_freshstatus_incident_update_by_id
Update a Freshstatus incident update by id. Returns the updated incident update including id, message, time, is_private, incident, incident_status, and notification_options. Required: id, time.
delete_a_freshstatus_incident_update_by_id
Delete a Freshstatus incident update by id. Returns an empty 204 response on success. Required: id.
list_all_freshstatus_maintenance
List all scheduled maintenances in Freshstatus. Returns each maintenance record with id, title, description, start_time, end_time, is_auto_start, is_auto_end, is_private, affected_components, notification_options, and maintenance_updates.
get_single_freshstatus_maintenance_by_id
Get a specific scheduled maintenance in Freshstatus by id. Returns the maintenance object including id, title, description, start_time, end_time, is_auto_start, is_auto_end, affected_components, notification_options, and maintenance_updates. Required: id.
create_a_freshstatus_maintenance
Create a scheduled maintenance in Freshstatus. Returns the created maintenance object including id, title, description, start_time, end_time, is_auto_start, is_auto_end, source, is_private, affected_components, notification_options, and maintenance_updates. Required: title, start_time, end_time. Datetime fields must be in UTC format YYYY-MM-DDThh:mm:ssZ (e.g. 2021-01-30T05:40:00Z).
update_a_freshstatus_maintenance_by_id
Update a scheduled maintenance in Freshstatus by id. Returns the updated maintenance object including id, title, start_time, end_time, affected_components, notification_options, and maintenance_updates. Required: id, title, start_time, end_time.
freshstatus_maintenance_start
Start a scheduled maintenance in Freshstatus by posting an optional maintenance update message. Returns the maintenance object including id, title, start_time, end_time, is_auto_start, is_auto_end, and affected_components. Required: maintenance_id.
freshstatus_maintenance_complete
Complete a scheduled maintenance in Freshstatus by posting an optional maintenance update message. Returns an empty response on success. Required: maintenance_id.
delete_a_freshstatus_maintenance_by_id
Delete a scheduled maintenance in Freshstatus by id. Returns an empty 204 response on success. Required: id.
list_all_freshstatus_maintenance_updates
List maintenance updates for a specific scheduled maintenance in Freshstatus, filtered by maintenance id. Returns: id, message, time, is_private, maintenance, maintenance_status, notification_options. Required: maintenance.
get_single_freshstatus_maintenance_update_by_id
Get a specific maintenance update by id in Freshstatus. Returns: id, message, time, is_private, maintenance, maintenance_status, notification_options. Required: id.
create_a_freshstatus_maintenance_update
Create a maintenance update for a scheduled maintenance in Freshstatus. Returns: id, message, time, is_private, maintenance, maintenance_status, notification_options. Required: time, maintenance.
update_a_freshstatus_maintenance_update_by_id
Update a specific maintenance update in Freshstatus. Returns the updated maintenance update object including id, message, time, is_private, maintenance, maintenance_status, and notification_options. Required: id.
delete_a_freshstatus_maintenance_update_by_id
Delete a maintenance update in Freshstatus by id. Returns an empty 204 response on success. Required: id.
Why Truto
Why use Truto’s MCP server for Freshstatus
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Freshstatus in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Freshstatus account
Use Truto’s frontend SDK to connect your customer’s Freshstatus account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Freshstatus
Truto’s Proxy API is a 1-to-1 mapping of the Freshstatus API. You call us, we call Freshstatus, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Freshstatus’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Freshstatus on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What resources can I manage in Freshstatus through Truto?
Truto exposes tools for services, groups, incident statuses, incidents, incident updates, maintenance windows, and maintenance updates — including create, read, update, delete, and lifecycle actions like resolving incidents and starting or completing maintenance.
How does authentication work for end users?
Truto handles the Freshstatus credential exchange and storage for you. Your users connect their Freshstatus account once through Truto's connect flow, and Truto injects the correct auth into every API call your integration makes.
Can I programmatically start and complete maintenance windows?
Yes. In addition to creating and updating maintenance records, Truto provides dedicated actions to start a maintenance window and mark it complete, so you can align status page timing with actual execution.
How do I map my platform's components to a customer's Freshstatus services?
Use the list services and list groups tools to fetch the customer's component architecture on connection, then store the mapping between their Freshstatus service IDs and your internal assets so incidents target the right components.
Can integrations post progress updates to an ongoing incident?
Yes. The incident updates tools let you create timestamped updates on any active incident, which is what drives Freshstatus's subscriber email, SMS, and webhook notifications.
Does Truto handle Freshstatus API pagination and quirks?
Yes. Truto normalizes pagination, error handling, and request formatting for Freshstatus so you consume clean list responses and predictable payloads without writing Freshstatus-specific code.
From the Blog
Freshstatus integration guides
Deep dives, architecture guides, and practical tutorials for building Freshstatus integrations.
Freshstatus
Get Freshstatus integrated into your app
Our team understands what it takes to make a Freshstatus integration successful. A short, crisp 30 minute call with folks who understand the problem.