Some triggers are only available on certain plans. Premium triggers are marked with a star.
Contact triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Contact Created | A new contact is added (manual, import, form, API) | Source, tags, assigned user | Welcome sequence, lead notification |
| Contact Changed | A field value on a contact is updated | Specific field, old/new value | Re-engagement when status changes |
| Contact Tag Added | A tag is applied to a contact | Tag name | Segment-based nurture campaigns |
| Contact Tag Removed | A tag is removed from a contact | Tag name | Exit sequences, update status |
| Contact DND Updated | Do-Not-Disturb status changes | Channel (SMS, email, call), on/off | Compliance logging, channel switching |
| Birthday Reminder | Contact’s birthday field matches today | Days before | Birthday offers, greeting messages |
| Task Added | A task is created on a contact | Task type, assigned user | Manager notifications |
| Task Completed | A task is marked complete | Task type | Follow-up sequences |
| Note Added | A note is added to a contact record | User who added | Internal alerts |
| Custom Date Reminder | A custom date field matches a relative date | Days before/after, field name | Renewal reminders, anniversary outreach |
Appointment triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Appointment Booked | A new appointment is scheduled | Calendar, calendar group, user | Confirmation messages, prep tasks |
| Appointment Rescheduled | An appointment time is changed | Calendar | Updated reminders |
| Appointment Cancelled | An appointment is cancelled | Calendar, cancellation reason | Win-back sequences |
| Appointment No-Show | Contact marked as no-show | Calendar | Re-booking campaigns |
| Appointment Reminder | A set time before the appointment | Minutes/hours before | Reminder SMS/email |
| Appointment Status Changed | Status changes (confirmed, showed, etc.) | New status | Status-based follow-up |
Pipeline and opportunity triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Opportunity Created | A new opportunity is added | Pipeline, stage, source | Sales team notification |
| Opportunity Stage Changed | An opportunity moves to a different stage | Pipeline, from stage, to stage | Stage-specific tasks, notifications |
| Opportunity Status Changed | Status changes (open, won, lost, abandoned) | Pipeline, new status | Won/lost follow-up |
| Opportunity Value Changed | The monetary value is updated | Pipeline | High-value deal alerts |
| Opportunity Assigned | Assigned user changes | Pipeline, new user | User-specific onboarding |
| Stale Opportunity | No activity for a set number of days | Pipeline, days stale | Re-engagement nudges |
Payment triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Invoice Created | A new invoice is generated | Amount range | Internal logging |
| Invoice Sent | An invoice is sent to the contact | — | Follow-up reminders |
| Invoice Paid | Payment is received on an invoice | Amount, product | Thank-you messages, fulfillment |
| Invoice Overdue | Invoice passes its due date | Days overdue | Payment reminders |
| Payment Received | Any payment is processed | Amount, source | Receipts, onboarding |
| Subscription Created | A recurring subscription begins | Product | Welcome drip |
| Subscription Cancelled | A subscription is cancelled | Product | Win-back campaign |
| Order Placed | An order is submitted | Product, amount | Fulfillment workflow |
| Order Form Submission | An order form is completed | Form name | Upsell sequences |
Form and survey triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Form Submitted | A form is filled out and submitted | Form name | Lead capture follow-up |
| Survey Submitted | A survey response is submitted | Survey name | Feedback-based routing |
| Quiz Completed | A quiz is finished | Quiz name, score range | Score-based segmentation |
| Order Form Submitted | An order form with payment is submitted | Form name | Purchase confirmation |
Communication triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Call Status Changed | A call ends with a specific status | Status (completed, busy, no-answer, voicemail) | Missed call text-back |
| SMS Received | An inbound SMS is received | Contains keyword, phone number | Keyword opt-in, auto-reply |
| Email Opened | A contact opens an email | Email campaign | Engagement scoring |
| Email Clicked | A contact clicks a link in an email | Link URL, campaign | Interest-based follow-up |
| Email Replied | A contact replies to an email | — | Sales notification |
| Email Bounced | An email hard/soft bounces | Bounce type | List cleanup |
| Email Unsubscribed | A contact unsubscribes | — | Compliance logging |
| Facebook Message Received | A message arrives via Facebook | Page | Social lead capture |
| Instagram Message Received | A message arrives via Instagram DM | — | Social engagement |
| Google Business Message Received | A GBP message is received | — | Local lead follow-up |
| Live Chat Message | A webchat message is received | Widget | Chat-to-SMS handoff |
| WhatsApp Message Received | An inbound WhatsApp message arrives | — | WhatsApp nurture |
| Voicemail Received | A voicemail is left | Phone number | Voicemail follow-up |
Membership and course triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Course Started | A student begins a course | Course name | Welcome message |
| Lesson Completed | A student finishes a lesson | Course, lesson | Progress encouragement |
| Course Completed | A student finishes all lessons | Course name | Certificate delivery |
| Membership Granted | Access is given to a membership | Offer | Onboarding drip |
| Membership Revoked | Access is removed | Offer | Win-back |
| Community Post Created | A member posts in a community | Group | Moderation alerts |
Custom and advanced triggers
| Trigger | Fires when | Available filters | Common use cases |
|---|---|---|---|
| Trigger Link Clicked | A contact clicks a trigger link | Link name | Click-based branching |
| Manual Action Completed | A user completes a manual action step | Action name | Human-in-the-loop workflows |
| Inbound Webhook | An external system sends data to the webhook URL | — | Third-party integrations |
| Customer Replied | A contact replies via any channel | Channel type | Conversation routing |
| Contact Engagement Score | Score crosses a threshold | Above/below, score value | Hot lead alerts |
| Custom Field Changed | A specific custom field is updated | Field name, new value | Data-driven automation |
| Recurring Date | Fires on a schedule (daily, weekly, monthly) | Day/time | Recurring tasks, reminders |
Tips for choosing triggers
Use specific triggers over broad ones
Use specific triggers over broad ones
Instead of triggering on “Contact Changed” for everything, use purpose-built triggers like “Opportunity Stage Changed” or “Tag Added” — they give you better filters and fewer false fires.
Combine triggers with filters
Combine triggers with filters
Most triggers let you filter by specific values. Always set filters so your workflow only runs for the right contacts — for example, filtering “Form Submitted” to a specific form.
Watch for duplicate enrollments
Watch for duplicate enrollments
By default, a contact can only be enrolled in a workflow once. If you need re-enrollment, enable it in the workflow’s enrollment settings. See Enrollment settings.