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

# 插件触发器

## 简介

<Info>
  触发器仅适用于工作流应用。
</Info>

插件触发器能够让工作流在特定外部事件发生时自动运行。你只需通过触发器插件订阅事件，并将相应的插件触发器添加到工作流中即可。

例如，假设你安装了一个 GitHub 触发器插件。它提供许多可订阅的 GitHub 事件，包括 `Pull Request`、`Push` 和 `Issue`。若你订阅了 `Pull Request` 事件，并将对应的 `Pull Request` 插件触发器添加到工作流中，那么每当有人在指定仓库中创建 pull request 时，工作流就会自动运行。

## 添加和配置插件触发器

1. 在工作流画布上，单击右键并选择 **添加节点** > **开始**，然后选择可用的插件触发器，或在 [Dify 插件市场](https://marketplace.dify.ai/?language=zh-Hans\&category=trigger) 中搜索更多插件。

   <Tip>
     * 若未找到合适的触发器插件，你可以 [向社区请求](https://github.com/langgenius/dify-plugins/issues/new?template=plugin_request.yaml)、自行开发，或者改用 Webhook 触发器。

     * 一个工作流可同时拥有多个并行的插件触发器。当并行的分支连续包含相同节点时，可在相同部分之前添加变量聚合节点以合并分支，而无需在每个分支中分别重复添加相同的节点。
   </Tip>

2. 选择一个现有订阅或 [创建新订阅](#创建新订阅)。

   <Tip>
     在 **插件** 页面的插件详情面板中，可查看某个特定订阅正在被多少个工作流使用。
   </Tip>

3. 配置其他必需设置。

<Info>
  插件触发器的输出变量由其触发器插件定义，无法修改。
</Info>

## 创建新订阅

<Info>
  每个工作区中，一个触发器插件支持最多创建 10 个订阅。
</Info>

每个订阅都建立在一个 webhook 之上。当你创建订阅时，实际上是在设置一个能够监听外部系统事件的 webhook。

<Accordion title="什么是 Webhook？">
  Webhook 允许一个系统自动向另一个系统发送实时数据。当某个特定事件发生时，源系统将事件详情打包进一个 HTTP 请求，并发送至目标系统的指定 URL。
</Accordion>

Dify 支持通过以下两种方法创建订阅（webhook），但每个插件中的可用选项取决于插件本身的设计。

* **自动创建**：你只需选择要订阅的事件，Dify 将在外部系统中自动创建相应的 webhook。这需要你先通过 **OAuth** 或 **API key** 对 Dify 进行授权，以便其代表你配置 webhook。

* **手动创建**：你使用 Dify 提供的回调 URL 自行创建 webhook，无需任何授权。

<img src="https://mintcdn.com/dify-4171f9f9/vMKCXdVD-5Kdilzi/images/create_subscription_method.png?fit=max&auto=format&n=vMKCXdVD-5Kdilzi&q=85&s=80cad75e503178b2b23980d5b8713f79" alt="Ways to Create Subscriptions" width="563" data-path="images/create_subscription_method.png" />

<Tip>
  创建订阅时，建议选择所有可用的事件。

  仅当关联的订阅中包含触发器对应的事件时，插件触发器才会正常工作。若选择所有可用的事件，后续添加到工作流中的任何插件触发器均可使用同一个订阅，而无需创建新订阅。
</Tip>

<Tabs>
  <Tab title="通过 OAuth 创建（自动）">
    对于自托管部署，只能通过自定义 OAuth 客户端进行授权，即你需要在外部系统中自行创建 OAuth 应用。

    1. 选择 **通过 OAuth 创建**。

    2. 在外部系统中，使用 Dify 提供的回调 URL 创建一个 OAuth 应用。

    3. 返回 Dify，输入新创建的 OAuth 应用的客户端 ID 和客户端密钥，然后点击 **保存并授权**。

           <Info>
             保存后，可在未来的订阅中重复使用此客户端凭据。
           </Info>

    4. 填写订阅名称，选择你想要订阅的事件，并配置其他必需设置。

           <Tip>
             建议选择所有可用的事件。
           </Tip>

    5. 点击 **创建**。

    <Info>
      订阅配置页面上显示的 **回调 URL** 由 Dify 用于代表你在外部系统中创建 webhook。你无需对此 URL 执行任何操作。

      对于自托管部署，可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
    </Info>
  </Tab>

  <Tab title="通过 API Key 创建（自动）">
    1. 选择 **通过 API Key 创建**。

    2. 输入所需的验证信息，然后点击 **验证**。

    3. 填写订阅名称，选择你想要订阅的事件，并配置其他必需设置。

           <Tip>
             建议选择所有可用的事件。
           </Tip>

    4. 点击 **创建**。

    <Info>
      订阅配置页面上显示的 **回调 URL** 由 Dify 用于代表你在外部系统中创建 webhook。你无需对此 URL 执行任何操作。

      对于自托管部署，可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
    </Info>
  </Tab>

  <Tab title="粘贴 URL 以创建新订阅（手动）">
    1. 选择 **粘贴 URL 以创建新订阅**。

    2. 指定订阅名称，并使用提供的回调 URL 在外部系统中手动创建 webhook。

           <Info>
             对于自托管部署，可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
           </Info>

    3. （可选）测试已创建的 webhook。

           <Info>
             许多外部系统在新的 webhook 创建后会自动向 Dify 发送 ping 请求以进行测试。
           </Info>

       1. 手动触发一个订阅的事件，以让外部系统向 Dify 提供的回调 URL 发送 HTTP 请求。

       2. 回到 **手动设置** 页面，查看底部的 **请求日志**。若 webhook 运作正常，你将看到接收到的外部请求与 Dify 的响应。

              <img src="https://mintcdn.com/dify-4171f9f9/mZ12wIe1vYw_wFxp/images/plugin_trigger_manual_setup_request_logs.png?fit=max&auto=format&n=mZ12wIe1vYw_wFxp&q=85&s=ea3fcdaa54a6a6025e90cd9462c71dc4" alt="Request Logs" width="563" data-path="images/plugin_trigger_manual_setup_request_logs.png" />

    4. 点击 **创建**。
  </Tab>
</Tabs>

## 测试插件触发器

如需测试未发布的插件触发器，必须先点击 **运行此步骤** 或测试运行整个工作流，使触发器进入监听状态。否则，即使订阅的事件发生，也不会被触发器捕获。
