Jeder Filter-Operator in Customermates, mit Beispielen.
Customermates-Filter (genutzt von den Model-Context-Protocol-Tools (MCP), der REST-API und der App-UI) sind Arrays von Feld-Operator-Wert-Regeln. Sechzehn Operatoren decken Equality, Vergleich, Set-Membership, Range, Aktualität, Null-Checks und Relationship-Membership ab.
list_records MCP-Tool (und die Messaging-Filter auf get_messaging_threads).entityFilters und dealFilters auf Widgets.[
{ "field": "firstName", "operator": "contains", "value": "acme" },
{ "field": "createdAt", "operator": "gte", "value": "2024-01-01" }
]Regeln sind UND-verknüpft. Für ODER: zwei Queries laufen lassen und client-seitig mergen, oder den in-Operator gegen eine Liste.
| Operator | Erwartet | Wirkt auf | Beispiel |
|---|---|---|---|
equals | einen Wert | Skalare, IDs | "active" |
contains | einen Wert | Strings | "acme" |
gt | einen Wert | Zahlen, Daten | "2024-01-01" |
gte | einen Wert | Zahlen, Daten | 100 |
lt | einen Wert | Zahlen, Daten | "2024-12-31" |
lte | einen Wert | Zahlen, Daten | "2024-12-31" |
in | Array | beliebig | ["id1", "id2"] |
notIn | Array | beliebig | ["id1"] |
between | Array aus 2 | Zahlen, Daten | ["2024-01-01", "2024-12-31"] |
inLastDays | einen Wert (Ganzzahl) | Daten | 30 |
isNull | kein Value | beliebig | (keins) |
isNotNull | kein Value | beliebig | (keins) |
hasNone | kein Value | Relationship-Arrays | (keins) |
hasSome | kein Value | Relationship-Arrays | (keins) |
hasUnset | kein Value | Messaging-Thread-Teilnehmer | (keins) |
allSet | kein Value | Messaging-Thread-Teilnehmer | (keins) |
Datumsfelder wie createdAt und updatedAt akzeptieren gt, gte, lt, lte, between und inLastDays. Nutzen Sie inLastDays mit einer ganzzahligen Anzahl von Tagen für ein rollierendes Aktualitätsfenster, zum Beispiel { "field": "createdAt", "operator": "inLastDays", "value": 7 } für Datensätze der letzten Woche.
Relationship-Arrays (organizationIds, dealIds, userIds, contactIds, serviceIds, taskIds) akzeptieren in, notIn, hasNone und hasSome. Das Teilnehmer-Verknüpfungsfeld auf get_messaging_threads nutzt hasUnset und allSet, um Threads danach zu filtern, ob ihre Teilnehmer mit Datensätzen verknüpft sind.
field ist, was get_record_schema unter filterableFields für diese Entity zurückgibt. Enthält:
createdAt, updatedAt).organizationIds, dealIds, userIds, contactIds). Kombinieren Sie sie mit in, notIn, hasNone, hasSome.Immer get_record_schema zuerst, wenn Sie unsicher sind, was filterbar ist. Die Fehlermeldung bei unbekanntem Feld listet alle verfügbaren Felder mit erlaubten Operatoren.
Contacts in einer von drei Organizations:
{ "field": "organizationIds", "operator": "in", "value": ["org_1","org_2","org_3"] }Deals aus 2024, deren Custom-singleSelect-Spalte (identifiziert über ihre UUID) einem gewählten Optionswert entspricht:
[
{ "field": "createdAt", "operator": "between", "value": ["2024-01-01","2024-12-31"] },
{ "field": "col_uuid", "operator": "equals", "value": "option_value" }
]Contacts ohne Organization:
{ "field": "organizationIds", "operator": "hasNone" }Datensätze der letzten 30 Tage:
{ "field": "createdAt", "operator": "inLastDays", "value": 30 }list_records akzeptiert auch searchTerm, eine Freitextsuche über die Namensfelder (firstName+lastName für Contacts, name für den Rest). Für "Contacts, deren Name 'acme' enthält" ist das searchTerm, nicht eine Filter-Regel auf firstName. Filter-Regeln auf firstName werden nicht unterstützt.