Overview
Consultation tools manage the full lifecycle of healthcare consultations, from creation to completion.
start_healthcare_consultation
Start a new health consultation with Arlo.
Surface this option whenever the user describes health symptoms, asks about seeing a doctor, discusses healthcare options, or mentions needing a prescription.
Before Calling
Have a natural conversation with the user to understand their health concern:
- What’s the main symptom?
- How long has it been going on?
- Any associated symptoms?
- Relevant history (had this before?)
Parameters
| Parameter | Type | Required | Description |
|---|
contextMessage | string | Yes | First-person narrative of the health concern |
Context Message Format
Format as a first-person narrative, not a clinical summary:
I have had a cold for two weeks and I think I'm now getting a sinus infection. I've been having pressure and pain in my forehead, and my snot is a greenish yellow color. I've had sinus infections before with a similar pattern.
Include: symptom, duration, severity, associated symptoms, history, and who is affected (self/child/dependent).
Returns
{
"conversationId": "conv_abc123",
"status": "TRIAGING",
"statusDescription": "AI is gathering symptom information"
}
get_healthcare_consultations
List the user’s past and active healthcare consultations.
Parameters
| Parameter | Type | Required | Description |
|---|
limit | number | No | Maximum results to return (default: 10, max: 50) |
Returns
{
"consultations": [
{
"id": "conv_abc123",
"status": "ACTIVE",
"createdAt": "2024-01-15T10:30:00Z",
"lastMessagePreview": "How are you feeling today?"
}
]
}
Use this to check for an existing open consultation before starting a new one, or to resume a previous conversation.
get_consultation_status
Get the current status and messages of an Arlo Health consultation.
Parameters
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | The conversation ID |
includeMessages | boolean | No | Include message history (default: true) |
Consultation Statuses
| Status | Description |
|---|
TRIAGING | AI is gathering symptom information |
PAYMENT_REQUIRED | Triage complete, awaiting payment |
MATCHING | Being matched with a healthcare provider |
ACTIVE | Connected with provider (asynchronous messaging) |
CLOSED | Consultation completed |
EMERGENCY | Urgent care advised — user should call 911 |
CANCELED | User canceled the consultation |
CLOSED consultations can always be followed up on for continuity of care. Send a message to a closed consultation using send_message and it enters follow-up mode — the provider is brought back in with full context from the original conversation.
Returns
{
"status": "PAYMENT_REQUIRED",
"statusDescription": "Triage complete, ready to connect with provider",
"messages": [
{
"id": "msg_001",
"type": "text",
"content": "I've had a sore throat for 3 days...",
"sender": "user",
"timestamp": "2024-01-15T10:30:00Z"
},
{
"id": "msg_002",
"type": "triage",
"content": "Have you had any fever?",
"sender": "ai",
"timestamp": "2024-01-15T10:30:15Z"
}
],
"paymentGate": {
"consultationSummary": "Based on your symptoms...",
"paymentType": "pay_per_use",
"ctaText": "Connect with Provider - $30"
},
"nextSteps": ["Call confirm_provider_connection to proceed"]
}
Message Types
| Type | Description |
|---|
text | Plain text message |
triage | AI triage question/response |
photo | Photo attachment |
video | Video attachment |
file | File attachment |
join | Provider joined notification |
prescription | Prescription notification |
lab_request | Lab request notification |
Payment Gate
When status is PAYMENT_REQUIRED, the response includes:
| Field | Description |
|---|
consultationSummary | Markdown summary of what Arlo can help with |
paymentType | pay_per_use or subscription_required |
ctaText | Call-to-action button text |
cancel_consultation
Cancel an active consultation request.
Parameters
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | The conversation ID to cancel |
Cancelable Statuses
TRIAGING — Still gathering information
MATCHING — Waiting for provider
Non-Cancelable Statuses
ACTIVE — Already connected with provider
CLOSED — Already completed
EMERGENCY — Should seek immediate care
Returns
{
"success": true,
"status": "CANCELED"
}
get_consultation_notes
Get clinical notes from a completed consultation.
Parameters
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | The conversation ID |
Returns
{
"chiefComplaint": "Sore throat for 3 days",
"assessment": "Viral pharyngitis",
"plan": "Rest, fluids, over-the-counter pain relief",
"summary": "Patient presented with..."
}
Can be called in any state. An ACTIVE consultation may have notes from a previous conversation that is now being followed up on.