Aesthetix Rewards writes loyalty data into Aesthetix CRM using a set of custom fields on each patient's contact record. This article explains every field Aesthetix Rewards creates, what each one holds, and exactly when and how it updates. Use it when you're building email or SMS templates, or setting up workflow automations, that reference Rewards data: points, tiers, memberships, referral codes, or a patient's most recent Rewards activity.
Aesthetix Rewards creates two categories of custom fields:
Sync fields are a snapshot of the patient's current Rewards status (points, tiers, membership, referral code, and your program name). They refresh in bulk every night, and on demand when you run a manual sync.
Event fields hold the details of the patient's most recent Rewards event (for example, points earned or a reward redeemed). They update in real time, the moment a workflow-enabled event happens for that patient.
All of these fields live on the patient's contact record in Aesthetix CRM, so you can merge them into messages and branch on them in workflows.
Before any data can sync, the fields need to be created once. In your Aesthetix Rewards admin, go to Settings → Integrations and click Create Custom Fields. This adds every field below to your connected Aesthetix CRM account.
You only need to do this once per account. After the fields exist, syncing happens automatically.
A field only updates when all of the following are true:
Your practice is connected to Aesthetix CRM.
The custom fields have been created (see above).
The patient is linked to a contact in Aesthetix CRM.
For sync fields: the patient has CRM sync enabled.
For event fields: the workflow trigger for that event type is turned on in Aesthetix Rewards.
If any of these isn't met, the field simply isn't written, and it keeps whatever value it had before. So an out-of-date field usually means one of these conditions wasn't met, not that the underlying data is wrong.
These refresh every night automatically, and any time you run a manual sync (Sync Now).
Field Name | What It Holds |
AX Points Balance | The patient's current available points balance (0 if they have none). |
AX Lifetime Points | Total points the patient has earned over the life of the program (0 if none). |
AX Loyalty Tier | The patient's current loyalty tier, based on their lifetime points (the highest tier whose point threshold they've reached). Blank if they haven't reached a tier. |
AX Membership Tier | The name of the patient's active membership tier. Blank if they have no active membership. |
AX Membership Status | The status of the patient's active membership. Blank if they have no active membership. |
AX Referral Code | The patient's unique referral code. |
AX Program Name | Your practice's Rewards program name. |
A couple of notes:
AX Program Name is the same for every synced patient. It's your program's name, not something patient-specific, and it's designed to be used as a greeting merge field, for example "Welcome to {{ AX Program Name }}."
The sync runs nightly for every patient with sync enabled, once the custom fields exist. You can also trigger it immediately with Sync Now.
These update in real time whenever a workflow-enabled Rewards event happens for a patient. They always describe that patient's single most recent event.
Field name | What it holds |
AX Last Event Type | A readable name for the most recent event, for example "Points Earned" or "Reward Redeemed." (Full list below.) |
AX Last Event Points | The points tied to that event. Positive when points were earned, negative when points were spent on a redemption, and 0 when the event has no points involved. |
AX Last Event Name | A short label for the event (for example, the reward name or membership tier). |
AX Last Event Description | A short description of the event. |
AX Last Event Date | The date the event happened, formatted like "July 1, 2026." |
There are three behaviors worth knowing before you build automations on these fields:
AX Last Event Points is always refreshed. Every event overwrites this field. When the most recent event has no points involved (for example, points expiring, a membership starting, or a win-back reminder), the field is set to 0 rather than left showing an old number. A reward redemption writes a negative value equal to the points spent. This means the field never shows a stale amount left over from a previous event.
AX Last Event Name and AX Last Event Description only change when the new event includes them. Some events don't provide a name or description (for example, points expiring or a win-back reminder). When that happens, these two fields keep the value from the previous event. If you use them in a message, keep in mind they can reflect an earlier event than AX Last Event Type or AX Last Event Date do.
AX Last Event Date is stored as text (for display). It's meant for showing a date inside a message, not for date math inside a workflow.
The table below shows each Rewards event that updates the event fields, when it fires, and what gets written. The value in the first column is exactly what appears in AX Last Event Type, so use it verbatim when you set up workflow conditions.
AX Last Event Type Value | When It Fires | AX Last Event Points | Event name / description |
Points Earned | A patient earns points | The points earned (positive) | The action that earned the points, plus a short "earned N points" note |
Reward Redeemed | A patient redeems a reward | Negative (the points spent) | The reward name and a short confirmation |
Referral Converted | A patient's referral books or completes their first appointment | The points awarded to the referrer (positive) | A short confirmation that the referral converted |
Points Expiring Soon | A patient has points about to expire | 0 | None |
Membership Started | A patient's membership begins | 0 | The membership tier name and a welcome message |
Promotion Started | A promotion the patient qualifies for begins | Bonus points for fixed-amount promotions, 0 for point-multiplier promotions | The promotion name and its run dates |
We Miss You | A patient is flagged inactive (win-back) | 0 | None |
Two of the event names aren't what you might guess: an expiring-points event shows up as Points Expiring Soon, and an inactive-patient (win-back) event shows up as We Miss You. Match those exact strings in your workflow conditions.
Once the fields exist and are syncing, you can put them to work in two main ways.
Personalize messages. Insert any field as a merge field in an email or SMS using the merge field (custom values) picker in the editor. For example, greet patients with your program name, show their current points balance, or reference their loyalty tier. Always insert fields from the picker rather than typing the tag by hand, so the correct field is referenced every time.
Trigger and branch workflows. Build a workflow that watches AX Last Event Type and branches on the value. For example, send a thank-you when the value is "Points Earned," a redemption confirmation when it's "Reward Redeemed," or a win-back offer when it's "We Miss You." For event-based automations to fire, make sure the workflow trigger for that event type is turned on in Aesthetix Rewards.
Challenge completion. Completing a challenge does not currently update any custom field or trigger a workflow event. There is no "challenge completed" event today, so you can't yet branch a workflow on a patient finishing a challenge. If this becomes available, it will be documented here.
Where do these fields appear in Aesthetix CRM?
On the patient's contact record, in the custom fields area. From there you can use them as merge fields in emails and SMS, and as conditions in workflows.
How do I create the fields in the first place?
In your Aesthetix Rewards admin, go to Settings → Integrations and click Create Custom Fields. You only need to do this once per account.
How often do the sync fields update?
Automatically every night, plus any time you run a manual sync with Sync Now. The event fields, by contrast, update in real time as events happen.
A patient's field hasn't updated. Why?
Usually one of the update conditions wasn't met: the custom fields haven't been created, the patient isn't linked to a CRM contact, the patient doesn't have CRM sync enabled (for sync fields), or the workflow trigger for that event type is turned off (for event fields). When a condition isn't met, the field keeps its previous value rather than updating.
Why is AX Last Event Points showing 0?
Because the patient's most recent event had no points involved, such as points expiring, a membership starting, or a win-back reminder. This field is always refreshed on every event, so it shows 0 instead of an old amount from an earlier event.
Why is AX Last Event Points showing a negative number?
A reward redemption writes a negative value equal to the points the patient spent. That's expected behavior.
Why does AX Last Event Name or AX Last Event Description show an older event?
Those two fields are only overwritten when the newest event provides a name or description. If the most recent event doesn't include one (for example, points expiring or a win-back reminder), the field keeps the value from the previous event. AX Last Event Type and AX Last Event Date always reflect the newest event.
Can I trigger Aesthetix CRM workflows off Rewards activity?
Yes. Use AX Last Event Type as a workflow condition and match the exact value (for example, "Points Earned"). Make sure the workflow trigger for that event type is enabled in Aesthetix Rewards, otherwise the event fields won't update and the workflow won't fire.
Is AX Program Name different for each patient?
No. It's your practice's Rewards program name, so every synced patient gets the same value. It's meant to be used as a merge field in greetings, for example "Welcome to {{ AX Program Name }}."
Can I do date calculations on AX Last Event Date?
No. That field is stored as text for display purposes (for example, "July 1, 2026"). Use it to show a date in a message, not to calculate time inside a workflow.
What's the difference between sync fields and event fields again?
Sync fields are a nightly snapshot of the patient's current status (points, tiers, membership, referral code, program name). Event fields describe the single most recent event and update in real time the moment it happens.