Back to Integrations
Salon & Spa

Zenoti

Integuru generates a production-ready HTTP API for Zenoti, the cloud-based salon and spa management platform. The integration covers 11 actions across appointment scheduling, guest management, employee and therapist lookup, and service catalog access, letting wellness-tech teams automate Zenoti workflows without browser automation.

11actions
https://<SUBDOMAIN>.zenoti.com/

Last reviewed: July 2026

Overview

Integuru's Zenoti integration provides production-ready HTTP API access to Zenoti, the cloud-based salon, spa, and wellness management platform used by single-location studios and multi-center enterprise brands, covering 11 actions across appointment management, guest records, employee and therapist lookup, center discovery, and service catalog access. Integuru connects to Zenoti via direct HTTP requests rather than browser automation, so calls complete in under 3 seconds with a 99.9%+ success rate.

Subdomain-based deployment. Zenoti hosts each organization on its own subdomain (e.g., yourcompany.zenoti.com). Configure your organization's subdomain when setting up the integration; Integuru authenticates against that instance and manages the session from that point forward.

The list_appointments action returns a structured response with count, date_range, and an appointments array. Date ranges are capped at 31 days per query. Pass include_invoice_details: false to skip line-item invoice data when you only need appointment slots, which speeds up the response. The full appointment write lifecycle is covered: book_appointment creates new appointments, edit_appointment modifies them, and list_appointments retrieves them by date range.

Guest management spans list_guests, get_guest_profile, create_guest, and create_patient_note. The create_guest action supports extensive optional fields including communication preferences, referral tracking, and center-specific assignment. See the Vagaro integration for another major salon and spa platform, or browse the full integrations catalogue.


Use Cases

Integuru's Zenoti integration covers the appointment and guest management workflows that wellness-tech engineers and franchise operators need to automate. Because Zenoti uses UUIDs throughout, most workflows begin with a center or employee lookup before calling the target action.

  • Appointment retrieval: Call list_appointments with start_date and end_date (max 31-day window) to retrieve all appointments for a center. Pass include_cancelled: true to include no-shows and cancellations, or include_invoice_details: false for a faster response without financial line items.
  • Appointment booking: Get the center_id from list_centers, the service_id from list_services, and optionally the therapist_id from list_therapists (filtered to therapists who perform that specific service), then call book_appointment with start_time in YYYY-MM-DD HH:MM format.
  • Appointment edits: Call edit_appointment with the appointment_id, appointment_group_id, guest_id, service_id, and therapist_id from the appointment record. Both the individual appointment UUID and the group UUID are required.
  • Guest management: Use list_guests to page through the guest roster for a center, get_guest_profile to retrieve a full guest record by UUID, and create_guest to register new guests with optional communication preferences, referral sources, and primary employee assignments.
  • Clinical notes: Add staff-visible notes to a guest record with create_patient_note. Required fields include center_id, patient_id, added_by_id, center_name, and added_by_name. Pass is_private: false to make the note visible to non-staff roles.
  • Staff and service discovery: Call list_centers to enumerate locations, list_employees to list staff across all centers or filtered to one, list_therapists to find therapists available for a specific service on a given date, and list_services to browse the service catalog for a center.

Setup Notes

Integuru's Zenoti integration authenticates against your organization's Zenoti subdomain (https://<SUBDOMAIN>.zenoti.com/). Configure the correct subdomain for your organization when setting up the integration. Integuru handles the full login flow automatically from that point forward.

All Zenoti identifiers are UUIDs, not numeric IDs. The dependency chain for most appointment and guest actions is:

  1. list_centers to get valid center_id values
  2. list_services (requires center_id) to get service_id values
  3. list_therapists (requires center_id and service_id) to get therapist_id values
  4. list_guests or get_guest_profile (requires guest_id) for guest data
  5. list_employees to get added_by_id for create_patient_note

For list_appointments, the end_date may not exceed 31 days after start_date. If you need a longer historical window, issue multiple calls with successive 31-day windows.

For edit_appointment, both appointment_id and appointment_group_id are required. Both values appear in each appointment object returned by list_appointments. The guest_id field in edit_appointment corresponds to the userid field in the appointment record.

For create_guest, the preferences object controls six communication channel flags. All default to true except receive_lp_stmt. Setting is_minor: true disables marketing preference fields automatically. To allow creation when an email already exists in another guest record, pass allow_duplicate_email: true or skip_duplicate_check: true.

Available Actions

Click an action to expand its parameters

Frequently Asked Questions