Smart Values
Smart values are dynamic placeholders that pull real data into your automation conditions. Instead of writing rules that match everything, smart values let you inspect the actual content of the event or webhook payload that triggered the rule — so you can be precise about what gets acted on.
What Are Smart Values?
When an automation rule fires, it has access to the data that caused it to trigger. Smart values give you a way to reach into that data inside your conditions.
There are two sources of smart values:
- Event fields — data from the calendar event itself (title, description, duration, calendar name, etc.)
- Webhook payload fields — data from the JSON body that was posted to your rule's webhook URL
You reference these in the Condition section of your rule when you set up the field to match against.
Event Smart Values
When your trigger is event.created, event.updated, event.deleted, event.starts_in, or event.ends_in, the condition fields map directly to event data:
| Condition Field | What It Checks |
|---|---|
title | The event's title/name |
description | The event's description text |
location | The event's location field |
notes | Any additional notes on the event |
duration | Duration in minutes |
is_all_day | Whether the event is an all-day event |
color | The event's current color |
status | Event status (confirmed, tentative, etc.) |
calendar.id | ID of the calendar the event belongs to |
calendar.name | Name of the calendar the event belongs to |
Example: May wants a rule that colors any event containing "School" in the title with a yellow background. She sets up:
- Trigger:
event.created - Condition:
titlecontainsSchool - Action: Set event color → Yellow
The word "School" in the condition is checked against the live title of each created event. That's a smart value at work.
Example: Will wants to flag long meetings. He sets:
- Condition:
durationgreater_than60
This matches any event longer than 60 minutes.
Webhook Smart Values
When your trigger is webhook.incoming, the JSON body posted to your webhook URL is available inside conditions using the webhook.data field with dot notation.
How Dot Notation Works
If an external system sends this payload:
{
"event": "order.created",
"data": {
"priority": "high",
"customer_id": "cust_123",
"order": {
"status": "pending",
"total": 149.99
}
}
}
You can access nested values like this:
| Dot Notation Path | Value from Example |
|---|---|
webhook.data.priority | high |
webhook.data.customer_id | cust_123 |
webhook.data.order.status | pending |
webhook.data.order.total | 149.99 |
You can go as deep as needed — webhook.data.a.b.c.d works for deeply nested objects.
Using Webhook Smart Values in a Condition
In the condition builder:
- Set the Field to
webhook.data - Enter the dot-notation path in the field that appears (e.g.,
priority) - Choose an operator (
equals,contains,greater_than, etc.) - Enter the value to match against
webhook.data.order.customer.email works for deeply nested objects. Just follow the structure of the JSON you're receiving.
Practical Example: Web Store Integration
A web store fires a webhook to PrimeCal when a high-priority order comes in. The payload looks like:
{
"event": "order.created",
"data": {
"priority": "high",
"customer_id": "cust_789",
"product": "Premium Membership"
}
}
You want to create a follow-up event only for high-priority orders. Set up the rule:
- Trigger:
webhook.incoming - Condition:
webhook.data.priorityequalshigh - Action: Set event color → Red (to flag it visually)
With this in place, only webhooks where data.priority is exactly "high" will trigger the action. Orders with "normal" or "low" priority are ignored.
Combining Multiple Conditions
Smart values become more powerful when you combine conditions. Use the rule-level AND/OR logic setting:
- AND: every condition must match (more restrictive)
- OR: any condition can match (more permissive)
Example: Match urgent, long meetings on a specific calendar:
- Condition 1:
titlecontainsUrgent - Condition 2:
durationgreater_than30 - Condition 3:
calendar.nameequalsWork - Logic: AND
All three must be true for the rule to act.
Related Pages
- Webhooks — How to set up and use webhook triggers
- Automation Templates — Pre-built rules to get started quickly
- Troubleshooting Automations — Fix rules that aren't behaving as expected
Last updated: 2026-06-30 | PrimeCal v1.3.4