Help chat Ask the Keeper
Answers only from Pharos's own help articles and shows its sources. When the docs don't cover a question, it hands off to a person instead of guessing.
Ask the Keeper
What the Keeper checked
Search traceAsk a question to see which help-center sections matched, how strongly, and why the bot answered or handed off.
Agent desk Triage, reply, resolve
Requests from the help portal and email land in Live requests. Every ticket gets a category, priority, sentiment, churn-risk flag, the best macro, an SLA clock, and a draft reply grounded in the docs. Reply to the customer or add an internal note, then set the status. Refunds, outages, and security reports are flagged for a person before anything is sent.
Macro library 23 on-policy replies
Each macro sets tags, priority, and status and carries an internal note for the agent. Highlighted fields are filled in per ticket. Exports to CSV for most helpdesks.
How it works Method
The same pieces work for any small software company or local business with a help center and an inbox. Swap in their docs and past tickets, and the system adapts.
Help chat
Answers from the company's own articles and cites the source. A confidence check on every answer means questions the docs don't cover go to a person, along with the conversation so far.
Agent desk
Sorts the inbox by what matters: outages and security first, then teams that are blocked or losing money, then how-to questions. Churn risk is flagged so the right person can step in early. Each ticket opens like a Jira Service Management issue, with the reply already drafted.
Macro library
Consistent, on-policy replies the whole team can use, exportable as CSV for most helpdesks. The triage step picks the right macro and fills in the specifics.
A request, end to end
- Ask. The customer asks the Keeper in the help portal. If the docs cover it, they're done.
- Raise a request. If not, they contact support. Matching articles appear while they type, and "This answered my question" closes it with no ticket.
- Triage. The request lands in Live requests as PH-101: tagged, prioritized, with an SLA clock from the plan's response time (Business 4h, Team 1 business day, Free 2 business days; outages and security right away). Emails to support@ arrive the same way.
- Work it. The agent reads the thread, adds internal notes, shares a help article, edits the drafted reply, and sends. Status: Waiting for customer.
- Close the loop. The customer sees the reply under My requests, answers back (it returns to the queue) or marks it resolved.
Try both sides
Open the help portal in a second tab and raise a request. It shows up in the Agent desk's Live requests within a second. Reply here, then check My requests there. No portal handy? Simulate an incoming email instead.
Requests are saved only in your browser, so every visitor gets a private sandbox. In production they'd live on the server, with a support address feeding them in through Cloudflare Email Routing.
Runs four ways
- Offline rules: keyword rules and macros, free and instant, no AI needed.
- Cloud AI on this page: Llama 3.3 70B on Cloudflare Workers AI, inside the free daily allowance, with per-visitor limits.
- Local model: runs on the business's own computer through Ollama, so ticket data never leaves the building.
- Claude API: the most accurate drafts, for a few cents per ticket.
Measured, not guessed
Every ticket set has hand-checked labels, so accuracy is scored rather than eyeballed. The rules engine was written alongside the sample tickets, so its score there is a ceiling. The unseen set shows how each engine holds up on new phrasing. Both engines first missed two suspicious-login reports, so a security safety net now runs in front of them: keyword rules 83%, a local AI model (Qwen 2.5 14B) 89%.