> ## Documentation Index
> Fetch the complete documentation index at: https://help.reevo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Understanding Workflow Triggers

> Triggers are the starting point of every workflow - they define what event causes your automation to run. Choosing the right trigger is the most important decision when building a workflow.

## Overview

Every workflow begins with a **trigger** - the event that kicks off your automation. Without one, your workflow will never run. When creating a new workflow from a template, the trigger type is pre-selected, but you can change it while the workflow is in Draft status.

This page lists released triggers plus custom object triggers. It does not include unreleased triggers.

***

## Trigger Types at a Glance

| Category                  | Triggers                                                                                    | Best For                                                                                   |
| :------------------------ | :------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- |
| **Account**               | Account Created, Account Updated                                                            | Account onboarding, ownership assignment, lifecycle automation                             |
| **Contact**               | Contact Created, Contact Updated                                                            | Lead routing, sequence enrollment, contact data cleanup                                    |
| **Opportunity**           | Opportunity Created, Opportunity Updated                                                    | Deal-stage automation, closed-won handoffs, pipeline alerts                                |
| **Relationships**         | Relationship Created, Relationship Updated                                                  | Automations that should run when two CRM records are linked or an existing link changes    |
| **Meetings**              | Meeting Created, Time Before Meeting Start, Meeting Started, Meeting Updated, Meeting Ended | Meeting prep, follow-up, reminders, and meeting activity alerts                            |
| **Schedule**              | Recurring Schedule                                                                          | Recurring or one-time automations that should run based on time instead of a record change |
| **Communication**         | Webhook Received                                                                            | Webhooks from external systems                                                             |
| **Custom object records** | Custom Object Created, Custom Object Updated                                                | Automations around custom CRM data                                                         |

***

## Trigger Details

