schedule_appointment
ActiveTool of Agent Broker
Availability lookup, hold, confirm, reschedule, or cancel appointments with an SMB. Routes through the SMB's native booking system if available, falls back to voice AI or web form. EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "Book the haircut for next Tuesday at 3pm" -> call schedule_appointment({"smb_id": "smb_imp_abc", "action": "book", "service": "haircut"}) user: "Cancel my Friday appointment at smb_xyz" -> call schedule_appointment({"smb_id": "smb_xyz", "action": "cancel"}) user: "Reschedule my dental cleaning to next week" -> call schedule_appointment({"smb_id": "smb_imp_xyz", "action": "reschedule"}) WHEN TO USE: Use when an agent needs to book, reschedule, or cancel a specific appointment with a specific SMB. Requires a verified smb_id. WHEN NOT TO USE: Do not use for bulk scheduling. Do not use without a verified SMB — call find_business and verify_business first if needed. COST: from $0.15 per_booking_attempt (see preview_cost for exact) LATENCY: ~5000ms EXECUTION: async_by_default (use get_outcome to retrieve result)
Parameters schema
{
"type": "object",
"required": [
"smb_id",
"action"
],
"properties": {
"notes": {
"type": "string"
},
"action": {
"enum": [
"book",
"reschedule",
"cancel",
"check_availability"
],
"type": "string"
},
"smb_id": {
"type": "string"
},
"service": {
"type": "string"
},
"customer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
}
},
"requested_time": {
"type": "object",
"properties": {
"preferred_iso": {
"type": "string",
"format": "date-time"
},
"window_end_iso": {
"type": "string",
"format": "date-time"
},
"duration_minutes": {
"type": "integer"
},
"window_start_iso": {
"type": "string",
"format": "date-time"
}
}
},
"existing_appointment_id": {
"type": "string",
"description": "Required for reschedule/cancel"
}
}
}Parent server
Agent Broker
https://github.com/basilalshukaili/agentbroker
1/7 registries