Note: We also offer a Nextech Practice Plus integration, which is detailed in a separate help article. The two integrations are very similar but have a few small differences highlighted in that article.
Overview of Nextech Practice + Integration with Aesthetix CRM
Learn more about the fields, workflows, triggers, and actions available in the Nextech Practice Plus integration.
Opportunity & pipeline automation to decrease manual data entry and drive reporting efficiency
Supports multiple pipelines to automate updating opportunities in surgical and non-surgical pipelines
Automate Google review collection after appointments
Automate post-appointment follow-up
Automate patient retention campaigns for specific treatment and service types
Collect data for better patient/client segmentation
Automated birthday campaigns
Patient lifetime value tracking from active payments
Two-way sync to create patients in Nextech from Aesthetix CRM
Multi-location support with location-level routing
Nextech Cloud integration requires Nextech Direct API access, which starts at a $2,000+ one-time fee and an additional monthly fee paid directly to Nextech.
The integration is built on AX Connect, which requires a $99/month per location integration fee paid to Aesthetix CRM.
Clients will be required to provide all appointment types and purposes in a spreadsheet for Aesthetix CRM to properly set up the appointment categorization.
The Nextech Cloud integration is a polling integration. Every 5 minutes, we poll the Nextech API for modifications to appointment statuses, patient records, and payments. When we detect a change (for example, an appointment moving to "fulfilled" status), we pull that data in and process it through our workflows.
Because this is polling-based rather than webhook-based, updates typically appear in Aesthetix CRM within 5 to 10 minutes of the action being taken in Nextech Cloud.
For multi-location practices, we isolate the location name from the appointment payload and map it to a NXT Appointment Location custom field, ensuring contacts are properly attributed to the correct location.
Because we poll at a rapid 5-minute interval, any modification to an appointment within that window will be caught. This means you may occasionally see the same appointment appear multiple times in a contact's notes -- for example, the same pending appointment showing up two or three times. This doesn't affect pipeline movement (a pending appointment coming in multiple times won't cause any stage changes), but it can create some extra note entries that aren't particularly useful. This is a known characteristic of polling-based integrations.
What triggers it: An appointment is created or modified to a Pending or Confirmed status in Nextech Cloud (detected every 5 minutes via polling).
What happens:
We extract the patient ID from the appointment payload and make a GET Patient request to pull full patient data.
We isolate the location name from the appointment payload (critical for multi-location practices).
We format the phone number and email from the patient data for Aesthetix CRM's API.
We pull the practitioner associated with the appointment.
We identify and isolate both the appointment type and appointment purpose.
For plastic surgery + med spa practices: We run a custom code action to perform appointment categorization, classifying the appointment type into the correct category to determine the pipeline and stage (see Appointment Categorization section below).
We format the appointment date (date-only, no time support).
We create or update the contact in Aesthetix CRM and add them to the NXT Appointments Update workflow.
Fields updated in Aesthetix CRM:
First Name, Last Name, Email, Phone
Next Visit Date
Next Visit Service
Appointment Category (for plastic surgery practices)
NXT Appointment Date
NXT Appointment Location
NXT Appointment Practitioner
NXT Appointment Purpose
NXT Appointment Status
NXT Appointment Type
NXT Patient ID
Workflow actions in Aesthetix CRM:
A contact note is added with: appointment status, appointment type, appointment purpose, appointment practitioner, appointment location, appointment date, and appointment category. These notes are your audit trail for troubleshooting.
For multi-location practices, the contact is added to a location assignment workflow to ensure proper location routing.
The contact is routed through the Appointments Update workflow based on their appointment category and status (see Pipeline Logic section below).
Important: Next Visit Date uses a date-only format (e.g., 3/12/2026). The Aesthetix CRM API does not currently support date and time, so appointment times are not stored.
What triggers it: An appointment status changes to Fulfilled in Nextech Cloud (detected every 5 minutes via polling).
What happens:
The workflow follows the same pattern as Pending & Confirmed in terms of data collection, formatting, and appointment categorization.
The key difference is which date fields are updated: instead of Next Visit Date and Next Visit Service, we update Last Visit Date and Last Visit Service -- since this is a completed appointment.
We also update the NXT Birthday field at this stage.
The contact is added to the same NXT Appointments Update workflow for pipeline movement.
Additional fields updated (compared to Pending/Confirmed):
Last Visit Date (instead of Next Visit Date)
Last Visit Service (instead of Next Visit Service)
NXT Birthday
What triggers it: An appointment status changes to Cancelled or No-Show in Nextech Cloud (detected every 5 minutes via polling).
What happens:
The workflow follows the same pattern as the other appointment status workflows for data collection and formatting.
Next Visit Date and Next Visit Service are not updated for cancelled or no-show statuses.
The contact is added to the same NXT Appointments Update workflow, where they are routed to the Cancelled/No-Show stage of the appropriate pipeline.
What triggers it: A payment with "active" status is detected via the Nextech Cloud Payments Reconciliation endpoints (polled every 5 minutes).
What happens:
We extract the patient ID from the payment data and make a GET Patient request.
We format the invoice paid amount with the payment total from Nextech.
We format the phone number and email, then create or update the contact in Aesthetix CRM.
The contact is added to the NXT Payments Update workflow.
Fields updated in Aesthetix CRM:
Invoice Paid Amount
NXT Patient ID
NXT Last Payment Date
NXT Payment Status
Workflow actions in Aesthetix CRM:
A contact note is added with the payment status and invoice amount.
The Invoice Paid Amount is added to the Patient Lifetime Value via a math function.
The opportunity value is updated with the patient lifetime value.
Important Considerations for Payments:
Nextech payment data does not tie to a specific appointment. Payments come in as isolated transactions with no relationship to a particular appointment or service, which limits how useful this data is for attribution.
Not recommended for plastic surgery practices. Because of how plastic surgery practices handle reconciliations, credits, billing adjustments, and payment plans, the payments data can create issues with projecting and reporting. Surgical practices often find it makes more sense to use manual Opportunity Value assignment -- reflecting actual signed quotes or the treatments/surgeries the patient is interested in -- rather than automated payment tracking.
Works well for non-surgical / med spa practices. Non-surgical transactions are typically straightforward and transactional, so the automated Patient Lifetime Value tracking from payments tends to be accurate and useful.
This trigger is optional. We can enable or disable the payments integration based on your needs. If you're unsure whether it's right for your practice, talk to your Aesthetix CRM team.
How to Create Patient in Nextech Cloud From Aesthetix CRM 2-Way Sync
Learn how the manual 2 way sync works between Aesthetix CRM and Nextech Cloud.
What triggers it: A tag called NXT-Create is added to a contact in Aesthetix CRM (either manually or via automation).
What happens:
The tag triggers a workflow in AX Connect that sends a create patient request to the Nextech API.
The patient is typically created in Nextech within 1 to 2 minutes, sometimes less.
Required fields in Aesthetix CRM:
To successfully create a patient in Nextech Cloud, the contact must have all five of the following fields populated:
First Name
Last Name
Date of Birth (Birthday)
Phone
For multi-location practices: We create a location field in Aesthetix CRM that maps to the different location IDs in Nextech, so you can specify which location the patient should be created in. This is configured during integration setup.
Common reasons for errors:
Missing or incorrectly formatted required fields (this is the most common cause)
The patient may already exist in Nextech
Note: Nextech Cloud has a more straightforward patient creation process compared to Nextech Practice Plus. See the Practice Plus help article for details on that integration's specific requirements.
For plastic surgery + med spa practices (and any practice using dual pipelines), the integration uses appointment categorization to route contacts to the correct pipeline and stage.
During integration setup, we pull all of your appointment types and purposes from the Nextech API and provide them to you for review. We do some initial categorization, but you must confirm all mappings are correct before we finalize. Incorrect categorization is the most common cause of contacts moving to the wrong pipeline stage.
Appointment Category: How It Works and Why It Matters To Your EMR Integration
Learn how to complete appointment category spreadsheet to move your opportunities to the right stage in the pipeline automatically.
Each appointment type is mapped to one of these appointment categories:
Surgical Consult
Surgical Appointment
Non-Surgical Consult
Non-Surgical Appointment
Block (does not update opportunities)
Pre-Op Appointment (does not update opportunities)
Post-Op Appointment (does not update opportunities)
Online Appointment
Important: Block, Pre-Op, and Post-Op appointment categories intentionally do not update opportunities. If an appointment is categorized as one of these, the contact will not be moved in the pipeline.
Surgical Pipeline:
Appointment Category | Status | Pipeline Stage |
Surgical Consult | Pending / Confirmed | Consult Booked |
Surgical Consult | Fulfilled | Consult Complete |
Surgical Consult | Cancelled / No-Show | Cancelled / No-Show |
Surgical Appointment | Pending / Confirmed | Surgery Scheduled |
Surgical Appointment | Fulfilled | Surgery Complete |
Surgical Appointment | Cancelled / No-Show | Cancelled / No-Show |
Non-Surgical Pipeline:
Appointment Category | Status | Pipeline Stage |
Non-Surgical Consult | Pending / Confirmed | Booked |
Non-Surgical Consult | Fulfilled | Patient |
Non-Surgical Consult | Cancelled / No-Show | Cancelled / No-Show |
Non-Surgical Appointment | Pending / Confirmed | Booked |
Non-Surgical Appointment | Fulfilled | Patient |
Non-Surgical Appointment | Cancelled / No-Show | Cancelled / No-Show |
The workflow also checks whether a contact is a lead or an existing patient:
Existing patients maintain a single "won" status throughout the pipeline as they move between stages. The same stage changes apply, but the opportunity status stays as won.
New leads keep an open status until their appointment is fulfilled, at which point they're moved to the appropriate completed/patient stage.
If a contact is in the wrong pipeline stage, check:
Contact Notes -- review the audit trail to see which appointments came in and in what order. A common issue is a cancelled status arriving after a rescheduled/booked appointment, which can cause the contact to move backward in the pipeline.
Appointment Category -- verify the appointment type is mapped to the correct category. If a note exists but the contact is in the wrong stage, the categorization is likely the issue.
No note at all -- if there's no note for an expected appointment, it means the event didn't come through the API. This could be a Nextech-side issue or a processing issue we can investigate.
Aesthetix CRM (GoHighLevel) does not currently expose the native Date of Birth field via API. To work around this, we create a custom field called NXT Birthday and bring in the birthday data from Nextech into that field.
A dedicated Birthday workflow then copies the value from the NXT Birthday custom field into the native Date of Birth field, keeping them in sync. This ensures that any birthday automations you've built in the CRM will work correctly using data from Nextech.
The Birthday workflow is triggered when a contact's appointment reaches the Fulfilled status.
Several workflows in your Aesthetix CRM account are hidden and locked. This is intentional -- these workflows contain the core integration logic, and modifications could break the integration. The locked workflows include:
NXT Appointments Update
NXT Payments Update
NXT Birthday
NXT Location Assignment (multi-location accounts)
If you need custom automation built on top of any of these, let us know and we can either unlock specific workflows or help you build triggers off of the tags and fields these workflows create.
All Nextech-specific fields are organized in a Nextech folder within your custom fields.
Custom Field Name | Type | Custom Value |
NXT Patient ID | Text |
|
NXT Appointment Type | Text |
|
NXT Appointment Date | Date |
|
NXT Appointment Status | Text |
|
NXT Appointment Location | Text |
|
NXT Appointment Practitioner | Text |
|
NXT Appointment Purpose | Text |
|
NXT Payment Status | Text |
|
NXT Last Payment Date | Date |
|
NXT Birthday | Date |
|
In addition to the Nextech-specific fields above, the integration also updates these standard Aesthetix CRM fields:
Next Visit Date (on pending/confirmed appointments)
Next Visit Service (on pending/confirmed appointments)
Last Visit Date (on fulfilled appointments)
Last Visit Service (on fulfilled appointments)
Appointment Category (for plastic surgery practices)
Invoice Paid Amount (if payments integration is enabled)
Patient Lifetime Value (if payments integration is enabled)
First Name, Last Name, Email, Phone
This is a polling integration, not webhook-based. Updates appear in Aesthetix CRM within 5 to 10 minutes of the action in Nextech, rather than the near-instant updates seen with webhook-based integrations.
Duplicate note entries are possible. Because we poll every 5 minutes, the same appointment modification can be caught multiple times if modifications occur within the polling window. This doesn't affect pipeline movement but can create extra notes.
Payment data does not tie to appointments. Nextech payments come in as isolated transactions. This is fine for non-surgical practices but can create issues for surgical practices with complex billing. The payments trigger is optional and not recommended for plastic surgery.
Appointment categorization is critical. Incorrect categorization is the most common cause of pipeline issues. Review the spreadsheet we provide during setup carefully, and contact us whenever you add new appointment types in Nextech.
Next Visit Date is date-only. The Aesthetix CRM API does not support date and time, so only the appointment date is stored (e.g., 3/12/2026).
Birthday requires a workaround. GoHighLevel's native Date of Birth field isn't accessible via API, so we use the NXT Birthday custom field and a sync workflow to keep them aligned. Birthday data is updated when an appointment is fulfilled.
Block, Pre-Op, and Post-Op categories don't move the pipeline. These appointment categories are intentionally excluded from opportunity updates.
Two-way sync requires five fields. To create a patient in Nextech from Aesthetix CRM, the contact must have first name, last name, email, phone, and date of birth populated before the NXT-Create tag is applied.
Q: How do I know if the integration received an appointment?
Check the contact's Notes tab. Every appointment event generates a note with the status, type, purpose, practitioner, location, date, and category. If there's no note, the event didn't come through the API.
Q: Why do I see the same appointment in the notes multiple times?
This is a known characteristic of polling integrations. If an appointment is modified multiple times within the 5-minute polling window, each modification is captured. It doesn't affect pipeline movement but can create extra notes.
Q: Why is a contact in the wrong pipeline stage?
The most common cause is incorrect appointment categorization. Check the contact's notes to see the appointment audit trail, then verify the appointment type is mapped to the correct category. Also check whether a cancellation was processed after a new booking -- this can cause a contact to appear to move backward.
Q: Should I enable the payments integration?
It depends on your practice type. For non-surgical / med spa practices, it works well and provides useful Patient Lifetime Value tracking. For plastic surgery practices, it's generally not recommended due to how payments are structured (no tie to appointments, complex billing/credits). Talk to your Aesthetix CRM team to decide.
Q: Why didn't a patient get created in Nextech after I added the NXT-Create tag?
The most common cause is missing or incorrectly formatted required fields (first name, last name, email, phone, date of birth). The patient may also already exist in Nextech.
How to Create Patient in Nextech Cloud From Aesthetix CRM 2-Way Sync
Learn how the manual 2 way sync works between Aesthetix CRM and Nextech Cloud.
Q: How does multi-location work?
We isolate the location name from the appointment payload and map it to the NXT Appointment Location custom field. For multi-location patient creation, we set up a location field that maps to your Nextech location IDs during integration setup.
Q: What's the difference between Nextech Cloud and Nextech Practice Plus?
They are very similar integrations but have a few small differences, particularly around patient creation requirements. See the Nextech Practice Plus help article for details.
Overview of Nextech Practice + Integration with Aesthetix CRM
Learn more about the fields, workflows, triggers, and actions available in the Nextech Practice Plus integration.