Skip to main content

Contacts & Companies

Contact

A Contact (also called "Customer" in some UI areas) is a person your organization interacts with. Contacts are the central CRM object — orders, conversations, calls, and touchpoints all link back to a contact.

Key fields

FieldTypeDescription
idUUIDPrimary key
organization_idUUIDOwning tenant
first_nametextGiven name
last_nametextFamily name
phone_numbertextPrimary phone (often WhatsApp number)
emailtextEmail address
companytextCompany name (free text)
citytextCity
countrytextCountry
sourcetextHow the contact was acquired (e.g., shopify, whatsapp, manual)
journey_stagetextCurrent lifecycle stage (e.g., lead, prospect, customer)
assigned_toUUIDTeam member responsible for this contact
tagstext[]Freeform labels
metadatajsonbArbitrary key-value data
created_attimestamptzRecord creation timestamp

Relationships

  • A Contact belongs to one Organization.
  • A Contact can have many Orders.
  • A Contact can have many Conversations (across channels).
  • A Contact can have many Call Logs.
  • A Contact can have many Labels (via customer_labels join table).
  • A Contact has a Journey Stage tracking their lifecycle.

Synonyms

The codebase uses both customer and contact to refer to this object. In the database, the table is named customers. In the CRM UI, the term "Contact" is preferred. Treat them as identical.

Company

A Company is an organization your business interacts with (B2B context). In the current schema, company information is stored as a text field on the Contact record rather than as a separate entity. Future versions may promote Company to a first-class object.

Label

A Label is a categorical tag applied to contacts for segmentation and filtering. Labels are organization-scoped and can be assigned to multiple contacts via the customer_labels join table.

Journey Stage

A Journey Stage represents a contact's position in the sales/support lifecycle. Stages are configurable per organization. Common stages: leadprospectcustomerchurned.

TablePurpose
customersContact records
labelsLabel definitions
customer_labelsContact ↔ Label associations
customer_journey_stagesStage definitions and transitions
lead_sourcesAcquisition source definitions