Replies don't disappear because you deployed.
Messages, notes, assignments and status changes are stored in Postgres, and background work runs through a durable queue. Shipping a new version doesn't drop someone's reply.
Helpthread is free, open-source support infrastructure: a shared support inbox, email threading that holds up, and a public API you can build on. It runs in your own Vercel and Supabase accounts, so your customer conversations stay in a database you control.
Helpthread doesn't. Your inbox runs in your infrastructure, your conversations live in your database, and when you want to change something you don't need our permission.
Customer conversations live in your own Supabase Postgres. Resonant IQ doesn't host Helpthread and never sees a conversation in your deployment.
The core is AGPL-3.0. Read exactly how mail is parsed, threaded, stored and sent before you trust it with customers.
Your support history is rows in a database you already run. Query it, back it up, or move it with the tools you use today.
You can run Helpthread as it ships. You don't have to build a help desk before you can use your help desk.
The core stays small. Things like AI and knowledge bases plug into it rather than becoming part of it.
Messages, notes, assignments and status changes are stored in Postgres, and background work runs through a durable queue. Shipping a new version doesn't drop someone's reply.
Helpthread doesn't decide that two emails belong together because their subject lines look alike. Every outbound reply carries a signed token, so an incoming reply either verifies against its conversation or it doesn't.
It reads and writes through the same public API, typed events and signed webhooks your own code does. Modules from Resonant IQ get no private endpoints and no hidden hooks.
Everything the inbox can do, your code can do. Automate triage, sync to your data warehouse, or write a module of your own.
The same API the inbox itself uses.
Stable names like conversation.reply_sent.
Registration, signed payloads and retries.
const api = "https://support.yourco.com/api/v1" const headers = { Authorization: `Bearer ${process.env.HELPTHREAD_TOKEN}` }; // Read open conversations from your deployment const open = await fetch(`${api}/conversations?status=open`, { headers }) .then((r) => r.json()); // Receive a signed webhook whenever an agent replies await fetch(`${api}/webhooks`, { method: "POST", headers, body: JSON.stringify({ url: "https://hooks.yourco.com/helpthread", events: ["conversation.reply_sent"], }), });
Serverless-native from the first commit. No servers to patch, no mail daemon to babysit. You own both accounts and everything in them.
Resonant IQ writes the software. Not in the data path, with no access to your deployment.
The free core is a working support desk on its own.
Modules from Resonant IQ add AI-assisted replies, a knowledge base, more channels, automation and enterprise controls, when you need them.
Anything that ships free stays free. Modules add to the core; they never subtract from it.
So we wrote the rules down. The core is AGPL-3.0, what ships free stays free, and our own modules get no private APIs.
Clone the repository, connect Vercel and Supabase, and point your mail at it.
Helpthread is a developer preview. It runs Resonant IQ's support operation in production and you can deploy it today, but APIs and interfaces may change before 1.0. It needs a Vercel Pro plan, and Gmail is the proven path for inbound mail. If you're comfortable running pre-release software, we'd like you to kick the tires.