1. Multilingual pilgrim helpline — administrative questions only
Today: one person sits in the trust office with a landline and a register. She answers the same fifteen questions all day — what time is the morning darshan, where do I leave my footwear, is my cottage booking confirmed, where is the medical post — and she answers them in the two languages she happens to speak. A family from another state stands at the counter while a stranger in the queue translates for them. After the office closes at six the phone simply rings. The information is all printed on a board by the gate, in one language, which nobody at the far end of a phone line can read.
Trigger: WhatsApp / Voice / Call (pilgrim helpline)
How the workflow runs
- Trigger
Pilgrim asks a question. A WhatsApp message or a Voice/Call to the helpline number — most pilgrims will phone, many will message, and both land in the same workflow at any hour.
- Voice
Answer in the pilgrim's own language. A Voice node with ElevenLabs for speech and Sarvam for Indian languages holds the conversation in whatever language the caller uses, rather than forcing them onto the two the desk covers today or onto a stranger in the queue.
- Knowledge
Answer only from the trust's published information. A scoped Knowledge collection holds ONLY the trust's own published administrative material: darshan and aarti timings, queue and slot rules, facility locations, footwear and luggage counters, accommodation policy, medical and help-desk positions, prohibited items, dress-code notice as published. The board by the gate, now readable over a phone line in any language.
- Code
The trust's own routing rule. A user-defined SpEL tool, `enquiry_route`, maps the classified enquiry type to ANSWER_FROM_KNOWLEDGE, HUMAN_TRUST_STAFF or ESCALATE_NOW. The boundary that matters most here is a formula the trust owns and can tighten — not a behaviour buried in a prompt.
- Condition
Administrative, or something else?. A Condition node acts on that routing: an administrative or logistics question is answered; anything doctrinal, ritual, religious-advice or personal-guidance shaped is NOT answered and goes to a person of the trust. So does anything about a medical or safety situation.
- Agent
Answer, or hand over cleanly. An Agent node answers the administrative question from Knowledge and names the notice it came from, or says plainly that it is a question for the trust's staff and passes it on with the conversation so far — it never improvises a religious answer.
- Output
Reply, and log the gap. An Output node replies on the pilgrim's channel; unanswered questions are logged so the trust can see exactly which of its notices are missing or unclear and publish them.
Channels & connectors
- Voice / Call
- ElevenLabs (voice)
- Sarvam (Indian languages)
- SMS / Twilio
- Knowledge base
- Approval / HITL (escalation to trust staff)
Outcome
Routine administrative questions are answered accurately in the pilgrim's own language at any hour, including after the office closes, and everything outside that narrow scope reaches a person of the trust instead of being improvised.
Why it helps
The mechanism is scope plus grounding: the same fifteen administrative facts are asked thousands of times and are already published by the trust on the board by the gate, so answering them from that published text in many languages is a retrieval-and-translation problem, not a judgement one. The strict boundary is what makes it safe — the agent's job includes knowing what it must not answer, and that boundary is a formula the trust controls, not a hope about model behaviour.
Build spec
1 agent — 1 helpline agent. The language layer, the administrative/doctrinal boundary formula, the routing Condition and the escalation to trust staff are workflow nodes and tools, not extra agents. · Pattern: Multilingual voice + chat intake → strict administrative-only scope enforced by the trust's own rule → grounded answer or clean human handover
System prompt (paste-ready)
You are an ADMINISTRATIVE helpdesk assistant for {{trust}}, speaking to pilgrims in their own language. You answer ONLY practical, logistical questions using the trust's published information in Knowledge: darshan and aarti timings, queue and slot procedure, facility and counter locations, footwear/luggage/cloakroom arrangements, accommodation policy, transport and parking, medical post and help desk, prohibited items, published dress-code notice, lost-and-found procedure. Always answer from Knowledge and name which published notice it comes from. If Knowledge does not contain the answer, say so plainly and hand over to the trust's staff — never estimate a timing or a fee. You must NOT answer anything doctrinal, scriptural, ritual, astrological or spiritual, must not advise on what a pilgrim should offer, perform or observe, must not interpret or generate religious content, and must not comment on any dispute or on other institutions — route ALL of that to a person of the trust with a short, respectful line. If anyone describes a medical, crowd or safety situation, stop answering and escalate immediately to trust staff. Be brief, warm and factual.Agent roles & model tiers
Pilgrim helpline agent (per conversation) — Economy tier — this is the very high-volume step and the work is retrieval plus multilingual restatement of published facts, not reasoning; Sarvam carries the Indian languages, and a fallback model on a second provider means the helpline keeps answering during an outage instead of going silent like the six o'clock landline
Answer administrative pilgrim questions strictly from the trust's published Knowledge, in the pilgrim's own language, citing the notice. Refuse and hand over anything doctrinal, ritual, advisory or safety-related. Never estimate a timing, a fee or an availability.
MCP connectors
- Darshan / queue-slot booking system — via Tool (MCP): read-only status lookup for a slot reference the pilgrim quotes (never a booking, never an allocation)
- Accommodation allotment system — via Tool (MCP): read-only confirmation status for a cottage booking reference
- Trust helpdesk queue — via Tool (MCP): file an escalation with the full conversation attached, so the staff member does not start from nothing
- WhatsApp / Voice / SMS — first-party pilgrim channels, answering at any hour
Built-in tools
- user-defined tool `enquiry_route` (SpEL): input.category == 'DOCTRINAL' ? 'HUMAN_TRUST_STAFF' : (input.category == 'SAFETY' ? 'ESCALATE_NOW' : 'ANSWER_FROM_KNOWLEDGE') — the trust's own boundary rule as a deterministic formula they can tighten, e.g. adding a category that must always reach a person during a festival week
- user-defined tool `counter_directions` (SpEL): input.facility + ' — ' + input.gate + ', open ' + input.openTime + '–' + input.closeTime — the trust's own house phrasing, identical in every language version
- knowledge_search (the trust's own published notices only: timings, queue procedure, facilities, accommodation policy, prohibited items — a scoped collection, so nothing unpublished is reachable)
- http_request (read-only status lookup for a booking or slot reference the pilgrim quotes)
Guardrails
- Scope is administrative and logistical ONLY — the agent answers nothing doctrinal, scriptural, ritual, astrological or spiritual, gives no religious advice, generates no religious content, and routes every such question to a person of the trust
- That boundary is enforced twice: by the prompt and by the trust's own `enquiry_route` SpEL rule feeding a Condition node, so it does not depend on model behaviour alone
- Every answer is grounded in the trust's own published material in the scoped Knowledge collection and names the notice it came from; where Knowledge is silent the agent says so and hands over rather than estimating a timing, fee or availability
- Any mention of a medical emergency, a crowd or safety situation, or a missing person ends the automated conversation and escalates to trust staff immediately — the agent never assesses or advises on a safety situation
- The agent takes no bookings, allocates no slot and confirms no accommodation in this workflow — it can only read and restate a status the trust's own system returns
- Unanswered questions are logged as a Knowledge gap for the trust to fill, so the fix is publishing the information rather than letting the model fill the void
Cost strategy
This is the highest-volume workflow in the pack by a wide margin, so the model tier here is the single biggest cost decision — put it on the economy tier and keep it there. It is genuinely economy-tier work: a tightly scoped Knowledge collection of published notices, retrieval, and restatement in the pilgrim's language. Resist upgrading when an answer is wrong; the fix is almost always a missing or ambiguous notice, which the gap log will show you, not a bigger model.
Output & delivery
WhatsApp, Voice (ElevenLabs + Sarvam) or SMS → the `enquiry_route` SpEL rule and a Condition node enforce the administrative-only boundary → the economy-tier agent answers from the trust's scoped published Knowledge, citing the notice → anything doctrinal, advisory or safety-related is filed to the trust's helpdesk queue with the conversation attached → an Output node replies in the pilgrim's language, and every unanswered question is logged as a Knowledge gap for the trust to publish.