Create a Webhook
Register a new webhook endpoint:Request Body
Event Types
Response
List Webhooks
Get all webhooks for your company:Response
Update a Webhook
Modify an existing webhook:Request Body
All fields are optional:Delete a Webhook
Remove a webhook endpoint:204 No Content on success.
Limits
Error: Maximum Webhooks Reached
Testing Webhooks
Local Development
Use a tunneling service for local development: ngrokTest with curl
Simulate a webhook delivery to your endpoint:Webhook Reliability
Delivery Guarantees
- Webhooks are delivered at least once
- Failed deliveries are not automatically retried
- Implement idempotent handlers using the appointment
id
Handling Failures
Your endpoint should:- Return 200 quickly - Process asynchronously if needed
- Be idempotent - Same webhook delivered twice should have same result
- Log all requests - For debugging failed deliveries
Example: Idempotent Handler
Best Practices
Use HTTPS - All production webhook endpoints should use HTTPS
Return 200 immediately - Don’t block the response while processing
Implement idempotency - Handle duplicate deliveries gracefully
Log requests - Keep logs for debugging
Monitor failures - Alert when webhook processing fails