OpenSequence
DocsAPI referenceSDKs and CLIReference

Condition fields

The closed field registry conditions can read, with the operators per type.

Edit on GitHub
This page is generated from packages/core/src/domain/definition/builtins.ts and packages/core/src/domain/conditions/evaluate.ts by pnpm generate. Do not edit it by hand; change the source and regenerate.

A condition is { "mode": "all" | "any", "rules": [{ "field", "op", "value?" }] } with 1 to 20 rules. GET /v1/schema/fields serves this registry plus the project's attrs_schema. Missing data never matches: a null fact fails every operator, including is_not and ne, so the contact takes no. See Conditions.

Operators by type

TypeOperatorsValue
enumis, is_notone of the field’s values
textis, is_not, contains, is_empty, is_not_emptya string; is_empty and is_not_empty take none
numbereq, ne, gt, gte, lt, ltea number
boolis_true, is_falsenone
datebefore, afteran ISO date

Text comparisons are case-insensitive. Numbers are compared after Number(); dates after Date.parse().

Fields

contact.*: Contact

FieldLabelTypeOperatorsValues
contact.countryContact countrytextis, is_not, contains, is_empty, is_not_empty
contact.timezoneContact time zonetextis, is_not, contains, is_empty, is_not_empty
contact.has_emailContact has an emailboolis_true, is_false
contact.has_phoneContact has a phoneboolis_true, is_false
contact.has_linkedinContact has a LinkedIn URLboolis_true, is_false
contact.sms_consentContact consented to SMSboolis_true, is_false

attrs.*: Contact attributes

Open: any attrs.<path> is accepted and read as text unless the project declares a type (attrs_schema in the project settings for attrs.*; the Attio attribute types for crm.*).

sender.*: Sender

FieldLabelTypeOperatorsValues
sender.timezoneSender time zonetextis, is_not, contains, is_empty, is_not_empty
sender.has_smsSender has an SMS numberboolis_true, is_false
sender.has_linkedinSender has LinkedInboolis_true, is_false

linkedin.*: LinkedIn

FieldLabelTypeOperatorsValues
linkedin.connection_stateLinkedIn connectionenumis, is_notnone, pending, connected, declined_or_ignored, withdrawn

history.*: History

FieldLabelTypeOperatorsValues
history.touchesTouches so farnumbereq, ne, gt, gte, lt, lte
history.days_since_last_touchDays since the last touchnumbereq, ne, gt, gte, lt, lte
history.replied_since_enrollmentReplied since enrollmentboolis_true, is_false
history.last_reply_channelLast reply channelenumis, is_notemail, sms, linkedin, call
history.emails_sentEmails sentnumbereq, ne, gt, gte, lt, lte
history.last_task_outcomeLast task outcometextis, is_not, contains, is_empty, is_not_empty
history.last_task_kindLast task kindtextis, is_not, contains, is_empty, is_not_empty
history.days_since_last_taskDays since the last tasknumbereq, ne, gt, gte, lt, lte
history.tasks_last_14dTasks in the last 14 daysnumbereq, ne, gt, gte, lt, lte

crm.*: CRM

Open: any crm.<path> is accepted and read as text unless the project declares a type (attrs_schema in the project settings for attrs.*; the Attio attribute types for crm.*).

FieldLabelTypeOperatorsValues
crm.person.existsCRM person existsboolis_true, is_false
crm.company.existsCRM company existsboolis_true, is_false
crm.deal.existsCRM open deal existsboolis_true, is_false
crm.deal.stageCRM deal stagetextis, is_not, contains, is_empty, is_not_empty
crm.deal.count_openCRM open dealsnumbereq, ne, gt, gte, lt, lte

On this page