<AccordionGroup>
  <Accordion title="Account, Contact, and Opportunity Created">
    Fires whenever a new account, contact, or opportunity is created in Reevo - whether created manually, via import, through an integration, or by another workflow.

    **Common use cases:**

    * Assign an owner to a new account
    * Enroll a new contact in an onboarding sequence
    * Send a Slack alert when a new opportunity is created

    **Configuration tips:**

    * Choose the object-specific trigger that matches the record type you want to watch
    * Add optional filter conditions to only trigger for records matching your criteria
    * Use trigger variables in downstream nodes to reference the record that started the workflow
  </Accordion>

  <Accordion title="Account, Contact, and Opportunity Updated">
    Fires when an existing account, contact, or opportunity changes. Use update triggers when the workflow should react to a field change, stage change, owner change, or other data update.

    **Common use cases:**

    * Notify a Slack channel when an opportunity stage changes to "Closed Won"
    * Add a contact to a sequence when their lifecycle stage updates
    * Update related records when an account field changes

    **Configuration tips:**

    * Add filter conditions that define the update you care about
    * Use AND/OR logic to combine multiple conditions
    * For stage changes, use the appropriate stage fields and then use a Move Stage action node if the workflow needs to change another record's stage

    <Warning>
      A broad update trigger can run very often. Configure conditions so the workflow only fires for meaningful updates.
    </Warning>
  </Accordion>

  <Accordion title="Relationship Created and Relationship Updated">
    Relationship triggers start a workflow when two CRM records are linked or when an existing relationship changes. Use them when the relationship itself is the event you care about, rather than a field update on one of the records.

    **Supported relationships can include:**

    * Contact linked to account.
    * Contact linked to opportunity.
    * Custom object relationships configured in your workspace.

    **Common use cases:**

    * Notify a team when a contact is added to a strategic account.
    * Create a task when a decision maker is linked to an opportunity.
    * Update a related record when a custom object record is linked.

    **Configuration tips:**

    * Choose the relationship type the workflow should watch.
    * Add optional filters for either side of the relationship, such as only contacts with a certain title or accounts in a certain segment.
    * For contact-account and contact-opportunity relationships, you can also filter on relationship details such as primary account or primary contact.
    * Use relationship variables in downstream nodes to reference both linked records.

    <Info>
      Account Updated, Contact Updated, Opportunity Updated, and Custom Object Updated triggers watch record field changes. Use Relationship Created or Relationship Updated when the workflow should run because records were linked, unlinked, or the link details changed.
    </Info>
  </Accordion>

  <Accordion title="Meeting Triggers">
    Meeting triggers start workflows when meeting activity happens. Available meeting triggers include Meeting Created, Time Before Meeting Start, Meeting Started, Meeting Updated, and Meeting Ended.

    **Common use cases:**

    * Send a prep reminder before a customer meeting starts
    * Create a task 30 minutes before an upcoming sales meeting
    * Send a follow-up Slack reminder after a meeting ends
    * Alert a manager when an important customer meeting starts

    **Configuration tips:**

    * Use **Time Before Meeting Start** for pre-call workflows that should run before the scheduled start time
    * Use **Meeting Ended** for post-call workflows
    * Add filters when the workflow should only apply to certain meeting types, owners, or related records
  </Accordion>

  <Accordion title="Time Before Meeting Start">
    Fires before a scheduled meeting starts, based on the amount of time you configure. The trigger only runs for scheduled meetings that match the trigger's filters.

    **Common use cases:**

    * Notify a rep before a high-priority meeting starts
    * Create a final prep task before a customer call
    * Send meeting context to Slack before a sales meeting

    **Key configuration:**

    * Set the duration amount and time unit, such as 30 minutes, 1 hour, or 1 day before the meeting starts
    * The minimum allowed duration is 10 minutes before the meeting starts
    * Add optional filters when the workflow should only apply to certain meetings, such as sales meetings, meetings with a specific account, or meetings owned by a specific organizer
    * Use meeting trigger variables in downstream nodes to reference the meeting and its related records

    <Info>
      Time Before Meeting Start is checked on a recurring schedule, so it should be treated as a near-start-time trigger rather than a second-by-second timer.
    </Info>
  </Accordion>

  <Accordion title="Recurring Schedule">
    Starts a workflow based on a time-based schedule instead of a CRM record, meeting, or webhook event. This is also called the Schedule trigger. Use it when the workflow should run on a one-time, daily, weekly, monthly, or custom cron cadence.

    **Common use cases:**

    * Send a recurring Slack reminder to review pipeline hygiene.
    * Create a periodic task for reps or managers.
    * Run a workflow once at a future date and time.
    * Trigger maintenance or follow-up automation on a recurring cadence.

    **Key configuration:**

    * Choose the frequency type: **Once**, **Daily**, **Weekly**, **Monthly**, or **Custom (Cron)**.
    * Pick the timezone for the schedule. Reevo uses IANA timezone names such as America/Los\_Angeles, America/New\_York, or UTC.
    * For **Once**, choose a future date and time.
    * For **Daily**, choose the time of day. Daily schedules can also run every N days.
    * For **Weekly**, choose one or more days of the week and the time of day.
    * For **Monthly**, choose the day of the month and the time of day.
    * For **Custom (Cron)**, enter a 5-field cron expression in the format `minute hour day-of-month month day-of-week`.

    <Info>
      Schedule triggers start new workflow runs when the schedule fires. They are different from the **Delay** action node, which pauses an individual workflow run after another trigger has already started it.
    </Info>
  </Accordion>

  <Accordion title="Webhook Received">
    Fires when an external system sends an HTTP POST request to your workflow's unique webhook URL. The incoming payload data is available as variables in downstream nodes.

    **Common use cases:**

    * Trigger a workflow from a third-party tool like Clay, Zapier, or Make
    * Create or update Reevo records from data sent by an external system
    * React to events happening outside Reevo in real time

    **Configuration tips:**

    * Reevo generates a unique webhook URL for your workflow
    * The external system must send a POST request with a JSON body
    * You can define the expected payload structure so payload fields are easy to use as variables
    * API key authentication is available when the sender should be required to authenticate

    See [Using Webhooks to Trigger Workflows](/Automations-and-Workflows/Webhook-Trigger) for setup instructions.

    To send data from Reevo to an external endpoint after a workflow starts, add a **Webhook** action node instead. See [Workflow Action Nodes](/Automations-and-Workflows/Workflow-Action-Nodes) for outbound webhook details.
  </Accordion>

  <Accordion title="Custom Object Triggers">
    Custom object triggers start workflows from custom CRM records.

    **Available triggers can include:**

    * Custom Object Created
    * Custom Object Updated

    **Common use cases:**

    * Update a standard record when a related custom object changes
    * Notify a team when a new custom object record is created
    * Keep custom CRM data synchronized with standard records
  </Accordion>
</AccordionGroup>

***

## Changing a Trigger

You can change a workflow's trigger type while it is in **Draft** status. If your workflow is currently **Active**, deactivate it first, update the trigger, then re-deploy and reactivate. Note that when changing triggers, any variables pointing to the previous trigger may break and will need to be updated.

***

## Troubleshooting / FAQs

<AccordionGroup>
  <Accordion title="Why do I see different triggers than another workspace?">
    Trigger availability can depend on enabled product areas and workflow scope. This page lists released triggers and custom object triggers; unreleased triggers are intentionally excluded.
  </Accordion>

  <Accordion title="What's the difference between Schedule and Delay?">
    **Schedule** is a trigger. It starts a new workflow run at configured times. **Delay** is an action node. It pauses a workflow run that has already started, then continues to the next node.
  </Accordion>

  <Accordion title="My updated-record workflow is firing too often - how do I control it?">
    Add more specific filter conditions. For example, instead of watching all Contact updates, set the condition to "Stage changed to Qualified" so the workflow only fires on that transition. You can layer multiple conditions using AND/OR logic.
  </Accordion>

  <Accordion title="Can I have multiple triggers in one workflow?">
    No - each workflow has exactly one trigger. If you need the same actions to fire from different events, create separate workflows that share the same downstream action structure.
  </Accordion>

  <Accordion title="My created-record trigger didn't fire for a record I just added - why?">
    Check three things: (1) verify the record type matches the trigger, (2) confirm any filter conditions are satisfied by the new record, and (3) make sure the workflow is deployed and Active. Draft workflows never execute.
  </Accordion>
</AccordionGroup>

> Still have questions? [Sign in](https://app.reevo.ai) and use Ask Reevo for instant answers or to raise a support ticket.
