Conditions Reference
A condition decides whether a rule should run on an email. This is the complete list of fields you can match on, exactly as they appear in the rule builder, grouped the same way the builder groups them. Each field shows the operators it allows and — where the field is a fixed choice — the exact values you can pick.
Combine conditions with AND / OR / NOT and nested groups (see Combining conditions at the end).
Most fields offer the "does not" variant of each operator too (Does Not Equal, Does Not Contain, and so on). Those are listed where they apply.
Basic fields
The everyday email properties — who sent it, what it says, and your relationship with the sender.
Sender and recipient
| Field | Matches on | Operators |
|---|---|---|
| From (Email) | Sender's email address only, e.g. notifications@github.com | equals · does not equal · contains · does not contain · matches regex · does not match regex |
| From (Name) | Sender's display name only, e.g. Peter Krzyzek | equals · does not equal · contains · does not contain · starts with · does not start with · matches regex · does not match regex |
| From (Full) | The full sender header — name and email together | contains · does not contain · starts with · does not start with · matches regex · does not match regex |
| To (Email) | A recipient's email address only | equals · does not equal · contains · does not contain · matches regex · does not match regex |
| To (Name) | A recipient's display name only | equals · does not equal · contains · does not contain · starts with · does not start with · matches regex · does not match regex |
| To (Full) | The full recipient header — name and email together | contains · does not contain · starts with · does not start with · matches regex · does not match regex |
Use From (Email) to match a precise address and ignore the display name. Use
From (Full) when the part you care about is in the display name, such as
"vercel[bot]".
Content
| Field | Matches on | Operators |
|---|---|---|
| Subject | The subject line | equals · does not equal · contains · does not contain · starts with · does not start with · matches regex · does not match regex |
| Body | The email's text content | contains · does not contain · matches regex · does not match regex |
| Has Attachment | Whether the email includes file attachments | is true · is false |
Status and labels
| Field | Matches on | Operators |
|---|---|---|
| Is Unread | Whether the email is unread | is true · is false |
| Has Gmail Label | Whether the email has a specific Gmail label (you pick the label) | equals · does not equal |
Sender relationship
| Field | Matches on | Operators |
|---|---|---|
| Sender History | How well you know this sender (see values below) | equals · does not equal |
| Is Known Contact | Whether the sender exists in your contacts | is true · is false |
| Trust Status | The sender's trust level in your contacts (see values below) | equals · does not equal |
Sender History values:
First-time sender (cold)
Have exchanged before (warm)
Regular contact (established)
Unknown (unknown)
Trust Status values:
Trusted contact (allowlist)
Blocked sender (denylist)
Not specified (normal)
→ More on relationships: Contacts
Content (sender volume)
How much a particular sender emails you — useful for spotting noisy senders.
| Field | Matches on | Operators |
|---|---|---|
| Sender Daily Volume | Emails received from this sender per day | equals · does not equal · greater than · less than |
| Sender Weekly Volume | Emails received from this sender per week | equals · does not equal · greater than · less than |
| Sender Monthly Volume | Emails received from this sender per month | equals · does not equal · greater than · less than |
| Total Email History | Total emails ever exchanged with this sender | equals · does not equal · greater than · less than |
Time-based fields
Match on when an email arrived — perfect for "only during work hours" or "weekends only" automations.
| Field | Matches on | Operators |
|---|---|---|
| Email Age (Hours) | How many hours ago the email arrived | equals · does not equal · greater than · less than |
| Email Age (Days) | How many days ago the email arrived | equals · does not equal · greater than · less than |
| Received Time of Day | The clock time it was received (HH:MM) | before · after · between |
| Received Day | Which day(s) it arrived (see values below) | is |
Received Day values:
Weekdays (Mon–Fri) Weekend (Sat–Sun) Monday … Sunday (any single day)
AI analysis
These fields read MailPrism's AI analysis of the email and expose the result as a condition. They require AI features to be turned on, and some spend AI credits each time they run.
| Field | Matches on | Operators |
|---|---|---|
| AI Category | The AI-detected type of email (see values below) | equals · does not equal |
| AI Urgency | The AI-detected urgency level (see values below) | equals · does not equal |
| AI Sentiment | The AI-detected emotional tone (see values below) | equals · does not equal |
| AI: Response Priority | The AI's suggested response urgency (see values below) | equals · does not equal |
| AI: Email Needs Response | The AI thinks the email needs a reply from you (uses AI credits) | is true · is false |
| AI: Requires External Action | The AI detects an action outside email — sign in, approve, update payment, etc. (uses AI credits) | is true · is false |
| AI: Sender Expects Reply | The AI thinks the sender is expecting a reply (uses AI credits) | is true · is false |
| AI: Is Automated Email | The email is machine-generated with no human sender (receipts, alerts) | is true · is false |
| AI: Thread State | The AI's single tracking state for the conversation (uses AI credits; needs AI thread tracking) | equals · does not equal |
| AI: Thread State Confidence | How confident the AI is in that state, from 0.0 to 1.0 | greater than · less than · equals |
AI Category values:
Urgent Important Personal Work Financial/Billing Newsletter Promotional Cold Email Spam Social Notification Transactional System OtherAI Urgency values: High Medium Low
AI Sentiment values: Positive Neutral Negative
AI: Response Priority values: Urgent High Normal Low
AI: Thread State values: Needs Action Awaiting Reply Pending (FYI/Monitor) Resolved (Complete)
→ Learn what each signal means: AI features
Response tracking
Match on the state of the whole conversation, not just one message — and on label changes that happen to it. See Response tracking.
Conversation state
| Field | Matches on | Operators |
|---|---|---|
| Response Status | The current tracking state of the thread (see values below) | equals · does not equal |
| Last Sender | Who sent the most recent message (see values below) | equals · does not equal |
| Time Awaiting Reply | Hours you've been waiting for a reply | equals · does not equal · greater than · less than |
| Total Messages in Thread | Total messages in the thread, all participants | equals · does not equal · greater than · less than |
| Your Messages in Thread | How many messages you have sent in the thread | equals · does not equal · greater than · less than |
| Time Since Last Message | Hours since the last message in the thread | equals · does not equal · greater than · less than |
Response Status values: Needs Response Awaiting Reply Resolved Snoozed Not Tracked
Last Sender values: User (Me) External Party
Recipient position
| Field | Matches on | Operators |
|---|---|---|
| I'm in TO Recipients | You are in the To field — a strong signal that action is needed | is true · is false |
| I'm in CC Recipients | You are in the Cc field — usually just FYI | is true · is false |
Label changes
These trigger on the moment a label is added or removed, which makes them great for chaining automations off another rule's labelling.
| Field | Matches on | Operators |
|---|---|---|
| Gmail Label Added | A specific Gmail label was just added (you pick the label) | equals · does not equal |
| Gmail Label Removed | A specific Gmail label was just removed (you pick the label) | equals · does not equal |
| System Label Added | A configured system label was added (see values below) | equals |
| System Label Removed | A configured system label was removed (see values below) | equals |
| Tracking Label Added | A specific tracking label was just assigned (you pick it) | equals · does not equal |
| Tracking Label Removed | A specific tracking label was just removed (you pick it) | equals · does not equal |
| Has Tracking Label | The email currently has a specific tracking label (you pick it) | equals · does not equal |
| Tracking Label Mode | The tracking label's mode (see values below) | equals · does not equal |
System Label values (add and remove): Needs Response / Action Required Awaiting Reply Resolved
Tracking Label Mode values: Active Passive
Thread updates
| Field | Matches on | Operators |
|---|---|---|
| Thread Has New Message | The thread just received a new message | is true · is false |
| New Message Direction | Whether the new message was inbound or outbound (see values below) | equals · does not equal |
New Message Direction values: Inbound (from others) Outbound (sent by me)
Operators by type
The operators a field offers depend on what kind of value it holds. The tables above already list each field's exact set — this is the quick summary.
| Value type | Operators |
|---|---|
| Text | equals · contains · starts with · ends with · matches regex — plus the "does not" version of each |
| Yes / No | is true · is false |
| Number / Duration | equals · does not equal · greater than · less than |
| Time of day | before · after · between |
| Day | is |
matches regex unlocks precise patterns — for example, match invoice numbers
with INV-\d{5}, or any subdomain of a company with .*@.*\.company\.com.
Matching is case-insensitive, and extremely long or unsafe patterns are rejected
for performance.
Combining conditions
A rule's conditions are joined by one of three modes, and you can nest them into groups for precise logic.
-
AND ("all") — every condition must match.
-
OR ("any") — any one condition is enough.
-
NOT — the rule matches only when none of the conditions are true.
-
Groups — nest conditions to express exactly what you mean, for example:
(Sender History is
coldAND AI Category isCold Email) OR (Subject contains "unsubscribe")
Groups can be nested several levels deep, and each level shows a different color in the builder so the structure stays readable.
What's next
- How rules work — priority, stop-processing, and timing.
- Actions reference — every action and its options.
- Rule library — start from a ready-made template.