Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.digifist.com/llms.txt

Use this file to discover all available pages before exploring further.

Contacts are the individual customer records in Galantis. Every contact is sourced from Shopify and kept current via webhook sync — when a customer’s data changes in Shopify, the change propagates to Galantis within seconds. On top of the Shopify data, Galantis enriches each contact with WhatsApp-specific information: message history, conversation threads, automation activity, and consent status. A contact’s profile is the single source of truth for everything Galantis knows about that customer — it is what campaign targeting, automation conditions, segment rules, and Inbox context all draw from.

What this covers

  • All customer profile fields and their sources
  • Related data available per contact
  • How sync works and what triggers it
  • The exclude_from_galantis flag
  • Finding and reviewing a contact’s profile

Customer profile fields

FieldSourcePurpose
shopify_customer_idShopifyLinks the Galantis contact record to the Shopify customer record
first_nameShopifyDisplay name — used in template variable mapping
last_nameShopifyDisplay name — used in template variable mapping
emailShopifyContact info — available as a template variable
These fields are synced from Shopify on customer creation and updated whenever the customer record changes in Shopify via the customers/update webhook.
Beyond the profile fields, each contact’s record surfaces related data from across the platform: Order history (orders) — All Shopify orders associated with the customer, synced via the orders/create and orders/updated webhooks. Used in segment rules (total spent, order count, days since last order) and available as context in the Inbox conversation view. Back-in-Stock subscriptions (subscriptions) — Any active or historical Back-in-Stock widget subscriptions the customer has submitted. Visible per contact to confirm subscription status for a specific variant. Message history (messages) — All WhatsApp messages sent to and received from this customer across campaigns, automations, and Inbox conversations. Visible on the contact profile for full communication context. Conversation threads (conversations) — All Inbox conversation threads for the customer, with their status (OPEN, PENDING, RESOLVED) and assigned agent. List and segment membership — Which Customer Lists the contact belongs to and which Segments they currently match. Useful for confirming whether a customer should have been included or excluded from a recent campaign.

How sync works

Galantis maintains customer data through two mechanisms: Initial import — When the app is first installed, Galantis runs a full import of your existing Shopify customer base. This populates the contact database with all customers at the time of installation. Ongoing webhook sync — After the initial import, Galantis receives Shopify webhooks for every customer event:
WebhookWhat it updates
customers/createCreates a new contact record
customers/updateUpdates profile fields, phone, tags, locale
customers/deleteRemoves the contact record
customers/marketing_consent_updatedUpdates marketing_state
customer_tags/addedAdds tags to the contact record
customer_tags/removedRemoves tags from the contact record

Finding a contact’s profile

Navigate to Audience → Contacts and search by name, email, or phone number. The contact profile page shows all fields, related data, and a summary of recent message and automation activity. The contact profile is also surfaced contextually in the Inbox — when an agent opens a conversation, the customer’s Shopify data, order history, and consent status are visible in the sidebar without leaving the thread.

Best practices

  • Resolve CUSTOMER_IS_MISSING_CALLING_CODE errors at the source. Fix the phone number format in Shopify — Galantis will sync the corrected data via webhook. Attempting to fix it in Galantis directly is not the right approach since the Shopify record will overwrite the change on the next sync.
  • Use synced_at to diagnose stale data. If a customer’s segment membership or consent status seems incorrect, check synced_at to determine when the last sync occurred and whether a recent Shopify change has had time to propagate.
  • Review tag sync timing for automation conditions. Tag-based automation conditions (CUSTOMER_TAG) evaluate the customer’s tags at the moment the condition node is reached — not at trigger time. A customer who gains or loses a tag while in a delayed flow will be evaluated against their tag state at condition evaluation, not at enrollment.