For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

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:

  1. The membership the client uses to check into the facility

  2. 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

HighLevel Field
Custom?
Antaris Field
Dropdown options
Type
Antaris Source

Email

email

Email

Client

Phone

home_phone (falls back on cell_phone if home_phone does not exist)

Phone

Client

First name

first_name

Text

Client

Last Name

last_name

Text

Client

Address

street

Text

Client

City

city_id

Text

Client

State

state_id

Text

Client

Postal code

zipcode

Text

Client

contact.antaris_client_id

client_id

Text

Client

contact.date_joined

date_joined

Date

Client

contact.membership_status

status

Active Expired Frozen NSF Pending

Dropdown

Membership

contact.membership_expiry_date

current_expiry_date

Date

Membership

contact.membership_cancelled_date

cancelled_date

Date

Membership

contact.membership_freeze_start

freeze_start

Date

Membership

contact.membership_freeze_end

freeze_end

Date

Membership

contact.membership_start_date

start_date

Date

Membership

contact.membership_type

name

Text

Membership Type

contact.home_location

loc_id

Text

Membership

contact.gender

gender

M F O

Dropdown

Client

contact.last_check_in_date

most recent date accross the client's sign-ins

Date

Sign-In

contact.web_signup

true if the signup's type is online, otherwise false

Checkbox

Online Signup

Custom fields: for the integration to work, you'll need to create custom fields on the HighLevel contact object. The unique key will need to match the value in the in HighLevel field column in the table above.

Tags

The Membership workflow also adds a HighLevel tag based on the Antaris membership status:

Antaris membership status
HighLevel tag

Active

active member

Expired

expired member

Last updated

Was this helpful?