All articles
    Integrations

    Connect Zenoti to QR Rx

    Last updated 2026-08-24
    Open Integrations in QR Rx

    Zenoti setup starts and stays visible in QR Rx. Your Zenoti Customer Success Manager enables the required package, then your organization administrator obtains the center and read-only API details. QR Rx first verifies the vendor-issued signature and payload contract, then enables one controlled test appointment.

    Who should do thisZenoti organization administrator
    Who enables accessYour Zenoti CSM
    Event to selectAppointment → Completed
    Safe starting modeConnection closed until contract verification

    You do not need to build an integration.

    Zenoti supports completed-appointment notifications and the data QR Rx needs. Before QR Rx provides a live endpoint, your CSM must confirm the exact signed envelope available to your account. We do not ask staff to invent a custom security header or rely on an unverified sample. Zenoti's webhooks and API require the Zenoti Integration Package, and Zapier is not a substitute for patient information because Zapier does not sign a Business Associate Agreement.

    1. Ask your Zenoti CSM to confirm access

    You are contacting your Zenoti CSM for this step. Copy this message:

    Hi [CSM NAME], We are connecting our Zenoti account to QR Rx for post-visit aftercare. Please confirm whether our Zenoti package supports the Appointment Completed webhook and restricted, read-only API access for the centers below: [LIST CENTERS] If available, please issue a separate API key for the QR Rx app with only the access needed to read invoice, appointment, guest, center, and service-catalog details. We do not need booking, payment, refund, membership, or other write access. Thank you.

    2. Request contract verification in QR Rx

    You are working in QR Rx for this step.

    1. Open Settings → Integrations and select Zenoti.
    2. Choose Build the champion request.
    3. Record your organization, your role, proposed rollout, matching QR Rx locations, and Zenoti center names. Do not enter patient information or credentials.
    4. Save the request, then copy the prepared leadership and CSM messages. The saved stage is shared across authorized staff in your clinic.
    5. Your CSM supplies the official webhook body and signature documentation through the controlled technical review. Do not send an API key by email or place it in the sponsor request.
    6. QR Rx verifies the contract using synthetic data before opening credential entry or issuing a live endpoint.

    Enter the API key only in the secure QR Rx form. Never email it or include it in a support ticket.

    3. Add the verified completed-appointment webhook

    Continue only after QR Rx marks the contract verified. Your Zenoti organization administrator is working in Zenoti for this step.

    1. At the organization level, open Configuration.
    2. Open Integrations → Webhooks.
    3. Click Create a webhook.
    4. Under Appointment, select Completed, then click Next.
    5. Enter the name QR Rx completed appointments.
    6. Choose POST as the request type.
    7. Choose the applicable center subscription.
    8. Paste the QR Rx endpoint as the URL.
    9. Configure the vendor-issued signature method exactly as confirmed during contract verification.
    10. Review the details, then click Complete.

    Zenoti's completion notice identifies the invoice, center, appointment, and service. QR Rx then uses restricted invoice access to retrieve the matching guest information. This is why both the webhook and limited API access are required.

    4. Verify access and map the service catalog

    1. Return to the Zenoti connection in QR Rx and click Test configuration.
    2. Click Sync Zenoti services. This imports stable service IDs and names, not patient records.
    3. For each service, select the correct QR Rx template or choose No aftercare, skip automatically.
    4. Leave uncertain or multi-service matches in review. A name suggestion is not treated as an approved mapping.

    5. Complete one test appointment

    1. Use a test guest controlled by your clinic.
    2. Book a recognizable service at one connected center.
    3. Mark the appointment completed in Zenoti.
    4. Open Care Feed in QR Rx.
    5. Confirm the guest, service, center, and appointment time.
    6. Confirm the proposed template and the exact message preview before sending.
    7. Repeat the delivery once and confirm a duplicate draft is not created.
    8. Return to the Zenoti connection, choose text or email, and turn on Automatic sending. Routine eligible visits will use that channel; exceptions stay in Care Feed.

    You are ready when

    • The test appointment appears exactly once in Care Feed.
    • The draft shows the correct Zenoti center and service.
    • The guest's name and approved contact channel are correct.
    • The Zenoti app has read-only, least-privilege access.
    • Automatic sending is enabled only after the controlled delivery and service mappings are approved.
    • Unmapped, incomplete, multi-service, and failed deliveries remain visible in Care Feed.

    If delivery stops later

    Zenoti retries failed webhooks, but it can automatically deactivate a webhook after repeated failures. Check Configuration → Integrations → Webhooksand the webhook failure log. Fix the issue before reactivating it.

    Need setup help?

    Open QR Rx support and include your organization name, center names, and approximate test time. Never send patient information, passwords, secrets, or API keys.

    Related articles

    An integration stopped receiving visitsConnect Vagaro to QR RxConnect Mangomint to QR RxAdd an additional location to your subscription
    Did this article answer your question? Tell us.