---
title: Trigger catalogue
description: Every trigger in the Select Trigger dialog and the template catalogue, with its description as shown in the app, what it watches, its default offset, recurrence, window and re-enrollment timeout.
sidebar:
  order: 3
area: flows
feature: automations
appPath: /flows/home
lastVerified: 2026-10-22
version: "2026-10-16"
audience: admin
related:
  - flows/automations/choose-a-trigger
  - flows/automations/scheduling-internals
  - flows/automations/prevent-repeat-enrollments
intercom:
  - id: "12651319"
    title: Using Triggers in Pyn (Pyn 2)
    url: https://intercom.help/pyn/en/articles/12651319-using-triggers-in-pyn-pyn-2
    note: draws on
  - id: "11987518"
    title: Select the Right Trigger for your Flow (Pyn 2)
    url: https://intercom.help/pyn/en/articles/11987518-select-the-right-trigger-for-your-flow-pyn-2
    note: draws on
---

A trigger is the rule that enrols an employee into an automation. The tables below list each trigger by the category it appears under in **Select Trigger**, with the description shown beside it, the data it watches, the reference date an enrollment gets, and the defaults you can change on the trigger's **Configure** and **Advanced** tabs.

Triggers fall into four kinds under the hood. **Date** triggers compare a date on the employee record with today and are re-checked on every HRIS refresh and every six hours. **Relation** and **group** triggers fire the moment a relationship or group membership changes. **Form submission** triggers fire when a form is completed. **Recurring** triggers fire on a timetable, checked hourly.

## Employee Lifecycle

| Trigger | Description in the app | Watches | Default start | Default recurrence | Reference date | Repeat enrollments |
| --- | --- | --- | --- | --- | --- | --- |
| **Will be joining** | An employee first appears in the HRIS with a future start date, however far out. | The employee entering the **Upcoming Employees** (Joiner) lifecycle group | At the moment of entry | Not applicable | The day the record appeared | Never reenroll |
| **Pre-onboarding** | Prepare the employee prior to starting employment. | **Start Date** | **1 week before**, within-window (fires on any day from a week before through the start date) | just once | The start date | Never reenroll |
| **Start of Onboarding** | Steps to take at the commencement of employment. | **Start Date** | **on the day of** | just once | The start date | Never reenroll |
| **Off-boarding** | Triggers when an employee is departing the organization. | **Termination Date** | **the day before** | just once | The termination date | 1 month |

**Will be joining** is a group trigger on the seeded Joiner lifecycle group, so it has no offset or recurrence and its **Configure** tab is the Group Change form with that group preselected. It is greyed out until the workspace's lifecycle groups exist.

## Dates and Schedules

| Trigger | Description in the app | Watches | Default start | Default recurrence | Reference date | Repeat enrollments |
| --- | --- | --- | --- | --- | --- | --- |
| **Upcoming Anniversary** | The upcoming anniversary of a start date. | **Start Date** | **on the day of** | every year | The anniversary in the matching year | 1 month |
| **Upcoming Milestone Anniversary** | A significant anniversary (e.g. 5 or 10 years) | **Start Date** | **on the day of** | every 5 years | The anniversary in the matching year | 1 month |
| **Recurring Trigger** | A trigger that runs on a recurring, periodic schedule | A timetable: **Starting from Date (Inclusive)**, **Time**, **In Time Zone**, **Recurrence** | Today at 10:00 in your browser's time zone | Weekly | The run date | 1 day |

### Offsets available on every date trigger

**This flow starts**: **2 weeks before**, **1 week before**, **the day before**, **on the day of**, **the day after**, **1 week after**, **2 weeks after**, **1 month after**, **2 months after**, **3 months after**, **6 months after**, or a custom number of days, weeks or months. Moving the start does not move the reference date.

### Recurrence options on every date trigger

| Option | Fires in years |
| --- | --- |
| **just once** | The date itself, once |
| **every year** | 1, 2, 3, ... |
| **every year after the first** | 2, 3, 4, ... |
| **every other year** | 1, 3, 5, ... |
| **every 2 years** | 2, 4, 6, ... |
| **every 5 years** | 5, 10, 15, ... |
| **every 10 years** | 10, 20, 30, ... |

Year 0, the date itself, never fires for a recurring option. A **Birthday** trigger offers **every year** only.

## Team and Org Changes

