Client and Membership Sync
Middle's Antaris integration with HighLevel keeps contacts up to date with client, membership, check-in, and signup data synced from Antaris.
Client Contact Sync
A single Client workflow runs from an Antaris Client record and creates or updates the matching HighLevel contact. It syncs both basic contact information (name, email, phone, address) and membership-specific values (status, expiry date, cancellation date, freeze dates) in one pass.
Identity resolution
The action requires either an email or phone number. HighLevel treats email and phone as unique identifiers, so passing an existing contact's email or phone updates that contact instead of creating a duplicate.
Duplicate risk
If a client has multiple emails or inconsistent phone formats, duplicates can be created.
Multiple memberships
If a client has more than one membership, the workflow decides which membership's data (status, expiry, freeze dates, etc.) to write to the contact. It picks a "primary membership" using this priority:
The membership the client uses to check into the facility
Otherwise, the membership that was most recently updated
Check-In Sync
Middle keeps a contact's most recent gym or studio visit in sync, so HighLevel automations can react to recency of visits.
Rather than simply writing the date of the triggering check-in, the workflow looks up the client's full check-in history and writes the most recent sign-in date it finds. This means a late-arriving or out-of-order check-in event can never move the field backwards.
Online Signup Sync
Middle flags contacts who joined through an online/web signup, so HighLevel can route or tag them differently from walk-in or front-desk signups. The worikflow runs from an Antaris Online Signup record and creates or updates the matching HighLevel contact.
Data mapping
email
Client
Phone
home_phone (falls back on cell_phone if home_phone does not exist)
Client
First name
first_name
Client
Last Name
last_name
Client
Address
street
Client
City
city_id
Client
State
state_id
Client
Postal code
zipcode
Client
contact.antaris_client_id
client_id
Client
contact.date_joined
date_joined
Client
contact.membership_status
status
Active Expired Frozen NSF Pending
Membership
contact.membership_expiry_date
current_expiry_date
Membership
contact.membership_cancelled_date
cancelled_date
Membership
contact.membership_freeze_start
freeze_start
Membership
contact.membership_freeze_end
freeze_end
Membership
contact.membership_start_date
start_date
Membership
contact.membership_type
name
Membership Type
contact.home_location
loc_id
Membership
contact.gender
gender
M F O
Client
contact.last_check_in_date
most recent date accross the client's sign-ins
Sign-In
contact.web_signup
true if the signup's type is online, otherwise false
Online Signup
Tags
The Membership workflow also adds a HighLevel tag based on the Antaris membership status:
Active
active member
Expired
expired member
Last updated
Was this helpful?

