medOS ultra
AI AgentsFront officeService & support agent

Front office

Service & support agent

Triages, deflects, and routes inbound — with the plane decided per task.

The Service & support agent works the inbound queue across patient and prospect channels: it classifies and prioritizes tickets, drafts KB-grounded answers for the routine, and routes the rest to the right team with full context attached. It is safe because every reply is a draft a human approves before send, and the plane is decided per task — a prospect question stays Growth, a billing-or-chart question runs Operational with the PHI wall intact, enforced at the database grant.

Recommender-firstHuman sign-offPlane-isolatedOn-box AI option
acknowledgements — nothing critical goes unseen

Critical K+ 6.1 — Ward 4B charge nurse

escalates to physician in 04:12

ACK

AI proposal: repeat troponin — Dr. Chen

reminder RRULE: every 30m ×3

pending

Transfusion start — second-nurse co-sign

acknowledged 14:02 · RN Aom

done
FHIR R4 Taskapp · web · email · SMS · pushescalation chainglobal inbox FAB

What it senses

The signals it watches for you

It reads across the systems you already run — on the medOS event substrate — and surfaces the issue while there is still time to act.

Inbound tickets

New and updated rows in support_tickets across web, app, email, SMS and contact-center channels — subject, body, sender, channel, current state.

Contact + interaction history

crm_contacts and crm_interactions for the sender — prior tickets, open opportunities, consent status, do-not-contact flags — to ground routing and tone.

Knowledge corpora (RAG)

The de-identified KB and policy corpora the LLM platform retrieves over, so routine answers are grounded in real documents, not invented.

PHI-touch signals

Detects when a ticket references a patient, an AN/HN or a charge — the trigger to escalate the task from Growth to the Operational plane, audited, never auto-answered with chart data.

SLA + ageing clock

Time-in-state and breach risk per ticket, so backlog at risk of breaching surfaces before a deadline is missed.

Sentiment + escalation cues

Complaint language, repeat contacts and churn-risk phrasing that flag an issue likely to escalate if it sits in the queue.

What it proposes

Drafted work, never an autonomous act

Each item lands in the Acknowledgement Inbox with its reasoning and a confidence score. Nothing is sent, charged or changed until a human accepts.

proposalconf 0.91

Deflect with KB answer

Draft reply to a prospect asking 'do you do knee replacements?' — cites the orthopedics service-line page, no patient record opened, Growth plane.

AcceptEditReject
proposalconf 0.84

Route with context

Classify ticket #4821 as 'billing dispute', attach the contact's last 3 interactions, and route to the cashier queue with a one-line summary.

AcceptEditReject
proposalconf 0.79

Escalate a flagged complaint

Flag a repeat-contact complaint (3rd touch in 5 days) as escalation-risk and draft a holding response for a supervisor to approve before send.

AcceptEditReject
proposalconf 0.88

Promote to Operational plane

A patient asks 'why was I charged ฿4,200 on my AN?' — propose handing the task to billing on the Operational plane; the Growth agent cannot read the record itself.

AcceptEditReject

The loop

Sense → propose → approve → execute

01

Sense

Reads new and updated support_tickets plus the sender's crm_contacts/crm_interactions, detects PHI-touch, and scores intent, urgency and SLA-breach risk.

02

Propose

Drafts a KB-grounded deflection reply, a routing decision with attached context, or an escalation flag — each with a reasoning trace and a confidence score, on the correct plane.

03

Approve

The proposal lands in the Acknowledgement Inbox as an agent_proposal; an agent accepts, edits or rejects, and that disposition is captured as the training label.

04

Execute

On accept, the same endpoints staff use fire — the messaging dispatcher sends the approved reply, auto-assign routes the ticket — with no shadow write path.

Capabilities

What it can do

Ticket triage & prioritization

Classifies every inbound ticket by intent and urgency and orders the queue, so backlog and breach risk surface before a human opens the inbox.

Routine deflection

Drafts KB-grounded answers to common, non-PHI questions over the RAG corpora — proposed for a human to send, never auto-sent.

Context-rich routing

