Trigger: Deal Changed Stage
Fires a workflow whenever a CRM deal moves forward or backward to a different pipeline stage.
The Deal Changed Stage trigger fires whenever a CRM deal moves from one stage to another inside its pipeline (e.g. from "Qualification" to "Proposal"). Leave it generic to catch any move, or restrict it to a specific target stage.
When to use it
- Auto-send a proposal or quote when a deal enters the "Proposal" stage.
- Notify the team when a deal reaches the last stage before closing.
- Create a task on a Boards project whenever a deal advances.
Requirements
The CRM module (Deals/Pipelines) must be enabled on your workspace.
Filters available
- Specific pipeline (optional).
- Specific target stage: fires only when the deal enters that exact stage; blank = any stage change.
Variables available
$trigger.deal_id,$trigger.title,$trigger.amount,$trigger.pipeline_id,$trigger.status$trigger.stage_name— the name of the new stage (the one the deal just entered).$changes.stage_id.old/$changes.stage_id.new— the previous and new stage's numeric IDs.$trigger.contact_idplus contact variables- ⚠️
$trigger.column_old/$trigger.column_new— not available on this trigger: those keys are only populated for Board items, not CRM deals. A deal stage change never fills them in, so if you use them in a message, it renders empty. Use$trigger.stage_name(new stage, with a name) and/or$changes.stage_id.old/$changes.stage_id.new(IDs, no name) instead.
How to build it
- Go to Workflows → New workflow.
- Drag a Trigger node → pick Deal Changed Stage (under CRM & records).
- Optionally pick the pipeline and the specific target stage.
- Add an action using
$trigger.stage_nameto personalize the message with the new stage's name. - Save and activate.
Example
Workflow "Entered Proposal": fires only when the specific target stage = Proposal → Notify team: 📄 {{trigger.title}} moved to {{trigger.stage_name}} — prepare a quote for {{contact.display_name}}.
Tips
If each pipeline maps to a different product line, filter by pipeline so one team doesn't get another team's alerts.
Troubleshooting
- If the workflow fires more often than expected, double-check the specific target stage filter — without it, the trigger reacts to any stage change, including moves backward.
- If your message shows blank where you expected
{{$trigger.column_old}}or{{$trigger.column_new}}: this is a known issue, those variables don't exist for CRM deals (they're Board-item-only). Use{{$trigger.stage_name}}instead.
Related articles
-
Build your first workflow
Omnifox workflows automate your operation: a trigger starts the automation and action nodes do the work. Build a welcome message in minutes.
-
Workflow triggers catalog
Learn which events can start a workflow automatically in Omnifox.
-
Action nodes available in workflows
Discover the actions a workflow can run automatically.
-
Conditions and branching (if/then) in a workflow
Make your flows take decisions and follow different paths based on each contact data.
-
Ready-to-use workflow templates
Start your automations in minutes from prebuilt flows you can customize.