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:

text
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

TriggerDescription
When rows are addedNew rows — manual or form submission
When rows are changedAny field in the row changes
When a specific field changesOnly fires when a chosen column changes
When a date is reachedFires on or before a date column value
When a date field changesFires when a date column is modified
On a scheduleDaily, 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

ActionDescription
Send an alertEmail notification with row details (read-only)
Send an update requestEditable email — recipient updates fields from inbox
Send an approval requestApprove/reject workflow with routing logic
Move row to another sheetTransfer the row to a different sheet
Copy row to another sheetDuplicate the row to another sheet
Lock rowPrevent further edits by non-admins
Unlock rowRe-enable editing
Change cell valueSet a column to a specific value
Record a dateStamp today's date into a column
Clear cell valueEmpty a column's value
Add a rowInsert 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.

text
Condition: [Priority] = "High" AND [Status] = "At Risk"

OR conditions: Create multiple condition blocks. If any block is true, the automation fires.

text
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

PlanAutomations/Month
Free0
Pro10
Business250 per licensed user
EnterpriseUnlimited

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

  1. Use exact match values for dropdowns — automation conditions use exact string matching. "In Progress" ≠ "In-Progress."
  2. Test with a single row first — add a test row that meets your trigger condition and verify behavior before enabling for all rows.
  3. Name automations descriptively — "Notify PM on Status Change" beats "Automation 1."
  4. Limit alert recipients — sending alerts to too many people causes notification fatigue and leads everyone to ignore them.
  5. Use Update Requests for stakeholder data collection — far more effective than asking stakeholders to log in and update sheets manually.

Example

smartsheet
// 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")
Try it yourself — SMARTSHEET