Skip to main content

Introduction

Triggers are available for workflow applications only.
A plugin trigger automatically initiates your workflow when a specific event occurs in an external system. All you need to do is subscribe to these events through a trigger plugin and add the corresponding plugin trigger to your workflow. For example, suppose you have installed a GitHub trigger plugin. It provides a list of GitHub events you can subscribe to, including Pull Request, Push, and Issue. If you subscribe to the Pull Request event and add the Pull Request plugin trigger to your workflow, it will automatically run whenever someone opens a pull request in the specified repository.

Add and Configure a Plugin Trigger

  1. On the workflow canvas, right-click and select Add Node > Start, then choose from the available plugin triggers or search for more in Dify Marketplace.
    • If there’s no suitable trigger plugin for your target external system, you can request one from the community, develop one yourself, or use a webhook trigger instead.
    • A workflow can have multiple plugin triggers running in parallel. When the parallel branches contain identical consecutive nodes, you can add a Variable Aggregator node to merge the branches before the common section, without duplicating the same nodes across each branch.
  2. Select an existing subscription or create a new one.
    View how many workflows are using a specific subscription from the plugin’s details panel under Plugins.
  3. Configure any other required settings.
The output variables of a plugin trigger are defined by its trigger plugin and cannot be modified.

Create a New Subscription

A subscription cannot be modified once created. To make changes, delete the existing one and create a new subscription.
A trigger plugin supports creating up to 10 subscriptions per workspace.
Each subscription is built on a webhook. When you create a subscription, you’re essentially setting up a webhook that listens for events from an external system.
A webhook allows one system to automatically send real-time data to another. When a certain event occurs, the source system packages the event details into an HTTP request and sends it to a designated URL provided by the destination system.
Dify supports the following two methods for creating subscriptions (webhooks), but the options available in each plugin depend on how that plugin was designed.
  • Automatic Creation: You select the events you want to subscribe to, and Dify automatically creates the corresponding webhook in the external system. This requires prior authorization via OAuth or API keys so Dify can handle the webhook setup on your behalf.
  • Manual Creation: You create the webhook yourself using the webhook callback URL provided by Dify. No authorization is needed.
Ways to Create Subscriptions
It’s recommended to select all available events when creating a subscription.A plugin trigger works only when its corresponding event is included in the linked subscription. Selecting all available events ensures that any plugin trigger you add to the workflow later can use the same subscription, without creating another one.
  • Create with OAuth (Automatic)
  • Create with API Key (Automatic)
  • Paste URL to Create a New Subscription (Manual)
On Dify Cloud, many popular trigger plugins are pre-configured with default OAuth clients so you can authorize Dify with a single click.For self-hosted deployments, only the custom OAuth client option is available, meaning that you need to create the OAuth application yourself in the external system.
  • Default OAuth Client
  • Custom OAuth Client
  1. Select Create with OAuth > Default > Save and Authorize.
    Save means the selected option is set as the default OAuth method for future subscriptions.To switch methods later, click the OAuth Client Settings icon.OAuth Client Settings Icon
  2. On the external system’s authorization page that pops up, click Next to grant Dify access.
  3. Specify the subscription name, select the events you want to subscribe to, and configure any other required settings.
    We recommend selecting all available events.
  4. Click Create.
The displayed Callback URL is used internally by Dify to create the webhook in the external system on your behalf, so you don’t need to take any action with this URL.For self-hosted deployments, you can change the URL’s base prefix via the TRIGGER_URL environment variable. Ensure it points to a public domain or IP address accessible to external systems.

Test a Plugin Trigger

To test an unpublished plugin trigger, you must first click Run this step or test-run the entire workflow. This puts the trigger into a listening state so that it can monitor external events. Otherwise, the trigger will not capture subscribed events even when they occur.