| Trigger | Description in the app | Watches | Reference date | Repeat enrollments |
| --- | --- | --- | --- | --- |
| **Buddy Assigned** | An employee was assigned a buddy. | The employee's buddy relation being set. The principal is the employee who received a buddy. | The day of the change | 1 month |
| **Promoted to Manager** | An employee moves from zero to one or more reports. | The first direct report being added under an employee. The principal is the new manager. | The day of the change | 1 month |
| **Change of Manager** | The reporting line for an employee has changed. | The employee's manager relation being set or changed. The principal is the employee whose manager changed. | The day of the change | 1 month |
| **Group Change** | An employee joins or leaves a group. | Membership of the groups you pick, with **Trigger when** set to **Employee enters group** or **Employee leaves group** | The day of the change | 1 month |
| **Change of Location** | A change in the primary work location for the employee. | The employee joining a country group. The drawer titles it **Group change**. | The day of the change | 1 month |
| **Connected to Slack** | An employee is matched to their Slack account. | The employee's Slack source being connected. The drawer titles it **Source connected**. | The day of the change | 1 month |

Every trigger in this category ignores changes that arrive during the first load of your HRIS or messaging integration, so connecting a system does not treat every existing manager, buddy or Slack member as new. The drawer says "Only ... added after the first time the employee directory loads are included."

## Form Submission

| Trigger | Description in the app | Watches | Reference date | Repeat enrollments |
| --- | --- | --- | --- | --- |
| A published form, titled **Submission:** *form name* | Triggered when a submission is completed for: *form name*. | Completed, non-test submissions of that form. The principal is the submitter. Polls do not trigger. | The submission day in the submitter's time zone | Always reenroll |

A Form Submission automation is created in **Verification** mode.

## Employee Properties

| Property type | What you set | Behaves as | Reference date | Repeat enrollments |
| --- | --- | --- | --- | --- |
| Date (for example **Probation End Date**, **Tenure Date**, **Termination Date**, **Start Date**) | The property | A date trigger with the full offset and recurrence options | The property date | 1 month |
| Text (for example **Birthday**, which is `MM-DD` text, or a custom field) | The property and a **Value** to match | Fires when the stored value equals the text | The day of the match in the employee's time zone | Never reenroll |
| Yes/no | The property | Fires when the value becomes true | The day of the match in the employee's time zone | Never reenroll |

## Template catalogue triggers

Some triggers are reachable only by adding a template through **Add from Template**. They use the same date machinery.

| Template | Trigger | Default start | Recurrence | Repeat enrollments |
| --- | --- | --- | --- | --- |
| **Birthday celebration**, **Birthday opt-in** | **Birthday** ("This is the birthday on the Employee Record.") | **1 week before** | every year | 1 month |
| **90-day check-in** | **Start Date** with the reference date moved 90 days after the start | **2 weeks before** the shifted date | just once | Never reenroll |
| **Check in with new manager** | Promoted to Manager with the reference date moved 3 months after the promotion | At the shifted date | Not applicable | 1 month |

## Other

| Trigger | Description in the app | Behaviour | Repeat enrollments |
| --- | --- | --- | --- |
| **Custom trigger** | Triggered by an external system via custom code or integration. | Enrollments arrive through the API or an integration Pyn sets up with you. The drawer reads "This automation is triggered by an external system. Employees are enrolled via API or integration." | Always reenroll |
| **No trigger** | Will not trigger automatically. Employees can be manually enrolled. | Only **Manual Enroll** adds people. The **Audience** and **Advanced** tabs are switched off. | Never reenroll |

## Listed but not selectable

The **Leave Based** (**Leave Requested**, **High Leave Balance**, **Departing on Leave**, **Returning from Leave**), **Sales Enablement** (**Increase stalled opportunities**, **Increase in no-show meetings**, **Drop in Email open rate**) and **Support Enablement** (**First 100 tickets**, **Increase repeat escalations**, **Drop in CSAT**) categories show the banner "Some triggers are only available with the associated integration and plan". Every row in them is inactive and cannot be chosen.

## Related

- [Choose a trigger](https://support.pynhq.com/flows/automations/choose-a-trigger/) to pick one and swap it on an existing automation.
- [Scheduling internals](https://support.pynhq.com/flows/automations/scheduling-internals/) for windows, adjustments, cadence and time zones.
- [Prevent repeat enrollments](https://support.pynhq.com/flows/automations/prevent-repeat-enrollments/) for the timeout column.

## Related Intercom articles

- [Using Triggers in Pyn (Pyn 2)](https://intercom.help/pyn/en/articles/12651319-using-triggers-in-pyn-pyn-2) — draws on
- [Select the Right Trigger for your Flow (Pyn 2)](https://intercom.help/pyn/en/articles/11987518-select-the-right-trigger-for-your-flow-pyn-2) — draws on
