Create appointment booking (Public)
Create a new appointment booking. Can be used by external users without authentication. The contact is resolved by the first identity the request supplies, in this order: contact_id, then contact_phone (alias phone), then contact_name plus contact_email. A phone that is not already in the workspace creates a contact; a phone that matches an existing one books against it and does not overwrite its name.
https://api.channelautomation.com/api/calendar/bookRequest body JSON required
- slot_idoptionalstring
The
idof a time returned by the availability endpoints. Supplying it replaces date, start_time, end_time and timezone entirely, and it wins if those are sent too. The id is re-resolved against live availability rather than trusted, so an invented time or a slot that filled up since it was offered is rejected with a 400 instead of booked. Ids embed the event type, so they must not be cached beyond the current conversation.
Example requests
{
"workspace_id": "workspace-uuid",
"contact_name": "John Smith",
"contact_email": "john@example.com",
"contact_phone": "+1234567890",
"event_title": "Kitchen Consultation",
"event_description": "Discuss renovation plans",
"date": "07-15-2025",
"start_time": "2:30 PM",
"end_time": "3:30 PM",
"timezone": "America/New_York",
"location": "Customer's home",
"product_interest": "Kitchen Renovation"
}{
"contact_id": "existing-contact-uuid",
"workspace_id": "workspace-uuid",
"event_title": "Follow-up Consultation",
"date": "07-16-2025",
"start_time": "10:00 AM",
"end_time": "11:00 AM",
"timezone": "America/Chicago",
"location": "Virtual Meeting",
"product_interest": "Bathroom Renovation"
}{
"workspace_id": "61395",
"contact_phone": "+15551234567",
"slot_id": "9497f193-774e-489e-9687-8cea9237c41d:2026-09-22T00:00:00.000Z"
}{
"workspace_id": "61395",
"contact_phone": "+15551234567",
"event_type_id": "36816f8e-8f68-47f4-bdaa-26619bc16b03",
"start_time": "2026-09-18T16:00:00.000Z",
"end_time": "2026-09-19T00:00:00.000Z",
"timezone": "America/Los_Angeles"
}{
"workspace_id": "workspace-uuid",
"contact_name": "Jane Doe",
"contact_email": "jane@example.com",
"event_title": "Legacy Format Test",
"start_time": "2025-07-15T14:00:00Z",
"end_time": "2025-07-15T15:00:00Z",
"product_interest": "Testing"
}Returns
201
Booking created successfully
