Legal intake that stays on your servers
Dograh is the self-hostable voice agent platform with an open-source workflow builder. Build the intake call once: a greeting, names before facts, a conflict lookup with a stop path, and booking, all pointed at your firm's own systems.
The intake call, drawn as a flow
Names before any facts
Model Rule 1.18a caller who consults is a prospective client
The intake node asks for the caller and the other parties before what happened, and steers storytellers back to the names.
→ Ask callers to spell their surname
Stop on a possible match
HTTP API toolthe agent asks your system mid-call
conflict_lookup sends the names to your endpoint, which answers with a status only. A match or an error routes the call to Staff review.
→ Never send back who matched
Book clear callers, route the rest
Condition Labelthe name on each pathway
Lawyer callback plays a fixed line refusing advice. Urgent writes a handover note, then transfers the caller on Twilio.
→ Test every pathway on a real phone call
Your endpoint answers with a status only
{ "status": "possible_match", "review_id": "CR-20931" }
Your systems answer, the agent asks
Create each as an HTTP API tool and attach it to the node that calls it
Edit any condition or line in the visual builder
Transfer Call works on Twilio only and passes no summary
Keep privileged intake inside the firm
No AI vendor hears intake
Run Dograh and open-weight models on your servers, and the call audio reaches no model provider. Your phone carrier still carries the call.
Recordings stay in your storage
Dograh saves a transcript of every call, and the recording by default. Self-hosted, both sit on your servers until your policy removes them.
Change it without code
Every prompt and pathway opens as a node you edit on the canvas.
No per-minute platform fee
Self-hosted Dograh is free. Servers, phone minutes and any paid models still cost money.
Five things to set before go-live
- Firm name in the greetingThe Greeting Text names your firm and says the call is recorded.
- Four tools created and attachedOne HTTP API tool per step, attached to the node that calls it.
- Transfer number setAdd a Transfer Call tool to the Urgent node with your intake line.
- Webhook setPoint the Webhook node at your case system so every call leaves a record.
- Phone test passedBrowser calls can't transfer, so test the Urgent path over Twilio.
Learn how it works, step by step
What does the intake agent collect?+×
The caller's and the other parties' names first, then a short account in the caller's words, the practice area and a callback number.
Which tools does the intake call need?+×
Four HTTP API tools: conflict_lookup, get_open_slots, book_consultation and log_handover, each pointed at your own systems and attached to its node.
Does the agent run the conflict check itself?+×
Your system does the matching. The conflict_lookup tool sends the names to your endpoint and gets back a status, so the agent never learns who matched.
Can the agent give legal advice?+×
The Lawyer callback pathway plays a fixed line refusing advice, then offers a consultation. The model still picks that pathway, so check it on transcripts.
Where should privileged intake run?+×
Generally on servers the firm controls, with Dograh and the speech and language models both there. A privilege waiver generally cannot be undone.
Does it work on Dograh Cloud?+×
Yes, the same flow runs there. Dograh Cloud has a 1¢-a-minute platform fee, and the call audio is then processed outside the firm's servers.
Test the intake call on one line first.
Self-host in one command, or start on Dograh Cloud.
$ curl … start_docker.sh && ./start_docker.sh