---
title: Trigger
sidebarTitle: "Overview"
---

## Introduction

<Info>
  Triggers are available for workflow applications only.
</Info>

A trigger is a type of Start node that enables your workflow to run automatically—on a schedule or in response to events from external systems (e.g., GitHub, Gmail, or your own internal systems)—rather than waiting for active initiation from a user or an API call.

Triggers are ideal for automating repetitive tasks or integrating your workflow with third-party applications to achieve automatic data synchronization and processing.

A workflow can have multiple triggers running in parallel. You can also build several independent workflows on the same canvas, each starting with its own triggers. 

The trigger source for each workflow execution is displayed in the **Logs** section.

<img src="/images/trigger.png" alt="Trigger" width="450" />

## Trigger Types

- [Schedule Trigger](/en/guides/workflow/node/schedule-trigger)

  - Runs your workflow at specified times or intervals.

  - Example: Automatically generate a daily sales report every morning at 9 AM and email it to your team.

- [Plugin Trigger](/en/guides/workflow/node/plugin-trigger)

  - Runs your workflow when a specific event occurs in an external system, via an event subscription through a trigger plugin.

  - Example: Automatically analyze and archive new messages in a specific Slack channel via a subscription to the `New Message in Channel` event through a Slack trigger plugin.

- [Webhook Trigger](/en/guides/workflow/node/webhook-trigger)

  - Runs your workflow when a specific event occurs in an external system via a custom webhook.
  
  - Example: Automatically process new orders in response to an HTTP request containing the order details from your e-commerce platform.

<Tip>
  Both plugin triggers and webhook triggers make your workflow *event-driven*. Here's how to choose:

  1. Use a **plugin trigger** when a trigger plugin is available for your target external system. You can simply subscribe to the supported events.

  2. Use a **webhook trigger** when no corresponding plugin exists or when you need to capture events not supported by existing plugins. In such cases, you'll need to set up custom webhooks in the external system.
</Tip>

## Enable or Disable Triggers

In the **Quick Settings** side menu, you can enable or disable published triggers. Disabled triggers do not initiate workflow execution.

<Info>
  Only published triggers appear in **Quick Settings**. If you don't see an added trigger listed, ensure it has been published first.
</Info>

<img src="/images/enable_disable_added_trigger.png" alt="Enable or Disable Published Triggers" width="500" />

## Test Multiple Triggers

When a workflow has multiple triggers, you can click **Test Run** > **Run all triggers** to test them at once. The first trigger that activates will initiate the workflow, and the others will then be ignored.

After you click **Run all triggers**:

- Schedule triggers will run at the next scheduled execution time.

- Plugin triggers will listen for subscribed events.

- Webhook triggers will listen for external HTTP requests.

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[Edit this page](https://github.com/langgenius/dify-docs/edit/main/en/guides/workflow/node/trigger.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

