Meet customers where they are
A focused portal inside your product, or a familiar email thread. Both lead to the same ticket history.
From the first question to the final fix. Bring your customers, conversations, and team together in one calm workspace.
We added the DNS record, but our custom domain still shows as pending. Could you help us check the next step?
Your DNS record looks right. Please remove the proxy while we verify the domain, then select Verify again.
Keep context with the ticket, even as the conversation moves between your product, the inbox, and your team.
A focused portal inside your product, or a familiar email thread. Both lead to the same ticket history.
Rich replies, private notes, clear ownership, and SLA deadlines. Everything you need to move a request forward.
Translate replies, notify the right people, and follow up with automatic closure after customer inactivity.
Five roles with live tenant, product, and team scope. Keep customer data and administration in the right hands.
Explore the guide →Build ticket type trees and publish immutable form versions. Old tickets keep the exact form their customer submitted.
Explore the guide →Screen requests, find knowledge, draft replies, and translate. Choose your providers with scoped credentials and fallback routes.
Explore the guide →Connect MCP clients through OAuth and granular grants. Browser WebMCP tools use the same live session and API permissions.
Explore the guide →Use your own AI models, email providers, and notification channels. Configure them per product as your needs evolve.
Run OnFire locally, connect your first product, then deploy on your own Cloudflare account.
git clone https://github.com/backrunner/onfire.git