1. Non-diagnostic symptom intake with vet-owned urgency triage
An owner messages that their pet is unwell — vomiting, limping, off its food. Today the front desk fields it live, has no consistent way to tell an emergency from a routine visit, and either over-books the vet or, worse, tells someone to 'wait and see' when they shouldn't. Nobody wants a receptionist making that call.
Trigger: WhatsApp / Call (owner reports a symptom)
How the workflow runs
- Trigger
Owner reports a symptom. A WhatsApp or Call trigger captures the concern in the owner's own words and language — spoken reports are transcribed live.
- Agent
Structure the intake (never diagnose). An Agent node collects the facts a vet needs — species, breed, age, the symptom, how long, appetite, any known conditions — into a clean structured summary. It explicitly does NOT name a condition, suggest a cause, or recommend treatment.
- Knowledge
Ground against the clinic's triage protocol. A Knowledge node checks the report against the clinic's own red-flag / urgency reference (e.g. bloat, seizures, trouble breathing, toxin ingestion) so the urgency banding is grounded and cited — not the model's opinion.
- Condition
Band the urgency. A Condition node maps the grounded flags to a band — EMERGENCY, SAME-DAY, or ROUTINE — and never lets a red-flagged case fall into a lower band.
- Approval
A licensed vet decides. An Approval node puts the structured summary and proposed band in front of a vet/vet nurse — the clinical decision (see now, book, or advise) is always a human's, not the agent's.
- Output
Tell the owner the next step. An Output node relays the vet's decision to the owner on WhatsApp — come in now, a booking link, or a vet call-back — in the owner's language, with a clear 'if it worsens, call us / an emergency line' line.
Channels & connectors
- Voice / Call
- Knowledge base
- Approval / HITL
- Sarvam (22+ Indian languages)
Outcome
Every 'my pet is unwell' message becomes a consistent, structured triage summary with a vet making the actual call within minutes — instead of a receptionist guessing or a worried owner waiting.
Why it helps
The value is a consistent, grounded intake plus a fast human decision — the agent does the note-taking and red-flag surfacing that a busy front desk skips, while the clinical judgement stays with a licensed vet where it legally and ethically belongs.
Build spec
1 agent — 1 intake/triage agent; the urgency banding, the vet approval and the reply are workflow nodes. Kept deliberately single-agent — the hard call is a human's, not another model's.
System prompt (paste-ready)
You are a veterinary intake assistant for {{clinic}}. You are NOT a vet and you must NEVER diagnose, name a possible condition, suggest a cause, or recommend any treatment, medication, dose or home remedy. Your only job is to collect a clear, structured history — species, breed, age, weight if known, the presenting symptom, duration, appetite/water/energy, any known conditions or current medication — in the owner's language, one question at a time. Then compare the report ONLY against the clinic's triage red-flag reference in Knowledge and propose an urgency band (EMERGENCY / SAME-DAY / ROUTINE) with the specific flag you matched, cited. State plainly that a vet will confirm the next step. If the owner asks 'what's wrong with my pet' or for advice, say you can't give clinical advice and that a vet will decide. If any red flag is present or you are unsure, propose EMERGENCY and escalate.MCP connectors
- Practice-management / PIMS (appointment slots, patient history) — via a Tool (MCP) node (no first-party connector)
- WhatsApp / Voice — owner channel
- Sarvam — 22+ Indian languages
Built-in tools
- knowledge_search (the clinic's own triage red-flag / urgency protocol)
Guardrails
- No diagnosis, no clinical or medication advice — enforced in the prompt AND by the design: the agent only structures the history and cites a red-flag band, it never states what is wrong or what to do
- Every urgency call is Approval-gated to a licensed vet/vet nurse — the agent proposes a band, a human decides the actual next step and it is never auto-sent as clinical instruction
- Fail-safe banding: any matched red flag or any uncertainty forces EMERGENCY, and the Condition node cannot down-band a red-flagged case
Cost strategy
Keep the premium reasoning tier OFF this flow entirely: the intake is structured extraction plus a grounded lookup, which the economy/standard tier handles well — and the one judgement that would justify a premium model (the clinical call) is a human's, not the agent's, by design. Cap tool-calls per conversation so a back-and-forth intake can't run up cost.
Output & delivery
The agent structures the history → a Knowledge lookup grounds the red-flag match → the Condition node bands the urgency (red flags force EMERGENCY) → the vet Approval node confirms the actual next step → an Output node relays the vet's decision to the owner on WhatsApp in their language, with a clear worsening/emergency-line fallback; the intake and the vet's decision are logged.