> For the complete documentation index, see [llms.txt](https://docs.usepylon.com/pylon-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.usepylon.com/pylon-docs/platform/triggers.md).

# Triggers

Set up complex workflows and automations to execute your business processes

## Setup

Go to **Settings > Workflows > Triggers** to start creating triggers. Triggers are always organized into a group to help your team stay organized. Click **Create > Create Trigger** to pick from premade templates or start from scratch.

Every trigger has three parts:

1. **When** — the kickoff event that starts the trigger.
2. **If** — optional conditions the object must meet, plus optional time delays.
3. **Then** — the actions to take.

### Kickoffs <a href="#kickoffs" id="kickoffs"></a>

A kickoff is the event that starts a trigger. Pick one in the **When** card, and use **Add another trigger event** to start the same trigger from more than one event. All kickoffs on a trigger must belong to the same object (for example, all issue events).

<figure><img src="https://982123570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9hXBoCTTNw5flARlUVJf%2Fuploads%2FD9OjerIz3Udtlror7UyO%2FCleanShot%202025-10-31%20at%2013.59.56.png?alt=media&amp;token=edbd5732-1567-4420-a58c-9fb833862162" alt="" width="316"><figcaption></figcaption></figure>

{% hint style="info" %}
Every ticket starts as an issue, so a trigger that uses both **New issue created** and **Issue turned into ticket** runs twice for new tickets.
{% endhint %}

#### Issues

| Kickoff                             | When it fires                                                                                                                                                |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| New issue created                   | A new issue is created.                                                                                                                                      |
| Issue turned into ticket            | An issue becomes a ticket.                                                                                                                                   |
| Issue has a new message             | A message or internal note is added. Filter by sender (customer, your team, or anyone) and message type, and optionally skip the first message on the issue. |
| Issue status changed                | The issue moves to a new status. Optionally limit to specific statuses.                                                                                      |
| Issue assigned                      | The assignee changes.                                                                                                                                        |
| Issue team set                      | The issue's team changes.                                                                                                                                    |
| Issue account changed               | The issue is moved to a different account.                                                                                                                   |
| Issue tags changed                  | Tags are added to or removed from the issue.                                                                                                                 |
| Issue custom field changed          | A selected issue field changes.                                                                                                                              |
| Issue unsnoozed                     | A snoozed issue wakes up.                                                                                                                                    |
| Issue reaction added                | A reaction is added to any message on the issue. Optionally limit to specific reactions and who added them.                                                  |
| Slack internal thread created       | An [internal thread](/pylon-docs/support-workflows/issues/internal-threads.md) is posted to a Slack channel. Optionally limit to a channel.                  |
| Issue product ticket status changed | A linked Jira, Linear, GitHub, Asana, or Shortcut ticket changes status.                                                                                     |
| CSAT survey completed               | A customer responds to a [CSAT survey](/pylon-docs/support-workflows/csat.md).                                                                               |
| Email not delivered                 | An email sent on the issue bounces or can't be delivered.                                                                                                    |
| Message redacted                    | A message on the issue is redacted. Available on select plans.                                                                                               |
| Issue has a new voice call          | An inbound or outbound call is added to the issue. Requires [Phone](/pylon-docs/support-workflows/phone-support.md).                                         |

#### SLAs

See [SLAs](/pylon-docs/support-workflows/slas-and-timers.md) for how each SLA type is measured.

| Kickoff                                                                   | When it fires                                         |
| ------------------------------------------------------------------------- | ----------------------------------------------------- |
| Issue SLA changed                                                         | An SLA is applied to the issue or its SLA changes.    |
| Issue SLA breached                                                        | Any issue SLA breaches.                               |
| Issue first response SLA breached                                         | The first response SLA breaches.                      |
| Issue next response SLA breached                                          | The next response SLA breaches.                       |
| Issue follow-up SLA breached                                              | The follow-up SLA breaches.                           |
| Issue resolution SLA breached                                             | The resolution SLA breaches.                          |
| Team SLA changed                                                          | A team SLA is applied or changes. Requires team SLAs. |
| Team SLA breached                                                         | Any team SLA breaches. Requires team SLAs.            |
| Team first response / next response / follow-up / resolution SLA breached | That team SLA breaches. Requires team SLAs.           |

On SLA breach kickoffs, click **Front-delay** to fire the trigger a set amount of time *before* the breach instead of at it — for example, to warn the assignee 30 minutes ahead. Check **Count only support hours** to count only time inside your [support hours](/pylon-docs/support-workflows/support-hours.md).

#### Accounts and contacts

| Kickoff                      | When it fires                                                           |
| ---------------------------- | ----------------------------------------------------------------------- |
| New account created          | A new account is created.                                               |
| Account owner changed        | The account owner changes.                                              |
| Account tags changed         | Tags are added to or removed from the account.                          |
| Account custom field changed | A selected account field changes.                                       |
| New contact created          | A new contact is created.                                               |
| Contact custom field changed | A selected contact field changes.                                       |
| NPS survey completed         | A contact responds to an NPS [survey](/pylon-docs/platform/surveys.md). |

#### Tasks and projects

See [Tasks & Projects](/pylon-docs/account-intelligence/tasks-and-projects.md).

| Kickoff                            | When it fires                           |
| ---------------------------------- | --------------------------------------- |
| New task created                   | A new task is created.                  |
| Task status changed                | The task moves to a new status.         |
| Task has a new comment             | A comment is added to the task.         |
| Task custom field changed          | A selected task field changes.          |
| Task product ticket status changed | A linked product ticket changes status. |
| New project created                | A new project is created.               |
| Project status changed             | The project moves to a new status.      |
| Project owner changed              | The project owner changes.              |
| Project custom field changed       | A selected project field changes.       |
| Milestone completed                | A milestone in a project is completed.  |

#### Feature requests

Requires [Feature Requests](/pylon-docs/product-intelligence/feature-requests.md), available on select plans.

| Kickoff                                       | When it fires                              |
| --------------------------------------------- | ------------------------------------------ |
| Feature request created                       | A new feature request is created.          |
| Feature request status changed                | The feature request moves to a new status. |
| Feature request custom field changed          | A selected feature request field changes.  |
| Feature request product ticket status changed | A linked product ticket changes status.    |

#### Meetings and opportunities

| Kickoff                          | When it fires                                                                                                                                        |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| New meeting created              | A meeting is added from a connected [calendar](/pylon-docs/integrations/calendar.md) or [call recorder](/pylon-docs/integrations/call-recording.md). |
| Meeting occurred                 | A meeting has ended.                                                                                                                                 |
| Meeting transcript ingested      | A call recording transcript is added to the meeting.                                                                                                 |
| Meeting custom field changed     | A selected meeting field changes.                                                                                                                    |
| New opportunity created          | A new opportunity is created in Pylon or synced from your [CRM](/pylon-docs/integrations/crm.md).                                                    |
| Opportunity custom field changed | A selected opportunity field changes.                                                                                                                |

#### Knowledge base

| Kickoff           | When it fires                                                                                       |
| ----------------- | --------------------------------------------------------------------------------------------------- |
| Article published | A knowledge base article is published, including when you publish an update to an existing article. |

#### Custom objects

If your workspace uses [custom objects](/pylon-docs/platform/custom-objects.md), each object type adds two kickoffs: **New \[object] created** and **\[Object] custom field changed**.

#### Team and calendar

| Kickoff                         | When it fires                                                                                                                        |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| User status changed             | A teammate's [status](/pylon-docs/support-workflows/assignment-rules/user-status.md) changes (for example, Active to Out of Office). |
| New out of office event created | An out of office event is added to a teammate's connected [calendar](/pylon-docs/integrations/calendar.md).                          |
| Out of office gap detected      | Out of office events leave a team with no one available during part of its support hours.                                            |

#### Other

| Kickoff             | When it fires                                                                                                                                                                                                                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Recurring schedule  | Runs on a schedule (every N days, weeks, or months, or every weekday) and checks every matching account, contact, issue, or task. Choose whether it acts every time, or only the first time an object matches and then again after a waiting period or once the object stops and starts matching. |
| Anomaly detected    | Pylon detects an [anomaly](/pylon-docs/support-workflows/issues/anomaly-detection.md) in your issues. Requires the AI Assistants plan.                                                                                                                                                            |
| Email blocked       | Email from an address is blocked for the first time.                                                                                                                                                                                                                                              |
| Email suppressed    | An email can't be sent because the recipient's address is suppressed or inactive.                                                                                                                                                                                                                 |
| Phone call comes in | A call reaches one of your support numbers. Set this up from your phone number's call flow, not from the Triggers page. Requires [Phone](/pylon-docs/support-workflows/phone-support.md).                                                                                                         |

### Conditions <a href="#conditions" id="conditions"></a>

Conditions narrow down which objects a trigger acts on. Each flow has an **If** card where you can **Condition by field** (any default or custom field on the object, combined with AND, or OR using **+ Add filter group**) or **Condition by AI prompt**. Flows are checked top to bottom (**If**, then **Else if**), and only the first flow that matches runs. Add a **Time delay** step to wait, in wall-clock time or support hours, before continuing.

See [Conditions](/pylon-docs/platform/triggers/conditions.md) for how flows and time delays are evaluated, and what each condition field means, including **Issue Direction** and **Member of Team**.

### Actions <a href="#actions" id="actions"></a>

Pick one or more actions to run, in order, when the conditions are met. The action list only shows actions that work with your kickoff's object. Type `{` in message fields to insert template variables such as the issue title or account name. See [Template variables](/pylon-docs/platform/triggers/template-variables.md) for every variable, its syntax, and how values are formatted.

<figure><img src="https://982123570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9hXBoCTTNw5flARlUVJf%2Fuploads%2FhowUB0VBDpHIOoj7EUZ9%2FCleanShot%202025-06-03%20at%2021.18.30%402x.png?alt=media&amp;token=add59af1-f66a-4bed-8108-1ffe11e23124" alt=""><figcaption><p>An action sequence of assigning an issue to the support team and DMing the assignee a message.</p></figcaption></figure>

#### Update issues

| Action                         | What it does                                                                                | Notes                                                                                                |
| ------------------------------ | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Set issue status               | Moves the issue to a status.                                                                |                                                                                                      |
| Set issue assignee             | Assigns the issue to a user.                                                                | See [unavailable users](/pylon-docs/platform/triggers/conditions.md#assigning-to-unavailable-users). |
| Set issue team                 | Assigns the issue to a team.                                                                |                                                                                                      |
| Set issue requester            | Changes the issue's requester.                                                              |                                                                                                      |
| Set issue tags                 | Adds or removes issue tags.                                                                 |                                                                                                      |
| Set issue SLA                  | Applies an SLA policy.                                                                      |                                                                                                      |
| Set customer portal visibility | Shows or hides the issue in the [customer portal](/pylon-docs/customer-portal/overview.md). |                                                                                                      |
| Add issue follower             | Adds a user, the account owner, or a user from a custom field as a follower.                |                                                                                                      |
| Remove issue follower          | Removes a follower the same way.                                                            |                                                                                                      |
| Delete issue                   | Deletes the issue.                                                                          |                                                                                                      |
| Mark issue as spam             | Marks the issue as spam.                                                                    | Only when the trigger filters for **Issue Source is Email**.                                         |
| Set team SLA                   | Applies a team SLA.                                                                         | Requires team SLAs. Added through SLA templates.                                                     |

#### Update other objects

| Action                     | What it does                                                                                                           | Notes                                                |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| Set custom field value     | Sets a field on the trigger's object.                                                                                  | Most objects.                                        |
| Set account owner          | Changes the account owner.                                                                                             | Account, task, and project triggers.                 |
| Set account tags           | Adds or removes account tags.                                                                                          | Account, task, and project triggers.                 |
| Set customer portal role   | Sets a contact's portal role.                                                                                          | Contact triggers.                                    |
| Bulk update contacts       | Sets the portal role for every contact on the account.                                                                 | Account, task, and project triggers.                 |
| Set task status            | Moves the task to a status.                                                                                            | Task triggers.                                       |
| Set task assignee          | Assigns the task.                                                                                                      | Task triggers.                                       |
| Set feature request status | Moves the feature request to a status.                                                                                 | Feature request triggers.                            |
| Set article tags           | Adds or removes article tags.                                                                                          | Article published trigger.                           |
| Create new task            | Creates a task.                                                                                                        | Most objects.                                        |
| Create new project         | Creates a project from a [project template](/pylon-docs/account-intelligence/tasks-and-projects/project-templates.md). | Issue, account, task, project, and meeting triggers. |

#### Reply to customers

| Action                                | What it does                                                                                           | Notes                                                                                  |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| Send issue message                    | Replies in the customer thread or adds an internal note, as the assignee, a specific user, or the bot. | Issue triggers.                                                                        |
| Send message to account Slack channel | Posts a message in the account's shared channel.                                                       | Account, task, project, and meeting triggers.                                          |
| Send message to account contacts      | Emails the account's contacts.                                                                         | Account, task, project, and meeting triggers.                                          |
| Send survey                           | Sends a [CSAT survey](/pylon-docs/support-workflows/csat.md) on the issue.                             | Issue triggers.                                                                        |
| Broadcast survey                      | Sends a [survey](/pylon-docs/platform/surveys.md) to an account's contacts.                            | Account, task, and project triggers.                                                   |
| Send form                             | Sends a [ticket form](/pylon-docs/support-workflows/ticket-forms.md) in the conversation.              | Only when the trigger filters for a Slack or Microsoft Teams issue source.             |
| Forward issue to email                | Forwards the issue to an email address.                                                                | Only when the trigger filters for **Issue Source is Email** or **Form**.               |
| Add Slack reaction                    | Adds an emoji reaction to the customer's message.                                                      | Requires Slack. Only when the trigger filters for a Slack or Chat Widget issue source. |

#### Notify your team

| Action                  | What it does                                                                                                                                                  | Notes                                              |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| Send Slack notification | Posts to a Slack channel or DMs the assignee or account owner.                                                                                                | Requires Slack. Available on nearly every kickoff. |
| Send email notification | Emails users or teams.                                                                                                                                        | Available on nearly every kickoff.                 |
| Create internal thread  | Opens an [internal thread](/pylon-docs/support-workflows/issues/internal-threads.md) for the issue in a Slack channel.                                        | Issue triggers.                                    |
| Invite                  | Invites users or a team to the account's Slack channel.                                                                                                       | Account, task, and project triggers.               |
| Alert on issue          | Pages through [PagerDuty](/pylon-docs/integrations/alerting/pagerduty.md), [Opsgenie](/pylon-docs/integrations/alerting/opsgenie.md), incident.io, or Rootly. | Issue triggers. Requires the alerting integration. |

#### Integrations

| Action       | What it does                                                                                                                                                                                           | Notes                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- |
| Send webhook | Sends a request to an [outbound webhook](/pylon-docs/developer/webhooks.md) with a JSON payload built from [template variables](/pylon-docs/platform/triggers/template-variables.md#webhook-payloads). | Available on nearly every kickoff. |

#### Phone

Available on **Phone call comes in** triggers. Requires [Phone](/pylon-docs/support-workflows/phone-support.md).

| Action             | What it does                                           |
| ------------------ | ------------------------------------------------------ |
| Start IVR          | Plays a menu and branches on the caller's choice.      |
| Route call         | Rings a team or users, via round robin or all at once. |
| Play audio message | Plays text-to-speech or an audio file.                 |
| Send to voicemail  | Sends the caller to voicemail.                         |
| End call           | Hangs up.                                              |

#### Control flow

| Action         | What it does                                                                                                        |
| -------------- | ------------------------------------------------------------------------------------------------------------------- |
| Take no action | Does nothing. Use it as the only action in a guard flow to stop later flows from running without changing anything. |

***

### Organization

Triggers are executed in order from top to bottom for a given kickoff event, and later triggers won't re-trigger earlier ones. Use **Create > Create Group** to separate triggers into groups for easier management, and drag triggers to reorder them.

<figure><img src="https://982123570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9hXBoCTTNw5flARlUVJf%2Fuploads%2FwbmZKUIHTLnN2bDiIpYJ%2FCleanShot%202024-11-09%20at%2016.46.02.png?alt=media&amp;token=38c78591-3393-415a-80a8-b76e67a3260f" alt=""><figcaption></figcaption></figure>

### Recipes

Select from many pre-built templates of common automations.

<figure><img src="https://982123570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9hXBoCTTNw5flARlUVJf%2Fuploads%2FU5lXuMtbVOrGFOkru8EX%2FTriggers.png?alt=media&amp;token=1c1b4a6b-4a65-4087-81df-c6344caea93d" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.usepylon.com/pylon-docs/platform/triggers.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
