Datensätze, Beziehungen, Custom Columns, Widgets und Webhooks auf einer Seite.
Customermates verfolgt fünf Datensatztypen, jeder kann eigene Felder tragen, sie verknüpfen sich typisiert untereinander, und jede Änderung löst einen Webhook aus.
| Typ | Was er abbildet | Typische Felder |
|---|---|---|
| Contact | Eine Person | firstName, lastName, notes |
| Organization | Eine Firma | name, notes |
| Deal | Eine Verkaufschance | name, totalValue, totalQuantity |
| Service | Produkt oder Leistung an einem Deal | name, amount |
| Task | Ein To-do | name, assignees |
Jeder Datensatz hat id, createdAt, updatedAt und unterstützt Markdown-notes. Alles andere ist entweder eine Beziehung zu einem anderen Datensatz oder ein Custom-Column-Wert. Es gibt auf keinem Datensatztyp feste Status- oder Stage-Felder; dafür nutzen Sie Custom Columns. Mit get_record_schema lesen Sie die Spalten, die in einem Workspace existieren.
Typisiert und many-to-many. Ein Contact gehört zu null oder mehr Organizations und Deals. Ein Deal hat Contacts, Organizations und Services (mit Mengen), plus assignees.
| Von zu | Beispiel |
|---|---|
| Contact zu Organization | "Max arbeitet bei Initech" |
| Contact zu Deal | "Max ist Stakeholder im Q2-Vertrag" |
| Organization zu Deal | "Der Q2-Vertrag ist mit Initech" |
| Deal zu Service (mit Menge) | "5 h Beratung plus 1 Setup-Fee" |
| Deal / Service / Task zu User | "Zugewiesen an Julia" |
| Task zu Contact / Organization / Deal / Service | "Follow-up zum Q2-Vertrag" |
Tasks verknüpfen sich mit Usern, Contacts, Organizations, Deals und Services.
Das Standard-Schema deckt die Basics ab. Für alles andere fügen Sie eine Custom Column hinzu.
Zehn Typen:
| Typ | Wofür |
|---|---|
| Plain | Freitext |
| Date | Kalenderdaten (Renewal, Next Touch) |
| DateRange | Start- und Enddatum |
| DateTime | Zeitstempel |
| DateTimeRange | Start- und End-Zeitstempel |
| Currency | Geldbeträge mit ISO-Währungscode |
| Single-select | Ein Wert aus einer festen Optionsliste |
| Link | Eine oder mehrere URLs |
| Eine oder mehrere E-Mails | |
| Phone | Eine oder mehrere Telefonnummern |
Single-select-Columns sind das Mittel, um eigene Workflows abzubilden. Ein Deal-"Status" oder eine Task-"Priorität" ist eine Single-select-Column, die Sie selbst definieren, mit den Optionen Ihrer Wahl, pro Workspace. Eine Board-Ansicht kann Datensätze dann nach jeder beliebigen Single-select-Column gruppieren.
Custom Columns sind First-Class in Filtern, Widgets und der MCP-Oberfläche.
Widgets sind Dashboard-Charts auf Live-Daten. Sie wählen einen Datensatztyp, eine Group-by-Achse (Feld oder Custom Column), eine Aggregation (Count, Deal Value, Deal Quantity) und einen Chart-Typ (Bar, Doughnut oder Radar). Filter grenzen die Daten ein.
Ein Widget rendert neu, sobald sich die zugrundeliegenden Datensätze ändern.
Jeder Write löst ein Domain-Event aus: contact.created, deal.updated, task.deleted und so weiter. Sie abonnieren per URL und Event-Liste. Jede Zustellung enthält den geänderten Datensatz plus eine changes-Map, die zeigt, was sich von wo nach wo geändert hat, sodass Abonnenten auf Diffs reagieren können, ohne zu pollen.
Siehe Webhooks für den vollständigen Event-Katalog und die Payload-Struktur.
Notes sind Markdown pro Datensatz. Sie rendern in der UI über einen Tiptap-Editor und sind überall sonst Plain Markdown. Sie können sie über update_record_notes mit dem passenden mode ersetzen oder anhängen.
User sind Ihre Teammitglieder. Rollen werden pro Workspace definiert und steuern, was jeder User lesen und schreiben darf. Die Company ist der Tenant. Jeder Datensatz lebt in genau einer Company, Cross-Tenant-Zugriff ist nicht möglich.