• Customermates logo
    CustomermatesDocumentation
  • Introduction
Getting Started
  • Quickstart
  • Core Concepts
Connect your AI
  • Custom connector
  • CLI & editors
  • Rate limits
Integrations
  • MCP
  • Webhooks
  • OpenAPI 3.1.0
  • N8N
Self-Hosting
  • Get Started
  • Architecture & Security
App guide
  • Dashboard
  • Inbox
  • Records
  • Profile
  • Company
  • API Keys
  • Filter Syntax
  • Go back
  1. Introduction
  2. Core Concepts

Core concepts

Records, relationships, custom columns, widgets, and webhooks, in one page.

Customermates tracks five record types, lets each one carry user-defined fields, links them to each other through typed relationships, and emits webhooks whenever any of that changes.

The five record types

Record typeWhat it representsTypical fields
ContactA personfirstName, lastName, notes
OrganizationA companyname, notes
DealA sales opportunityname, totalValue, totalQuantity
ServiceA product or offering attached to a dealname, amount
TaskA todo itemname, assignees

Each record has id, createdAt, updatedAt, and supports markdown notes. Everything else is either a relationship to another record or a custom column value. There are no fixed status or stage fields on any record type; use custom columns for those. Call get_record_schema to read the columns that exist in a given workspace.

Relationships

Relationships are typed and many-to-many. A contact belongs to zero or more organizations and zero or more deals. A deal belongs to zero or more contacts, organizations, and services (with quantities), plus assignees.

From toExample
Contact to Organization"Max works at Initech"
Contact to Deal"Max is a stakeholder on the Q2 contract"
Organization to Deal"The Q2 contract is with Initech"
Deal to Service (with quantity)"5 hours consulting plus 1 setup fee"
Deal / Service / Task to User"Assigned to Julia"
Task to Contact / Organization / Deal / Service"Follow up on the Q2 contract"

Tasks link to users, contacts, organizations, deals, and services.

Custom columns

The default schema covers the basics. For anything else, add a custom column.

Ten types:

TypeUse for
PlainFree-text values
DateCalendar dates (renewal, next touch)
DateRangeA start and end date
DateTimeTimestamps
DateTimeRangeA start and end timestamp
CurrencyMoney amounts, stored with an ISO currency code
Single-selectA value from a fixed option list
LinkOne or more URLs
EmailOne or more email addresses
PhoneOne or more phone numbers

Single-select columns are how you model your own workflows. A deal "Status" or a task "Priority" is a single-select column you define, with the options you choose, per workspace. A board view can then group records by any single-select column.

Custom columns are first-class in filters, widgets, and the MCP surface.

Widgets

Widgets are dashboard charts driven by live data. You pick a record type, a group-by axis (plain field or custom column), an aggregation (count, deal value, deal quantity), and a display type (bar, doughnut, or radar). Filters narrow the data set.

A widget re-renders whenever underlying records change.

Webhooks

Every write emits a domain event: contact.created, deal.updated, task.deleted, and so on. You subscribe by URL and event list. Each delivery includes the changed record plus a changes map showing what moved from what to what, so subscribers can act on diffs without polling.

See Webhooks for the full event catalog and payload shape.

Notes

Notes are per-record markdown. They render through a Tiptap editor in the UI and are plain markdown everywhere else. You can replace them or append to them via update_record_notes with the matching mode.

Users, roles, and the company

Users are your teammates. Roles are defined per workspace and control what each user can read and write. The company is the tenant. Every record lives inside one company, and cross-tenant access is not possible.

Next

  • Custom columns: recipes and gotchas.
  • Filter syntax: operators and examples.
  • MCP tool catalog: every tool that operates on these concepts.
The five record types
Relationships
Custom columns
Widgets
Webhooks
Notes
Users, roles, and the company
Next