import_booking_url
ActiveTool of Agent Broker
Turn ANY public booking URL (Cal.com, Calendly, Doctolib, Booksy, Fresha, OpenTable, Setmore, Square, Acuity, Schedulista, Squarespace, BookMyCity) into a callable smb_id you can immediately use with schedule_appointment, send_message, or capture_lead. Idempotent — calling twice returns the same smb_id. EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "Book me a haircut at https://cal.com/jane-salon" -> call import_booking_url({"booking_url": "https://cal.com/jane-salon", "vertical": "personal_services"}) -> then schedule_appointment({"smb_id": "<from_above>", "action": "book"}) user: "Schedule with this dentist: https://www.doctolib.fr/dentiste/paris/jean-dupont" -> call import_booking_url({"booking_url": "https://www.doctolib.fr/dentiste/paris/jean-dupont"}) user: "Reserve a table at https://www.opentable.com/r/acme-bistro" -> call import_booking_url({"booking_url": "https://www.opentable.com/r/acme-bistro", "vertical": "restaurants"}) WHEN TO USE: Call this FIRST whenever the user provides a specific booking URL (cal.com/handle, calendly.com/handle/event, doctolib.fr/..., booksy.com/..., opentable.com/r/..., etc.). User patterns that match: 'book me at https://cal.com/...', 'schedule with calendly.com/jane/intro', 'reserve a table at opentable.com/r/...', 'I want to book this dentist: https://www.doctolib.fr/...'. After importing, the returned smb_id can be passed straight to schedule_appointment. WHEN NOT TO USE: Do not use if the user only describes a business by name without a URL — call find_business instead. Do not use for arbitrary websites that are not on the supported booking-platform list (use /supply/platforms to see all 12). COST: $0.005 per_call LATENCY: ~600ms
Parameters schema
{
"type": "object",
"required": [
"booking_url"
],
"properties": {
"vertical": {
"enum": [
"personal_services",
"home_services",
"professional_services",
"restaurants",
"retail",
"healthcare",
"fitness"
],
"type": "string",
"description": "Best-guess vertical. If omitted, inferred from the platform (e.g., Doctolib -> healthcare, OpenTable -> restaurants)."
},
"booking_url": {
"type": "string",
"format": "uri",
"description": "Full URL the user supplied. Must point at one of the 12 supported booking platforms; auto-detected from the host."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Free-form capability tags (e.g., ['haircut','color','blowdry'])."
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 (e.g. 'US', 'FR'). Used for compliance routing on later send_message calls."
},
"business_name": {
"type": "string",
"description": "Optional override. If omitted, the business name is auto-extracted from the page's <title> or og:title."
},
"contact_email": {
"type": "string",
"description": "Optional."
},
"contact_phone": {
"type": "string",
"description": "Optional. If omitted, the platform integration handles outreach."
}
}
}Parent server
Agent Broker
https://github.com/basilalshukaili/agentbroker
1/7 registries