Workflow triggers, conditions, and actions

Last updated: September 9, 2026

Every workflow is built from three kinds of building block: a trigger (the event that starts it), optional conditions and logic (which decide whether and how it continues), and actions (what it does). This page explains what each one is and how they fit together; the how-to and recipe articles link back here instead of repeating the model.

Workflows is a beta feature. If you don't see it in your portal, reach out to Nash if you'd like early access.

Triggers

A trigger is the event that starts a workflow — one trigger per workflow. Triggers are grouped into categories in the trigger picker:

  • Order — order lifecycle events and pickup/dropoff time windows. For example: When order is being created, Order Not Dispatched, and the window-milestone triggers Pickup Window Start / End and Dropoff Window Start / End — each fires a set number of minutes before, exactly at, or after that window edge.
  • Delivery — delivery tracking & status events. For example: Delivery Status Transition, Proof of Delivery Uploaded.
  • Task — task dispatch & assignment events. For example: Task Reassignment, Live Monitoring Status.
  • Job — job-level events. For example: Job Creation Failed, Address Validation Failed.
  • Activity — activity & optimization events. For example: Activity Status Transition, Optimization Action Status.
  • Route — route lifecycle events. For example: Route Created, Route Started, Route Stop Completed, Route Completed, Route Canceled.
  • Other — system and custom events, including the Custom Event trigger, which listens for events other workflows emit. See use custom events.

These are the same events Nash detects for notifications — the trigger list is the notification-event catalog wired as workflow start events. For the full list of events and the variables each one carries, see the notification events and variables reference.

Context

Each trigger works on one kind of thing — an order, a delivery, a task, a job, or a route — and that context is a real constraint: it decides which condition fields you can test and which actions you can add later in the same workflow. An order trigger gives you order fields and order actions; a delivery trigger gives you delivery fields and delivery actions. Pick the trigger that matches the thing you want the workflow to act on.

Conditions

A condition tests a property of the job against a value, using an operator. The properties you can test depend on the trigger's context (order, delivery, task, job, or route).

  • Operators: Greater Than, Less Than, Equals, Does Not Equal, Greater Than or Equal, Less Than or Equal, In, Not In, Starts With, Ends With, Contains, Does Not Contain, Length. Presence operators take no value: Is Set, Is Missing (only null or a genuinely absent value counts as missing — 0, an empty string, and an empty list are all set). Date/time fields add: Is After, Is Before, Is On or After, Is On or Before, Is Before Now, Is After Now, Is More Than N Minutes Ago, Is Within the Next N Minutes, Is More Than N Minutes After Another Field.
  • Properties (representative — many more are available in the picker): Package / Order Value, Driver's Tip, Delivery Mode, Dispatch Strategy, Pickup Business Name / State / Zip / Country, Dropoff Business Name / City / State / Zip / Country, Items Count, Number of Packages, Package Count, Total Package Value, Driving Distance, Drive Time, Day of Week, Minutes Until Pickup, Minutes Until Dropoff, Task Attempt Number, package dimensions (width, height, length, max dimension), Package Weight, Package Cube, Tags.

Add multiple conditions and combine them with AND / OR to match exactly the situations you care about.

Logic

Conditions can be arranged in a few shapes:

  • Filter — a straight gate: if the conditions aren't met, the workflow stops there.
  • Yes / No branch — send the job down one path when the conditions are met and a different path when they aren't, instead of just stopping.
  • Branch — split into multiple paths from the same workflow, so one workflow can handle several cases rather than you building a separate workflow for each.

Actions

An action is what a workflow does once its trigger fires and its conditions pass — for example, add a tag, set a dispatch strategy, send a Slack message, flag or cancel a delivery, or emit a custom event. Which actions you can add depends on the trigger's context, and a few are available for some organizations only.

For the full list of actions — what each one does and where it's available — see the workflow actions reference.


See build a workflow to put these together.