---
title: "Boulevard Integration Troubleshooting Guide"
description: "Troubleshoot the Boulevard integration: missing notes, pipeline stages that didn't move, Patient Lifetime Value, the EMR Appointments calendar, duplicate texts and blvd-create."
url: https://help.aesthetixcrm.com/en/articles/2161-boulevard-integration-troubleshooting-guide
collection: "Boulevard"
updated: 2026-10-29
language: en
---

# Boulevard Integration Troubleshooting Guide

Troubleshoot the Boulevard integration: missing notes, pipeline stages that didn't move, Patient Lifetime Value, the EMR Appointments calendar, duplicate texts and blvd-create.

Work through this guide when something in Boulevard did not reach Aesthetix CRM, or reached it and looks wrong. For how the integration works end to end, see [Overview of Boulevard Integration with Aesthetix CRM](https://help.aesthetixcrm.com/en/articles/1063.md).

**First, check which connection you have.** Boulevard connects to Aesthetix CRM either through **AX Connect** (recommended, HIPAA compliant) or through **Zapier**. Cancellation and no-show handling, duplicate protection and the EMR Appointments calendar are AX Connect only, so the sections about them don't apply to a Zapier account. If you aren't sure which you have, contact support.

## First step: check the Notes tab

Before anything else, open the contact in Aesthetix CRM and click **Notes**.

Every appointment change and every order the integration sends is logged as a note on the contact:

-   **A booking or reschedule** notes the service, status and appointment date.
    
-   **A completed appointment** notes the status and service.
    
-   **A cancellation or no-show** notes which it was, with the service and date.
    
-   **A completed order** notes the order line items and the invoice paid amount.
    
-   **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 from the sections below.
    

* * *

## Before you troubleshoot: how quickly updates arrive

Boulevard sends Aesthetix CRM a webhook every time an appointment or order changes, so updates are not on a schedule and usually are not delayed.

-   **Most updates arrive within seconds.**
    
-   **New bookings and reschedules wait about one minute** on purpose, so that a cancellation or a completed visit entered at the same moment is applied in the right order.
    
-   **A rare delivery error can miss one update.** If that happens, the appointment's next change in Boulevard brings the contact and the calendar back up to date.
    

Wait about five minutes before assuming something didn't sync.

### What does not reach Aesthetix CRM

Several things are filtered out on purpose, so no note is expected and nothing is broken:

-   **Repeat and no-change events.** Boulevard sometimes sends the same event twice, or an update where nothing changed. Those are skipped so a contact isn't noted or moved twice for the same thing.
    
-   **A late booking event for a finished visit.** If a booking webhook arrives after the appointment was already completed, cancelled or marked a no-show, it is ignored rather than pulling the contact back to Booked.
    
-   **Staff blocked time.** Boulevard Timeblocks are not patient appointments and never reach the CRM.
    
-   **Merged and Mistake cancellations.** These are housekeeping, not a patient cancelling, so the contact and opportunity are left alone.
    
-   **Small edits to an appointment.** A reschedule is sent only when the date, time, service, staff or location changed.
    
-   **Clients with no usable contact details.** Placeholder emails and phone numbers (for example `none@none.com` or `555-555-5555`) are not used, so different patients are never merged into one contact. A client with neither a valid email nor a valid phone number is skipped.
    
-   **A repeat delivery of an order.** Each order is added to Patient Lifetime Value once.
    

* * *

## "The contact didn't move in the pipeline"

### There's no note on the contact

**Wait five minutes first.** A booking or reschedule waits about a minute by design.

**Check the client's email and phone number in Boulevard.** A client with neither a valid email nor a valid phone number is not sent at all. Add a real email or mobile number in Boulevard, and the next change to their appointment comes through.

**Check whether it was blocked time.** A Boulevard Timeblock never reaches the CRM.

**Check whether the appointment was already finished.** A booking event that arrives after the visit was completed, cancelled or marked a no-show is ignored on purpose.

**Several contacts affected over the same period.** Contact support right away with the date the problem started and two or three example client names.

### There's a note, but the pipeline didn't move

**The opportunity was already past Booked.** This is the most common cause. A cancellation or no-show only moves an opportunity that is still at **Lead, New Lead, Replied, Pre-Qualify Call or Booked**. An opportunity at Consult Complete, Patient or a later stage is never moved backwards. This is deliberate, so a late cancellation can't undo a patient's history.

**It was a Merged or Mistake cancellation.** The contact and opportunity are left alone, and the calendar entry is marked Invalid so it doesn't count in your reports.

**The contact has no opportunity in the Lead 2 Patient pipeline.** The integration updates an existing opportunity. If there is none, there is no stage to move.

**Your practice has a custom cancellation setup.** Some accounts use separate surgical and non-surgical pipelines, or add a cancellation tag for a rebooking campaign. If you aren't sure how cancellations are set up in your account, contact support.

* * *

## Pipeline and field reference

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p><strong>In Boulevard</strong></p></th><th colspan="1" rowspan="1"><p><strong>Lead 2 Patient stage</strong></p></th><th colspan="1" rowspan="1"><p><strong>What else changes</strong></p></th></tr><tr><td colspan="1" rowspan="1"><p>Booked or rescheduled</p></td><td colspan="1" rowspan="1"><p>Booked</p></td><td colspan="1" rowspan="1"><p>Lead Status set to Booked, Appointment Booked tag added, Next Visit Date and Service updated</p></td></tr><tr><td colspan="1" rowspan="1"><p>Completed</p></td><td colspan="1" rowspan="1"><p>Patient, with a won status</p></td><td colspan="1" rowspan="1"><p>Appointment Booked tag removed, a lead's Contact Type becomes Patient and a Patient tag is added, Last Visit Date and Service updated, opportunity value set from Patient Lifetime Value</p></td></tr><tr><td colspan="1" rowspan="1"><p>Cancelled or No-show</p></td><td colspan="1" rowspan="1"><p>Cancel / No Show, only from an early stage</p></td><td colspan="1" rowspan="1"><p>Lead Status set to Canceled or No Show</p></td></tr><tr><td colspan="1" rowspan="1"><p>Merged or Mistake</p></td><td colspan="1" rowspan="1"><p>No change</p></td><td colspan="1" rowspan="1"><p>Calendar entry marked Invalid</p></td></tr><tr><td colspan="1" rowspan="1"><p>Order completed</p></td><td colspan="1" rowspan="1"><p>No stage change</p></td><td colspan="1" rowspan="1"><p>Invoice Paid Amount and Patient Lifetime Value updated, opportunity value updated</p></td></tr></tbody></table>

* * *

## "Next Visit or Last Visit didn't update"

-   **Next Visit Date and Next Visit Service** update when an appointment is created or rescheduled.
    
-   **Last Visit Date and Last Visit Service** update when an appointment is completed.
    
-   **Cancellations and no-shows change neither.** They set Lead Status to Canceled or No Show instead.
    

If a field didn't update:

1.  Check the Notes tab to confirm the change came through.
    
2.  Check the status in Boulevard. An appointment that happened but was never marked completed does not update Last Visit.
    
3.  Remember that both fields store the date only, in your location's time zone, so an evening appointment is dated the day it happens.
    
4.  If the note is there but the field is still blank, contact support with a screenshot of the note.
    

**Several services on one appointment** arrive as a single comma-separated value, for example "Botox, Filler, Hydrafacial", in the service fields and in the calendar event title.

**Don't build on the BLVD date fields.** BLVD Appointment Date and BLVD Last Appointment are filled in only at practices set up to use them, and BLVD Appointment Count is never filled in by the integration. Use Next Visit and Last Visit instead. See [Understanding Next Visit & Last Visit Fields in EMR Integrations](https://help.aesthetixcrm.com/en/articles/1245.md).

* * *

## "Patient Lifetime Value or Invoice Paid Amount looks wrong"

**Patient Lifetime Value comes from completed orders, not from appointments.** A completed appointment that was never checked out through Boulevard adds nothing, so a patient can have visits and no lifetime value.

-   Every point-of-sale transaction counts: services, memberships, gift cards, retail products and anything else through Boulevard's checkout.
    
-   Each order is counted once, even if Boulevard delivers it twice.
    
-   The opportunity value is updated with Patient Lifetime Value when an order is paid, and again when an appointment is completed.
    
-   Orders never appear on the EMR Appointments calendar. Only appointments do.
    

If a total still looks wrong, contact support with the client's name and the order date so we can review it.

* * *

## "An appointment is missing from the EMR Appointments calendar"

The **EMR Appointments** calendar is a silent mirror of your Boulevard schedule, so the CRM's calendar view and appointment reports match Boulevard. It is included with AX Connect and is not available through Zapier.

An appointment doesn't appear when:

-   **It hasn't changed since the calendar went live.** The calendar covers appointments created or changed in Boulevard from late October 2026 onward. An older appointment appears the next time it changes in Boulevard.
    
-   **It's staff blocked time.** Timeblocks are never sent.
    
-   **It's a Merged or Mistake appointment.** These are marked Invalid so they don't count in reports.
    
-   **The client has no usable email or phone number.** Those clients are skipped entirely.
    
-   **You're looking at the wrong calendar.** A practice with several Boulevard locations gets one calendar per location, named **EMR Appointments · \[location name\]**, each in its own color.
    

**Don't book or edit on this calendar.** An appointment booked there is not sent to Boulevard, and any change you make to a synced event is replaced the next time the appointment changes in Boulevard. Book in Boulevard as usual. Please also leave the calendar's notification settings alone: we check every day that it stays silent.

* * *

## "Patients are getting duplicate texts or emails"

Boulevard appointments are real appointments on a CRM calendar, so your own workflows can react to them.

-   An **Appointment Status** trigger with no calendar filter fires for every Boulevard appointment: once when it's added as Confirmed, and again on each status change to Showed, Cancelled, No-show or Invalid. If you built a reminder or follow-up that way, patients can get a second message on top of Boulevard's own.
    
-   Add an **In Calendar** filter so each workflow only runs for the calendars it is meant for.
    
-   A **Customer Booked Appointment** trigger does not fire for synced appointments. That trigger is for bookings made through a booking link or widget.
    
-   **The workflows we install are not affected.** They are limited to their own calendars, and the Boulevard workflows run from the integration rather than from calendar triggers.
    
-   **You can use this on purpose.** An Appointment Status trigger filtered to your EMR Appointments calendar, for example on No-show, is a clean way to automate from Boulevard statuses. Contact support if you'd like help setting one up.
    

See [Appointment Triggers](https://help.aesthetixcrm.com/en/articles/1421.md) for how the filters work.

* * *

## "A client I added in Aesthetix CRM isn't showing up in Boulevard"

To create a client in Boulevard from Aesthetix CRM, add the tag **blvd-create** to the contact. This is available with AX Connect only and is included in your standard integration fee. It is not available through Zapier.

-   Make sure the contact's first name, last name, email and phone number are filled in first.
    
-   Search Boulevard by email and phone before assuming it failed, in case the client already exists.
    
-   If adding the tag does nothing, contact support with the contact's name.
    

* * *

## "Birthday automations aren't running for Boulevard patients"

Boulevard birthdays arrive in a custom field called **BLVD DOB**, not the native Date of Birth field, and a dedicated Birthday workflow copies the value across.

**The Birthday workflow starts when a contact enters the Order Paid workflow.** That means a patient who has had appointments but has never had a completed order in Boulevard can have BLVD DOB filled in and the native Date of Birth still empty, so birthday automations built on the native field won't include them yet.

If birthday automations are not firing:

1.  Open the contact and check that **BLVD DOB** has a value.
    
2.  Check whether the native **Date of Birth** field is filled in.
    
3.  Confirm the patient has had at least one completed order in Boulevard.
    
4.  If BLVD DOB is filled in and Date of Birth is still empty after a completed order, contact support.
    

* * *

## "I want to add my own automations on top of the integration"

The integration workflows are locked, but everything they write is available to build on.

**Tags the integration uses:** **Appointment Booked** is added when an appointment is booked and removed when it's completed, and **Patient** is added when a lead becomes a patient. The standard cancellation setup adds no tag, so cancelled and no-show patients don't start a rebooking campaign on their own. If you'd like them to, contact support and we'll set it up.

**Fields you can trigger from:** Next Visit Date, Next Visit Service, Last Visit Date, Last Visit Service, Lead Status, Contact Type, Invoice Paid Amount, Patient Lifetime Value, BLVD Client ID, BLVD Location Name, BLVD Service Name, BLVD DOB.

**Filter your appointment workflows** to the calendars they're meant for, as described above.

Need a locked workflow customized, or a custom build such as membership webhooks, client sync, marketing preference sync or referral rewards? Contact Aesthetix CRM support.

* * *

## If your account uses Zapier

Zapier is not HIPAA compliant, and we always recommend AX Connect with Boulevard's Enterprise plan instead. On a Zapier connection these features are not available:

-   Cancellation and no-show handling, including the Lead Status change and the pipeline move
    
-   Duplicate protection, so the same event can be applied twice
    
-   The EMR Appointments calendar
    
-   Creating a client in Boulevard with the blvd-create tag
    

If you're troubleshooting one of those on a Zapier account, the answer is usually that the feature isn't part of that connection. Contact support about moving to AX Connect.

* * *

## When to contact support

<table style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p><strong>What's happening</strong></p></th><th colspan="1" rowspan="1"><p><strong>What to do</strong></p></th></tr><tr><td colspan="1" rowspan="1"><p>No note after five minutes, one appointment</p></td><td colspan="1" rowspan="1"><p>Check the client's email and phone in Boulevard, and whether it was blocked time</p></td></tr><tr><td colspan="1" rowspan="1"><p>No note, several clients affected</p></td><td colspan="1" rowspan="1"><p>Contact support right away with the date it started</p></td></tr><tr><td colspan="1" rowspan="1"><p>Contact in the wrong pipeline stage</p></td><td colspan="1" rowspan="1"><p>Check whether the opportunity was already past Booked, then contact support</p></td></tr><tr><td colspan="1" rowspan="1"><p>Cancellation didn't move the opportunity</p></td><td colspan="1" rowspan="1"><p>Expected when the opportunity is at Consult Complete, Patient or later</p></td></tr><tr><td colspan="1" rowspan="1"><p>Cancelled patients aren't entering a rebooking campaign</p></td><td colspan="1" rowspan="1"><p>Contact support to add a cancellation tag</p></td></tr><tr><td colspan="1" rowspan="1"><p>Patient Lifetime Value looks wrong</p></td><td colspan="1" rowspan="1"><p>Contact support with the client's name and order date</p></td></tr><tr><td colspan="1" rowspan="1"><p>Appointment missing from the calendar</p></td><td colspan="1" rowspan="1"><p>Confirm it changed in Boulevard after late October 2026</p></td></tr><tr><td colspan="1" rowspan="1"><p>Patients getting duplicate appointment messages</p></td><td colspan="1" rowspan="1"><p>Add In Calendar filters to your Appointment Status workflows</p></td></tr><tr><td colspan="1" rowspan="1"><p>blvd-create isn't creating a client</p></td><td colspan="1" rowspan="1"><p>Check the contact's name, email and phone, then contact support</p></td></tr><tr><td colspan="1" rowspan="1"><p>Birthday not copying to Date of Birth</p></td><td colspan="1" rowspan="1"><p>Confirm a completed order exists, then contact support</p></td></tr><tr><td colspan="1" rowspan="1"><p>Need a locked workflow customized</p></td><td colspan="1" rowspan="1"><p>Contact support</p></td></tr></tbody></table>

* * *

## Frequently Asked Questions

**How long should I wait before reporting a sync issue?**

About five minutes. Most updates arrive within seconds, and bookings and reschedules wait about a minute on purpose so updates apply in the right order.

**A patient cancelled but their opportunity didn't move. Why?**

A cancellation only moves an opportunity still at Lead, New Lead, Replied, Pre-Qualify Call or Booked. One at Consult Complete, Patient or later is never moved backwards, so a late cancellation can't undo a patient's history.

**Why didn't a cancellation start our rebooking campaign?**

The standard setup records the cancellation and sets Lead Status, but it adds no tag, so nothing starts a campaign on its own. Contact support and we can add a cancellation tag for you.

**A patient has visits but no Patient Lifetime Value. Why?**

Lifetime value comes from completed orders, not appointments. A visit that was never checked out through Boulevard adds nothing.

**Why is one appointment showing several services in one field?**

Multi-service appointments arrive as a single comma-separated value, for example "Botox, Filler, Hydrafacial", in the service fields and in the calendar event title.

**Can I fix a wrong appointment on the EMR Appointments calendar?**

No. Make the change in Boulevard. An appointment booked on that calendar is never sent to Boulevard, and edits to synced events are replaced the next time the appointment changes in Boulevard.

**Why did my reminder workflow text a patient about a Boulevard appointment?**

An Appointment Status trigger with no calendar filter fires for every synced Boulevard appointment. Add an In Calendar filter to that workflow.

**Why is the native Date of Birth field empty when BLVD DOB has a value?**

The workflow that copies the birthday across runs when a contact enters the Order Paid workflow, so it fills in after the patient's first completed order.

* * *

## Need Help?

Contact Aesthetix CRM support through the help widget in your account or by email. For a sync issue, include the client's name, the appointment or order date in Boulevard, and a screenshot of the contact's Notes tab. For custom automations built on the Boulevard fields, the EMR Appointments calendar or your pipelines, submit a Custom Build Request.

* * *

## Related articles

-   [Overview of Boulevard Integration with Aesthetix CRM](https://help.aesthetixcrm.com/en/articles/1063.md)
    
-   [Understanding Next Visit & Last Visit Fields in EMR Integrations](https://help.aesthetixcrm.com/en/articles/1245.md)
    
-   [Appointment Triggers](https://help.aesthetixcrm.com/en/articles/1421.md)
