Skip to content

Workflow vocabulary

Look up the names and internal identifiers used by workflow triggers, conditions and actions.

Generated from the source code

This page is written by tools/docs/workflow-registry.py from the Workflow and HR modules, so it lists what the code declares. Enabled modules and custom fields can change the choices shown in your installation.

Open an option in the editor to see its required values and available operators. For instructions, start with the Workflow Builder; schedules and runs explains re-entry and webhooks. These tables describe the available definitions, not the rules running on your site.

Triggers

Identifier Editor label
asset_low_stock An asset's stock falls to its reorder level
asset_warranty An asset's warranty ends…
client_anniversary A client's joining anniversary
client_inactive A client has been quiet for…
client_login A client signs in to the portal
client_stage A client's stage changes to…
contact_replied A client or lead replies by email (Email Intake)
contact_unsubscribed A contact unsubscribes from marketing email
date_field_due A custom date field comes up…
deal_closing An open deal's expected close date is…
deal_created A deal is created
deal_idle An open deal has had no activity for…
deal_stage A deal's stage changes to…
estimate_created An estimate is created
estimate_expiring A sent estimate expires…
estimate_status An estimate's status changes to…
followup_due A contact's follow-up date arrives
hr_approval_escalated An approval is escalated (no answer in time)…
hr_asset_requested Someone requests equipment
hr_employee_created A new employee is added
hr_employee_terminated An employee leaves (terminated)
hr_leave_decided A time-off request is…
hr_leave_requested Someone requests time off
invoice_created An invoice is created
invoice_due_soon An unpaid invoice is due…
invoice_overdue An invoice is overdue by…
invoice_status An invoice's status changes to…
lead_converted A lead becomes a client
lead_created A new lead comes in (source)…
lead_stage A lead's stage changes to…
manual Added by hand (Runs → Add records)
note_added A note is added to a…
payment_received A payment is recorded on an invoice…
schedule On a schedule (no record)…
segment_entered A client enters a segment…
segment_left A client leaves a segment…
task_created A task is created (type)…
task_due_soon An open task is due…
task_overdue An open task is overdue by…
ticket_assigned A ticket is assigned (team)…
ticket_created A ticket is created
ticket_csat A client rates a ticket (satisfaction)…
ticket_idle A ticket has had no activity for…
ticket_note_added An internal note is added to a ticket
ticket_reopened A resolved ticket is reopened
ticket_replied A ticket gets a reply from…
ticket_sla_breach A ticket's SLA is breached (priority)…
ticket_sla_warning A ticket's SLA is due soon (priority)…
ticket_status A ticket's status changes to…
ticket_tag_added A tag is added to a ticket…
ticket_tag_removed A tag is removed from a ticket…
ticket_unassigned An open ticket has been unassigned for…
ticket_waiting_client A ticket has waited on the client for…
time_logged Time is logged…
webhook_received An incoming webhook (Zapier, Make, a website form…)

Condition fields

Identifier Editor label
asset.category Asset category
asset.days_warranty Days until the warranty ends
asset.qty Quantity on hand
assignee.department Assignee's department
client.balance Balance owed (all invoices)
client.city City
client.company Company
client.days_login Days since they last signed in to the portal
client.lifetime_paid Lifetime paid
client.open_deals Open deals
client.open_tickets Open tickets
client.plan Service plan
client.segments Segments they're in
client.stage Client stage
client.state State / region
client.tags Client tags
client.unpaid_invoices Unpaid invoices
contact.company Company
contact.days_contacted Days since last contacted
contact.days_created Days since they were added
contact.days_followup Days until the next follow-up (negative = overdue)
contact.email Email address
contact.email_domain Email domain (e.g. gmail.com)
contact.may_market Okay to send marketing email
contact.name Name
contact.owner Owner (assigned staff)
contact.phone Phone
contact.source Source
contact.stage Stage
contact.tags Tags
contact.type Is a client or a lead
contact.unsubscribed Has unsubscribed from marketing email
deal.billing Billing
deal.days_close Days until the expected close (negative = missed)
deal.days_updated Days since it was last updated
deal.owner Owner
deal.priority Priority
deal.probability Probability (%)
deal.source Source
deal.stage Stage
deal.type Type
deal.value Value
employee.department Employee's department
employee.location Employee's location
employee.team Employee's team
employee.type Employment type
estimate.days_valid Days until it expires (negative = expired)
estimate.status Estimate status
estimate.total Estimate total
event.value The trigger's value (tag, status, form…)
event.webhook Incoming webhook data
invoice.days_due Days until it's due (negative = overdue)
invoice.days_late Days overdue (0 = not overdue)
invoice.part_paid Partly paid
invoice.title Invoice title
invoice.total Invoice total
task.assignee Task assigned to
task.days_late Days overdue (negative = days left)
task.done Task is done
task.priority Task priority
task.title Task title
task.type Task type
ticket.age_hours Hours since it was opened
ticket.assignee Assigned to
ticket.category Category
ticket.csat Satisfaction rating
ticket.hours_quiet Hours since its last activity
ticket.impact Impact
ticket.last_reply_by Last reply came from
ticket.priority Priority
ticket.replies Number of replies
ticket.sla_state SLA state
ticket.status Status
ticket.tags Tags
ticket.team Team
ticket.text Subject or description
ticket.urgency Urgency
time.business_hours It's within business hours
time.day_of_month Day of the month (1–31)
time.hour Hour of the day (0–23, site time)
time.month Month
time.weekday Day of the week
time.weekend It's the weekend

Actions

Identifier Editor label
add_note Add an internal note
add_record_note Add a note to the record
add_tag Add tags
add_watcher Add watchers to the ticket
assign Assign the ticket
assign_by_skills Assign by skills
assign_deal Assign the deal
assign_owner Assign an owner to the client / lead
close_tasks Close the record's open tasks
contact_add_tags Add tags to the client / lead
contact_remove_tags Remove tags from the client / lead
create_deal Create a deal
create_invoice Create a draft invoice (never sent)
create_lead Create a lead (matched by email)
create_task Create a task
create_ticket Open a ticket for the client
email Send an email
escalate_to_manager Escalate to the assignee's manager
exit_workflows Take the record out of other workflows
invoice_from_estimate Turn the estimate into a draft invoice
invoice_reminder Email the client an invoice reminder
mark_contacted Mark as contacted today
remove_tag Remove tags
set_client_stage Set the client's stage
set_deal_stage Move the deal to a stage
set_followup Set the next follow-up date
set_lead_stage Set the lead's stage
set_priority Set priority
set_status Set status
set_team Set team
start_workflow Start another workflow for this record
ticket_reply Reply to the client on the ticket
unsubscribe Stop marketing email to the contact
wait Wait, then continue
webhook Call a webhook

Before using an action

An invoice-creation action creates a draft for review. An opt-out action can turn the marketing opt-out on, but cannot clear it. Creating or matching a lead does not convert that person into a client account. If an action creates a new record, check which record the following step will use.