Tool tree
Northside Dental consult booking for people and their agents.
Implementation
gradeNot graded
gradeNot graded
get_servicesAnswer
List Northside Dental consult types, duration, and who each consult is for.
View tool JSON
{
"name": "get_services",
"kind": "answer",
"impl": "imperative",
"description": "List Northside Dental consult types, duration, and who each consult is for.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_available_slotsAnswer
Return open Northside Dental appointment times for a Pacific date and service. Optionally filter for times after HH:mm.
View tool JSON
{
"name": "get_available_slots",
"kind": "answer",
"impl": "imperative",
"description": "Return open Northside Dental appointment times for a Pacific date and service. Optionally filter for times after HH:mm.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"service_id": {
"type": "string",
"minLength": 1
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"after_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
}
},
"required": [
"service_id",
"date"
],
"additionalProperties": false
}
}hold_slotAction
Hold an appointment slot for 10 minutes so the patient or their agent can confirm. Requires service_id and ISO start time.
View tool JSON
{
"name": "hold_slot",
"kind": "act",
"impl": "imperative",
"description": "Hold an appointment slot for 10 minutes so the patient or their agent can confirm. Requires service_id and ISO start time.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"service_id": {
"type": "string",
"minLength": 1
},
"start": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"service_id",
"start"
],
"additionalProperties": false
}
}book_consultSensitive Action
Confirm a held dental consult with the patient's name, phone, reason, service, slot, and one-time human approval token.
View tool JSON
{
"name": "book_consult",
"kind": "transact",
"impl": "imperative",
"description": "Confirm a held dental consult with the patient's name, phone, reason, service, slot, and one-time human approval token.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"phone": {
"type": "string",
"pattern": "^(?=(?:\\D*\\d){7,15}\\D*$)[+()\\d .-]+$"
},
"reason": {
"type": "string",
"minLength": 2,
"maxLength": 500
},
"patient_type": {
"type": "string",
"enum": [
"new",
"existing"
]
},
"hold_id": {
"type": "string",
"minLength": 1
},
"approval_token": {
"type": "string",
"minLength": 1
},
"service_id": {
"type": "string",
"minLength": 1
},
"start": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"name",
"phone",
"reason",
"patient_type",
"hold_id",
"approval_token",
"service_id",
"start"
],
"additionalProperties": false
}
}request_quoteAction
Create a visible inbox lead for a dental treatment that needs a quote instead of a simple consult.
View tool JSON
{
"name": "request_quote",
"kind": "act",
"impl": "imperative",
"description": "Create a visible inbox lead for a dental treatment that needs a quote instead of a simple consult.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"phone": {
"type": "string",
"pattern": "^(?=(?:\\D*\\d){7,15}\\D*$)[+()\\d .-]+$"
},
"reason": {
"type": "string",
"minLength": 2,
"maxLength": 500
},
"patient_type": {
"type": "string",
"enum": [
"new",
"existing"
]
},
"treatment": {
"type": "string",
"minLength": 2,
"maxLength": 80
}
},
"required": [
"name",
"phone",
"reason",
"patient_type",
"treatment"
],
"additionalProperties": false
}
}get_booking_statusAnswer
Read the current hold, human approval, confirmed booking, inbox leads, and activity log state.
View tool JSON
{
"name": "get_booking_status",
"kind": "answer",
"impl": "imperative",
"description": "Read the current hold, human approval, confirmed booking, inbox leads, and activity log state.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"hold_id": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
}