Before anything else, open the contact in Aesthetix CRM and click Notes.
Every time ModMed sends an update — a new appointment, a status change, a charge — the integration automatically logs it as a note on that contact. This is the fastest way to know whether the integration is working.
You see a note → Aesthetix CRM received the update. Keep reading to find out why something still looks wrong.
No note at all → Aesthetix CRM never received the update. Start troubleshooting from there.
The ModMed integration checks for new activity every 5 minutes. That means changes made in ModMed can take 5 to 10 minutes to appear in Aesthetix CRM.
Always wait at least 10 minutes before assuming something didn't sync.
Wait 10 minutes first. If it hasn't been that long since the appointment was booked, just wait and check again.
The appointment type might not be set up yet. Every appointment type in ModMed needs to be mapped during setup so Aesthetix CRM knows what to do with it. If someone added a new appointment type in ModMed after your integration went live, it won't be recognized yet.
Find the exact appointment type name as it appears in ModMed
Send that name to Aesthetix CRM support
Support will add it to your mapping — appointments of that type will sync correctly going forward
Lots of contacts are affected, not just one. Contact Aesthetix CRM support right away and include the date the problem started plus a few example patient names.
The appointment type is mapped to the wrong category. This is the most common reason a contact doesn't move — or moves to the wrong stage. The note will show you what category the integration assigned. If it's wrong, that's your answer.
Contact support with the appointment type and the correct category. Don't try to edit the workflows yourself — they're locked to protect the integration.
The appointment is Pre-Op, Post-Op, or Block. These three categories are set up to not move the pipeline — that's intentional. If the appointment falls into one of these, no stage change will happen and that's normal.
A cancellation came through after a reschedule. If a patient rescheduled and then the old appointment was marked cancelled, the cancellation may have synced last — making it look like the contact moved backward. Check the notes to see the order things came in. Recommendation is to cancel/delete the appointment first then book a new appointment.
There's no opportunity on the contact. The integration moves existing opportunities — it doesn't create new ones. If there's no opportunity on the record, create one manually in the right pipeline and future updates from ModMed will start moving it.
Surgical Pipeline:
Appointment Category | ModMed Status | Pipeline Stage |
Surgical Consult | Pending / Confirmed | Consult Booked |
Surgical Consult | Fulfilled / Checked-Out | Consult Complete |
Surgical Consult | Cancelled / No Show | Cancelled / No-Show |
Surgical Appointment | Pending / Confirmed | Surgery Scheduled |
Surgical Appointment | Fulfilled / Checked-Out | Surgery Complete |
Surgical Appointment | Cancelled / No Show | Cancelled / No-Show |
Non-Surgical Pipeline:
Appointment Category | ModMed Status | Pipeline Stage |
Non-Surgical Consult | Pending / Confirmed | Booked |
Non-Surgical Consult | Fulfilled / Checked-Out | Patient |
Non-Surgical Appointment | Pending / Confirmed | Booked |
Non-Surgical Appointment | Fulfilled / Checked-Out | Patient |
Non-Surgical Consult / Appointment | Cancelled / No Show | Cancelled / No-Show |
***Pre-Op, Post-Op, and Block appointments don't trigger any pipeline movement.
Here's when each field updates:
Next Visit Date — updates when an appointment is Confirmed in ModMed
Last Visit Date — updates when an appointment is marked Fulfilled or Checked-Out in ModMed
If a field didn't update:
Check the Notes tab to confirm the appointment event came through
Make sure the right status was set in ModMed — if the appointment was completed but never marked Fulfilled or Checked-Out, Last Visit Date won't update
If the note is there but the field is still blank, contact support and include a screenshot of the note
These fields store the date only — appointment times aren't included.
This comes from the Patient Charges trigger, which is optional.
Med spa / non-surgical practices: This generally works well and gives you accurate lifetime value data.
Plastic surgery practices: We don't recommend using the Patient Charges trigger. Surgical billing is more complex — credits, payment plans, and adjustments often result in numbers that don't look right. If you're a surgical practice and your lifetime value figures seem off, contact support to talk about turning off the charges trigger and tracking value manually instead.
To create a patient in ModMed from Aesthetix CRM, make sure all required fields are filled in on the contact, then apply the tag ModMed Create. The patient will appear in ModMed within a few minutes.
Required fields — all six must be filled in before adding the tag:
Field
Notes
First name | — |
Last name | — |
— | |
Phone number | — |
Date of birth | — |
Gender | — |
Still not working? The most common cause is a missing field. Double-check all six, remove the tag, and apply it again.
ModMed requires additional fields at your practice? Some practices configure ModMed to require extra information (like a full address) before a patient can be created. If that's the case at your practice, those fields need to be filled in too. Contact support if you're not sure what's required.
Patient already exists in ModMed? The system won't create a duplicate. Search by email and phone in ModMed before assuming it failed.
ModMed sends birthday data into a field called ModMed Birthday — not the standard Date of Birth field. A built-in workflow automatically copies it over to Date of Birth, but it only runs after the patient has had at least one completed appointment (Fulfilled or Checked-Out status).
If birthday automations aren't firing:
Open the contact and check that ModMed Birthday has a value
Check that the native Date of Birth field is also filled in
Confirm the patient has had at least one appointment reach Fulfilled or Checked-Out in ModMed
If ModMed Birthday is filled in but Date of Birth is empty, contact support
The main integration workflows are locked — but you can build on top of them. These tags and fields are automatically created by the integration and can be used as triggers in your own workflows:
Tags: Appointment Booked, Patient, Cancel/No-Show
Fields: Next Visit Date, Last Visit Date, ModMed Appt Status, ModMed Appt Type, ModMed Appt Description, ModMed Provider, ModMed Location, Patient Lifetime Value
Need a workflow unlocked or a new appointment type added? Contact Aesthetix CRM support.
The ModMed integration requires API credentials from ModMed before Aesthetix CRM can connect to your account. If your integration isn't working at all, the credentials may be missing, expired, or never provided.
To request API access from ModMed:
Email [email protected] (cc your Aesthetix CRM Implementation Manager) requesting that the API be enabled for the Aesthetix CRM integration
ModMed will confirm when access is enabled and send instructions for generating your API credentials
Share the FHIR username, FHIR password, and your practice prefix URL with your Aesthetix CRM Implementation Manager
Once credentials are received, Aesthetix CRM will also work with you on an Appointment Categorization spreadsheet — this maps your ModMed appointment types to the correct pipelines in Aesthetix CRM and must be reviewed and approved before the integration goes live.
What's happening | What to do |
No note after 10 minutes, one patient | Check the appointment type, then contact support |
No note, multiple patients affected | Contact support right away |
New appointment type not syncing | Send support the exact appointment type name |
Contact moved to the wrong pipeline stage | Send support the appointment type and correct stage |
Contact moved backward after a reschedule | Contact support to fix the pipeline stage |
Patient creation not working | Check all six required fields and re-apply the tag |
Patient already exists in ModMed | Search by email and phone before re-trying |
Birthday automation not running | Confirm a completed appointment exists, then contact support |
Lifetime value looks wrong (surgical practice) | Contact support to discuss turning off the charges trigger |
Integration not connected at all | Contact support — API credentials may need to be set up |
Need to customize a locked workflow | Contact support |