Skip to content

rules

CreateRuleRequest

Bases: TypedDict

Request body for creating a rule.

Source code in nylas/models/rules.py
44
45
46
47
48
49
50
51
52
53
class CreateRuleRequest(TypedDict):
    """Request body for creating a rule."""

    name: str
    match: RuleMatchRequest
    actions: List[RuleActionRequest]
    description: NotRequired[str]
    priority: NotRequired[int]
    enabled: NotRequired[bool]
    trigger: NotRequired[str]

ListRuleEvaluationsQueryParams

Bases: ListQueryParams

Query parameters for listing rule evaluations.

Source code in nylas/models/rules.py
16
17
18
19
class ListRuleEvaluationsQueryParams(ListQueryParams):
    """Query parameters for listing rule evaluations."""

    pass

ListRulesQueryParams

Bases: ListQueryParams

Query parameters for listing rules.

Source code in nylas/models/rules.py
10
11
12
13
class ListRulesQueryParams(ListQueryParams):
    """Query parameters for listing rules."""

    pass

Rule dataclass

A rule used for automated filtering and routing.

Source code in nylas/models/rules.py
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
@dataclass_json
@dataclass
class Rule:
    """A rule used for automated filtering and routing."""

    id: Optional[str] = None
    name: Optional[str] = None
    description: Optional[str] = None
    priority: Optional[int] = None
    enabled: Optional[bool] = None
    trigger: Optional[str] = None
    match: Optional[RuleMatch] = None
    actions: Optional[List[RuleAction]] = None
    application_id: Optional[str] = None
    organization_id: Optional[str] = None
    created_at: Optional[int] = None
    updated_at: Optional[int] = None

RuleAction dataclass

An action applied when a rule matches.

Source code in nylas/models/rules.py
87
88
89
90
91
92
93
@dataclass_json
@dataclass
class RuleAction:
    """An action applied when a rule matches."""

    type: Optional[str] = None
    value: Optional[str] = None

RuleActionRequest

Bases: TypedDict

Action object used in create/update rule requests.

Source code in nylas/models/rules.py
37
38
39
40
41
class RuleActionRequest(TypedDict):
    """Action object used in create/update rule requests."""

    type: str
    value: NotRequired[str]

RuleCondition dataclass

A condition in a rule match clause.

Source code in nylas/models/rules.py
68
69
70
71
72
73
74
75
@dataclass_json
@dataclass
class RuleCondition:
    """A condition in a rule match clause."""

    field: Optional[str] = None
    operator: Optional[str] = None
    value: Optional[Any] = None

RuleConditionRequest

Bases: TypedDict

A single condition used in a rule match clause.

Source code in nylas/models/rules.py
22
23
24
25
26
27
class RuleConditionRequest(TypedDict):
    """A single condition used in a rule match clause."""

    field: str
    operator: str
    value: Any

RuleEvaluation dataclass

An audit record describing rule evaluation for a grant.

Source code in nylas/models/rules.py
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
@dataclass_json
@dataclass
class RuleEvaluation:
    """An audit record describing rule evaluation for a grant."""

    id: Optional[str] = None
    grant_id: Optional[str] = None
    message_id: Optional[str] = None
    evaluated_at: Optional[int] = None
    evaluation_stage: Optional[str] = None
    evaluation_input: Optional[RuleEvaluationInput] = None
    applied_actions: Optional[RuleEvaluationAppliedActions] = None
    matched_rule_ids: Optional[List[str]] = None
    application_id: Optional[str] = None
    organization_id: Optional[str] = None
    created_at: Optional[int] = None
    updated_at: Optional[int] = None

RuleEvaluationAppliedActions dataclass

Actions applied when rules matched.

Source code in nylas/models/rules.py
125
126
127
128
129
130
131
132
133
134
135
136
@dataclass_json
@dataclass
class RuleEvaluationAppliedActions:
    """Actions applied when rules matched."""

    blocked: Optional[bool] = None
    marked_as_spam: Optional[bool] = None
    marked_as_read: Optional[bool] = None
    marked_starred: Optional[bool] = None
    archived: Optional[bool] = None
    trashed: Optional[bool] = None
    folder_ids: Optional[List[str]] = None

RuleEvaluationInput dataclass

Sender data used as input to rule evaluation.

Source code in nylas/models/rules.py
115
116
117
118
119
120
121
122
@dataclass_json
@dataclass
class RuleEvaluationInput:
    """Sender data used as input to rule evaluation."""

    from_address: Optional[str] = None
    from_domain: Optional[str] = None
    from_tld: Optional[str] = None

RuleMatch dataclass

A rule's condition set and matching strategy.

Source code in nylas/models/rules.py
78
79
80
81
82
83
84
@dataclass_json
@dataclass
class RuleMatch:
    """A rule's condition set and matching strategy."""

    operator: Optional[str] = None
    conditions: Optional[List[RuleCondition]] = None

RuleMatchRequest

Bases: TypedDict

Match clause for create/update rule requests.

Source code in nylas/models/rules.py
30
31
32
33
34
class RuleMatchRequest(TypedDict):
    """Match clause for create/update rule requests."""

    conditions: List[RuleConditionRequest]
    operator: NotRequired[str]

UpdateRuleRequest

Bases: TypedDict

Request body for updating a rule.

Source code in nylas/models/rules.py
56
57
58
59
60
61
62
63
64
65
class UpdateRuleRequest(TypedDict, total=False):
    """Request body for updating a rule."""

    name: NotRequired[str]
    match: NotRequired[RuleMatchRequest]
    actions: NotRequired[List[RuleActionRequest]]
    description: NotRequired[str]
    priority: NotRequired[int]
    enabled: NotRequired[bool]
    trigger: NotRequired[str]