Opportunity & pipeline automation to decrease manual data entry and drive reporting efficiency
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 completed patient bills
Appointment categorization for dual-pipeline practices (plastic surgery + med spa)
Two-way sync to create patients in PatientNow Pro from Aesthetix CRM
The integration uses AX Connect, a HIPAA-compliant middleware platform that runs all integrations between Aesthetix CRM and your EMR.
The client must have paid API access with PatientNow, which requires a monthly integration fee of $149/month paid directly to PatientNow.
Aesthetix CRM does not collect any additional integration fee and completely sets up the integration for you.
This is a two-way sync between PatientNow Pro and Aesthetix CRM utilizing PatientNow webhooks and Aesthetix CRM actions. Webhooks enable near-instantaneous updates, typically within 30 to 45 seconds of the action being taken in PatientNow Pro.
The PatientNow Pro integration is one of our most diverse and deep integrations, with seven different workflows capturing data on the AX Connect side. Each sync event triggers a series of actions: we receive the webhook, enrich the data with additional API calls to PatientNow (patient details, appointment details, etc.), map it to the appropriate custom fields, and push it into Aesthetix CRM -- including adding the contact to the appropriate workflow for pipeline and automation processing.
Note: PatientNow Pro and PatientNow Essentials share the same custom fields in Aesthetix CRM. Some field names may be labeled differently between the two platforms, but they serve the same purpose.
What triggers it: Any update to a patient record in PatientNow Pro (name change, address update, etc.).
What happens:
We receive the webhook and format the phone number and gender for our system.
We create or update the contact in Aesthetix CRM with the updated information.
No workflow is triggered -- this simply keeps the contact record in sync.
Fields updated in Aesthetix CRM:
First Name, Last Name, Phone
PNOW ID
Gender
City, State, Address, Zip Code (if collected by the practice and configured)
What triggers it: A new patient is created in PatientNow Pro.
What happens:
We immediately create or update the contact in Aesthetix CRM with core contact information.
If the patient already exists in Aesthetix CRM, we simply update their existing record.
Fields updated in Aesthetix CRM:
First Name, Last Name, Email, Phone
Referral Source (if available)
PNOW ID
Gender
Important: PatientNow Pro allows you to create patients without an email or phone number. However, Aesthetix CRM requires at least an email or phone to create a contact. If neither is present, the contact will not be created in the CRM.
What triggers it: A new appointment is created in PatientNow Pro.
What happens:
We receive the webhook and format the Next Visit Date from PatientNow.
We make a GET patient request to pull full details about the patient.
We format phone and gender for our system.
For plastic surgery + med spa accounts: We perform appointment categorization to classify the appointment type into the correct category, which determines the pipeline stage the contact moves to.
We update the contact in Aesthetix CRM and add them to the PatientNow Appointments Update workflow.
Fields updated in Aesthetix CRM:
First Name, Last Name, Email, Phone
PNOW Primary Employee (provider)
Next Visit Service
Next Visit Date
Gender
PNOW Location (facility)
Lead Status
Appointment Category
PNOW Appointment Comments
PNOW Event Type
PNOW Last Appointment ID
PNOW Appointment Reason
Workflow actions in Aesthetix CRM:
The contact is added to the PatientNow Appointments Update workflow, which handles all pipeline movement logic (see the Appointment Categorization & Pipeline Logic section below).
A contact note is added with: appointment status, event type, appointment reason, appointment category, and appointment ID.
What triggers it: An appointment status changes in PatientNow Pro. The key statuses captured are: Checkout (checked out/completed), Cancelled, and No-Show.
What happens:
The workflow mirrors the New Appointment Booked flow in terms of data collection -- we pull patient information, format it, and perform appointment categorization.
All the same fields are updated, except Next Visit Service and Next Visit Date (since this is a status change, not a new booking).
The contact is added to the same PatientNow Appointments Update workflow for pipeline movement.
What triggers it: A new patient bill is completed (payment processed) in PatientNow Pro.
What happens:
We receive the webhook and pull patient details.
We extract all line items from the bill into a comma-separated string (e.g., "Botox, Dysport, Hydrafacial") and use this as the Last Visit Service.
We capture the invoice amount, invoice ID, date of birth, and provider.
The contact is added to the PatientNow Order Paid workflow in Aesthetix CRM.
Fields updated in Aesthetix CRM:
Invoice Paid Amount
PNOW Last Order ID
PNOW DOB (Date of Birth)
PNOW Primary Employee (provider)
Last Visit Service (from invoice line items)
Workflow actions in Aesthetix CRM:
A contact note is added with: order total, line items, and order ID.
The contact is added to the Birthday workflow (see Birthday Field Sync section below).
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.
Note on surgical vs. non-surgical opportunity updates: By default, opportunity values are updated on the non-surgical pipeline. If you would like opportunity values updated on the surgical pipeline as well, this is available -- request it as part of your integration setup.
What triggers it: A new membership is created in PatientNow Pro.
What happens:
We pull patient details, phone, gender, and the membership start date.
We update the contact in Aesthetix CRM with membership information.
The contact is added to the Membership Update workflow.
Fields updated in Aesthetix CRM:
PNOW Membership ID
PNOW Membership Program Name
PNOW Membership Sold Date
Workflow actions in Aesthetix CRM:
A Membership tag is added to the contact.
The tag can optionally be made dynamic based on the membership name (e.g., "Membership - VIP Gold").
Customization Available: We can move this out of the locked workflows if you'd like to build custom automations. You can also use the Membership tag as a trigger in your own workflows to send email or SMS drip campaigns to new members.
What triggers it: A tag called pnowcreate 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 PatientNow Pro.
The patient is created in PatientNow Pro within approximately 30 seconds to 1 minute.
Required fields in Aesthetix CRM:
To successfully create a patient in PatientNow Pro, the contact must have the following fields populated:
First Name
Last Name
Gender
Common reasons for errors:
Missing required fields (first name, last name, or gender)
The patient already exists in PatientNow Pro
If you're not seeing a patient get created, contact support -- these are the two most common causes.
How to Create a Patient in PatientNow Pro From Aesthetix CRM
Here is a step by step video for creating a patient in PNP from Aesthetix CRM
For plastic surgery + med spa practices, the integration uses appointment categorization to route contacts to the correct pipeline and stage. This is one of the most powerful aspects of the PatientNow Pro integration.
Each appointment type in PatientNow Pro is mapped to one of these appointment categories:
Surgical Consult
Surgical Appointment
Non-Surgical Consult
Non-Surgical Appointment
Block (does not update opportunities)
Post-Op (does not update opportunities)
Pre-Op (does not update opportunities)
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.
Important: Block, Post-Op, and Pre-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 | Booked | Consult Booked |
Surgical Consult | Checked Out | Consult Complete |
Surgical Consult | Cancelled / No-Show | Cancelled / No-Show |
Surgical Appointment | Booked | Surgery Scheduled |
Surgical Appointment | Checked Out | Surgery Complete |
Surgical Appointment | Cancelled / No-Show | Cancelled / No-Show |
Non-Surgical Pipeline:
Appointment Category | Status | Pipeline Stage |
Non-Surgical Consult | Booked | Booked |
Non-Surgical Consult | Checked Out | Patient |
Non-Surgical Appointment | Booked | Booked |
Non-Surgical Appointment | Checked Out | Patient |
Non-Surgical Consult/Appt | Cancelled / No-Show | Cancelled / No-Show |
Note for non-surgical-only practices: If your non-surgical practice performs consults and treatments on separate days (rather than same-day), we can configure Consult Booked and Consult Completed stages on your non-surgical pipeline as well. Let us know during integration setup.
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.
New leads keep an open status until they check out, at which point they're moved to the appropriate completed/patient stage.
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 PNOW DOB and bring in the birthday data from PatientNow Pro into that field.
A dedicated Birthday workflow then copies the value from the PNOW DOB 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 PatientNow Pro.
The Birthday workflow is triggered when a contact enters the Patient Bill Completed / Order Paid workflow, since we typically have the date of birth information at that point.
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:
PatientNow Appointments Update
PatientNow Order Paid
PatientNow Membership Update
PatientNow Birthday
If you need custom automation built on top of any of these (for example, a membership drip campaign), 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 PatientNow-specific fields are organized in a PatientNow folder within your custom fields. These fields are shared between PatientNow Pro and PatientNow Essentials integrations.
Custom Field Name
Type
Custom Value
PNOW ID | Text |
|
PNOW Appt Status | Text |
|
PNOW Location | Text |
|
PNOW DOB | Date |
|
PNOW Unsubscribed | Single Options |
|
PNOW Last Order ID | Text |
|
PNOW Last Appt ID | Text |
|
PNOW Membership Sold Date | Date |
|
PNOW Membership Program Name | Text |
|
PNOW Membership ID | Text |
|
PNOW Membership Amount | Monetary |
|
PNOW Primary Employee | Text |
|
PNOW Event Type | Text |
|
PNOW Appt Reason | Text |
|
PNOW Appt Comments | Text |
|
In addition to the PatientNow-specific fields above, the integration also updates these standard Aesthetix CRM fields:
Next Visit Date
Next Visit Service
Last Visit Service (from invoice line items)
Last Visit Date (from checkout status)
Patient Lifetime Value
Invoice Paid Amount
Lead Status
Appointment Category
Gender
Contact Type
First Name, Last Name, Email, Phone
City, State, Address, Zip Code (if configured)
Email or phone is required. PatientNow Pro allows creating patients without an email or phone, but Aesthetix CRM requires at least one. Patients missing both will not sync to the CRM.
Last Visit Service comes from the patient bill, not the appointment. The invoice line items are extracted as a comma-separated string and stored as Last Visit Service when the bill is completed.
Birthday requires a workaround. GoHighLevel's native Date of Birth field isn't accessible via API, so we use the PNOW DOB custom field and a sync workflow to keep them aligned.
Surgical opportunity value updates are opt-in. By default, only non-surgical pipeline opportunities get their values updated with Patient Lifetime Value. Request surgical pipeline updates during setup if needed.
Block, Post-Op, and Pre-Op categories don't move the pipeline. These appointment categories are intentionally excluded from opportunity updates. If a contact isn't moving in the pipeline, check whether their appointment is categorized as one of these.
Two-way sync requires specific fields. To create a patient in PatientNow Pro from Aesthetix CRM, the contact must have first name, last name, and gender populated before the pnowcreate tag is applied.
Custom fields are shared between Pro and Essentials. If you migrate between PatientNow versions, the same fields carry over.
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 appointment status, event type, appointment reason, appointment category, and appointment ID. If there's no note, we didn't receive the event.
Q: Why is a contact stuck in the wrong pipeline stage?
Review the contact's notes for the audit trail. Common causes include: the appointment being categorized as Block/Post-Op/Pre-Op (which don't update opportunities), an incorrect appointment category mapping, or a missing webhook event. Contact support if you need help investigating.
Q: Why didn't a patient get created in PatientNow Pro after I added the pnow-create tag?
The two most common causes are: missing required fields (first name, last name, or gender) or the patient already existing in PatientNow Pro. Contact support if neither of these applies.
Q: Can I build custom automations off the integration?
Yes. You can use the tags added by our workflows (e.g., Membership) as triggers for your own workflows. You can also trigger off custom field changes. If you need a locked workflow unlocked for customization, contact us.
Q: How do appointment categories get mapped?
During integration setup, we work with you to classify each of your PatientNow Pro appointment types into the appropriate category (Surgical Consult, Surgical Appointment, Non-Surgical Consult, Non-Surgical Appointment, Block, Post-Op, Pre-Op). If you add new appointment types later, contact us to get them categorized.
Q: Does the integration support multi-location practices?
Yes. PatientNow Pro location data is captured and mapped to the PNOW Location field, and contacts are routed to the correct Aesthetix CRM sub-account.