Zenoti Integration Explained
Introduction
✨ What is Zenoti?
Zenoti is a cloud-based software platform for businesses in the wellness and beauty industries, such as spas, salons, and fitness centers. It offers a range of features to help manage operations, including:
- Appointment Scheduling: Streamlines booking for clients and staff.
- Point of Sale (POS): Manages sales transactions and inventory.
- Employee Management: Facilitates staff scheduling, payroll, and performance tracking.
- Marketing Tools: Helps businesses engage with customers through promotions and loyalty programs.
- Reporting and Analytics: Provides insights into business performance and customer behavior.
⚙️ Setting Up a New Webhook
Available Trigger Events
The triggering events from Zenoti mainly cover the creation, update, and deletion of the following objects:
- Invoice
- Guest
- Class
- Membership & Member
- Package
- Appointment & Appointment Group
- Employee
Step-by-Step Configuration
- At the organization level, click the Admin icon.
- Navigate to Setup > Automation.
- Select “+ Add New Automation”.
- Enter the following information in the configuration window:
- a. Name: Input your preferred name for the webhook.
- b. Description: Add a short description for easy reference.
- c. Event Type: Choose an event category from the dropdown (e.g., “Guest Membership”).
- d. Event Name: Select the specific event from the dropdown (e.g., “Created”).
- e. Action: This will be set to Webhook by default.
- f. HTTP Verb: Choose between
POST,PUT, orPATCH.
- Click Submit.
Your webhook is now ready to send notifications to your external system when the specified event occurs.
📄 Sample Event Response
When a webhook is triggered, Zenoti sends a JSON payload to your endpoint. Here is an example of what that payload looks like:
{
"id": "622b5b33a961750e01db6512",
"event_id": "622b5b33a961750e01db6510",
"event_schema": "v1",
"event_resource": "Invoice",
"event_type": "Invoice.Closed",
"event_timestamp": "2022-03-11T14:22:43.3847049Z",
"data": {}
}
❗ Important Policies and Notes
Webhook Timeout
Each webhook request will wait 10 seconds for a response from your endpoint. If no response is received, it will attempt to reconnect up to five times.
Webhook Retry Policy
If a delivery fails, the retry mechanism will attempt to resend the webhook up to five times using an exponential backoff strategy. The delay between attempts will be a minimum of 30 seconds and a maximum of 10 minutes.
Automatic Webhook Deactivation
If a webhook experiences 20 consecutive failures, it will be automatically deactivated. A failure notification email will be sent to the administrator.
Sample Deactivation Email: Due to a series of delivery failures, the webhook {WebhookName} has been temporarily deactivated. Please verify that the destination URL is working and resolve the webhook errors which are listed in the below link. {WebhookFailureLogURL} After resolving the webhook errors, you can activate this webhook from inactive tab of webhooks page.
To fix this, you must:
- Verify that the destination URL is operational.
- Review the Webhook Failure Logs provided in the email.
- Correct any errors at the destination URL.
- Navigate to the “inactive” tab on the webhooks page in Zenoti and reactivate the webhook.