Routes the non-routine to the right team via the delegation mesh and auto-assign, attaching contact history and a summary so the receiver starts with full context.

Proactive issue detection

Watches sentiment, repeat-contact patterns and SLA ageing to flag issues likely to escalate while there is still time to act.

Per-task plane decision

Keeps prospect questions on the Growth plane and promotes any record-touching task to Operational — the same agent, the plane chosen per task and enforced in the database.

After-call & after-chat work

Drafts call summaries and after-contact notes from the contact-center transcript into crm_interactions for an agent to confirm.

Consent-aware outbound drafting

Any outbound message it drafts honors channel consent and do-not-contact lists; a human approves before the messaging dispatcher sends.

Not a black box

Why it is safe to run

Autonomy without guardrails is a liability in a hospital. These are the constraints that make this agent safe to put to work.

Recommender-first on all outbound

Every reply, routing and escalation is a draft a human approves before send — a hard rule for anything patient-facing or regulated; complaint handling is never auto-sent.

Plane decided per task, enforced in the DB

A Growth-plane support task runs under a database role with zero grant on clinical tables; a record-touching question is promoted to the Operational plane, audited, with the PHI wall intact.

Consent + do-not-contact honored

Outbound rides marketing_consents and channel consent; nothing individually targeted without consent, and the messaging dispatcher is the only send path.

Audited per decision

Every proposal and disposition is logged in llm_audit_log under the named agent identity with its full RunnerStep reasoning trace; off by default with a per-tenant kill switch.

Data plane

It runs per-task across two planes — Growth for prospect/non-PHI tickets, Operational the moment a task touches a patient record — and the boundary is enforced at the database grant level, so the Growth-plane role literally cannot read a chart.

Operating characteristics

What changes when it runs

24/7

Always-on triage

Works the inbound backlog overnight; your team works the exceptions, not the queue.

Per-task

Plane decided per ticket

Prospect questions stay Growth; record-touching tasks promote to Operational, audited.

0 auto-sends

Human-approved outbound

Every reply is a draft; nothing leaves the building without a sign-off.

Pre-escalation

Catches issues before they age

Flags repeat-contact and SLA-breach risk while there is still time to act.

Works on your stack

Reads and writes where you already work

On accept, it calls the very same endpoints your staff use — no shadow write path, no second source of truth.

support_tickets (the inbound queue)crm_contacts + crm_interactions (history)Acknowledgement Inbox (agent_proposal disposition)auto-assign + department_queues (routing)messaging dispatcher (email / SMS / Socket.IO send)LLM platform + RAG corpora (KB-grounded answers)marketing_consents (channel consent + do-not-contact)llm_audit_log (per-decision audit trail)

Questions

Frequently asked

Can it answer a patient's question about their bill on its own?

No. The moment a ticket references a record, an AN/HN or a charge, the task is promoted to the Operational plane and handed to the right team — and any reply is still a draft a human approves. The Growth-plane support agent cannot read the chart at all; the wall is in the database grant.

Will it send replies without a human?

Never. Recommender-first is the rule on all outbound: the agent drafts, a human accepts, edits or rejects, and only then does the messaging dispatcher send. Complaint and clinical-adjacent replies are explicitly hold-for-approval.

How does it learn?

From your dispositions. Every accept, edit or reject is captured to the audit log as the training label — useful answers and routings are reinforced, rejected ones are not. It does not learn from anything written back to a record.

Does our data leave the building?

It does not have to. Inference can run on Ollama on your own hardware, so PHI stays in-house and air-gapped deployments are supported. Outbound only goes through your existing messaging dispatcher.

What does it actually write to?

On accept it uses the same endpoints staff use — it updates the ticket, routes via auto-assign, and sends the approved reply through the messaging dispatcher. There is no parallel system and no shadow write path.

Can it spam our prospect list?

No. All outbound honors marketing_consents and do-not-contact lists, nothing is individually targeted without consent, and a human approves every message before it sends.

Put Service & support agent on your floor

See it draft real work against your own workflows — every action under human sign-off.

Ask Anything