Automation & Intelligence
Automated Workflows & Alerts
Build automated workflows with conditional triggers to eliminate manual follow-up, status updates, and reminder emails — and keep projects moving without manual intervention.
The Automation Model
Smartsheet's automation engine eliminates the manual work of project management — status update requests, reminder emails, approval routing, data archiving. Every automation follows the same structure:
TRIGGER → CONDITION (optional) → ACTION(s)Trigger: What starts the automation.
Condition: Which rows the automation applies to (optional filter).
Action: What happens when triggered.
Accessing automation: Automation menu → Manage Workflows (or the lightning bolt icon).
Triggers
| Trigger | Description |
|---|---|
| When rows are added | New rows — manual or form submission |
| When rows are changed | Any field in the row changes |
| When a specific field changes | Only fires when a chosen column changes |
| When a date is reached | Fires on or before a date column value |
| When a date field changes | Fires when a date column is modified |
| On a schedule | Daily, weekly, or monthly recurring |
Key detail on "When a field changes": You can configure it to fire only on a specific transition — "When Status changes FROM In Progress TO Blocked" — not every edit. This prevents notification storms from minor changes.
Actions
| Action | Description |
|---|---|
| Send an alert | Email notification with row details (read-only) |
| Send an update request | Editable email — recipient updates fields from inbox |
| Send an approval request | Approve/reject workflow with routing logic |
| Move row to another sheet | Transfer the row to a different sheet |
| Copy row to another sheet | Duplicate the row to another sheet |
| Lock row | Prevent further edits by non-admins |
| Unlock row | Re-enable editing |
| Change cell value | Set a column to a specific value |
| Record a date | Stamp today's date into a column |
| Clear cell value | Empty a column's value |
| Add a row | Insert a new row |
Alert vs. Update Request: An alert is an FYI notification. An update request is actionable — the recipient can edit specific fields directly from the email without opening Smartsheet. Update requests are the most powerful action for getting data from busy stakeholders.
Essential Automation Patterns
Status Change Notification
Trigger: When [Status] field changes
Condition: [Status] = "Complete"
Action: Send alert to [Assigned To] and project manager
Message: "{{Task Name}} has been marked Complete."
Overdue Task Escalation
Trigger: Based on date — [Due Date], 1 day after
Condition: [% Complete] is less than 1 AND [Status] is not "Complete"
Action: Change [Priority] symbol to red AND send alert to manager
Form Submission Routing
Trigger: When rows are added
Condition 1: [Category] = "IT" → Move row to IT Intake sheet
Condition 2: [Category] = "HR" → Move row to HR Intake sheet
Condition 3: [Category] = "Facilities" → Move row to Facilities sheet
Approval Workflow
Trigger: When [Status] changes to "Pending Approval"
Action: Send approval request to [Approver contact]
On approval:
- Change [Status] to "Approved"
- Record date in [Approved Date]
- Send alert to [Submitted By]
On rejection:
- Change [Status] to "Needs Revision"
- Send alert to [Submitted By] with comments
Weekly Update Request
Trigger: On a schedule — Every Monday at 9:00 AM
Condition: [Status] = "In Progress"
Action: Send update request to [Assigned To] asking to update:
- [% Complete]
- [Status]
- [Notes]
The assignee updates the fields directly in the email. No Smartsheet login required.
Auto-Archive Completed Rows
Trigger: When [Status] changes to "Closed"
Condition: [Closed Date] is more than 30 days ago (use a date-based trigger instead for this)
Action: Move row to "Completed Archive" sheet AND send alert to [Assigned To]
Stamp Completion Date
Trigger: When [Done] checkbox changes
Condition: [Done] = checked (true)
Action: Record date in [Completed Date] column
Conditional Logic
Automations support AND and OR condition groups:
AND conditions: All conditions in a group must be true.
Condition: [Priority] = "High" AND [Status] = "At Risk"OR conditions: Create multiple condition blocks. If any block is true, the automation fires.
Block 1: [Status] = "At Risk"
OR
Block 2: [Status] = "Blocked"Nested: "Priority is High AND (Status is At Risk OR Status is Blocked)"
Automation Limits
| Plan | Automations/Month |
|---|---|
| Free | 0 |
| Pro | 10 |
| Business | 250 per licensed user |
| Enterprise | Unlimited |
Each workflow can have up to 20 conditions and 20 actions. Actions execute sequentially — use this to chain operations (change value → then send alert about the new value).
Tips for Reliable Automations
- Use exact match values for dropdowns — automation conditions use exact string matching. "In Progress" ≠ "In-Progress."
- Test with a single row first — add a test row that meets your trigger condition and verify behavior before enabling for all rows.
- Name automations descriptively — "Notify PM on Status Change" beats "Automation 1."
- Limit alert recipients — sending alerts to too many people causes notification fatigue and leads everyone to ignore them.
- Use Update Requests for stakeholder data collection — far more effective than asking stakeholders to log in and update sheets manually.
Example
// Automations are built in the Automation UI (no code required)
// Below are conceptual patterns with formula equivalents
// PATTERN 1: Flag rows that triggered an automation
// After "Record a date" action fires, the timestamp column
// lets you query when automations ran:
=COUNTIF([Auto-Notified Date]:[Auto-Notified Date], ">01/01/2026")
// PATTERN 2: Approval workflow status check
// Formula to track where items are in the approval chain:
=IF([Approved Date]@row <> "", "Approved",
IF([Status]@row = "Pending Approval", "Awaiting Review",
IF([Status]@row = "Needs Revision", "Returned",
"Draft")))
// PATTERN 3: Days since request was submitted
// Useful for SLA tracking after form submission:
=IF([Created Date]@row <> "", TODAY() - [Created Date]@row, "")
// PATTERN 4: SLA breach flag
// Flag rows where response time exceeded 3 business days:
=IF(NETWORKDAYS([Created Date]@row, TODAY()) > 3, "SLA Breach", "Within SLA")
// PATTERN 5: Weekly update request trigger
// The automation fires based on schedule + condition.
// Track response in "Last Updated" (Modified Date column):
=IF(TODAY() - [Modified Date]@row > 7, "Needs Update", "Current")