[☂️] Dify Trigger — Frontend: WebHook Node #16203

Closed
opened 2026-02-21 19:25:04 -05:00 by yindo · 0 comments
Owner

Originally created by @CathyL0 on GitHub (Aug 15, 2025).

Originally assigned to: @CathyL0 on GitHub.

[Sub-issue] Frontend — Webhook Node

Assignee: @CathyL0 (align with @hjlarry )
Related umbrella: #23981

DDL

DDL: 2025.8.31

Goal

Develop the Webhook Trigger as a workflow starting node, enabling workflows to be triggered by incoming HTTP requests from external systems.

The frontend work should provide:

  • A Canvas Node to visually represent the Webhook Trigger within the workflow editor
  • UI for defining webhook properties (URL, HTTP method, content type, parameters)
  • Clear display of how external systems should call the webhook
  • Strong validation to prevent misconfiguration
  • Smooth integration into the trigger system, consistent with other trigger types (Schedule, Plugins)

This will allow users to set up workflows that start upon receiving HTTP requests, without needing external automation tools.

Scope

1. Canvas Node Component

  • Represent Webhook Trigger visually on the workflow canvas
  • Show trigger type (Webhook) and key details (method, URL, content-type)
  • Status indicator for whether the webhook is correctly configured

2. Webhook Settings UI

  • HTTP Method selection: GET, POST, PUT, PATCH, DELETE, HEAD
  • Webhook URL display (generated from backend, read-only)
  • Content-Type selection:
    • application/json
    • application/x-www-form-urlencoded
    • text/plain
    • multipart/form-data
  • Parameter configuration:
    • Query Parameters — name, required flag
    • Header Parameters — name, required flag
    • Request Body Parameters — name, type (String, Number, Boolean, Array, Object), required flag
  • Support adding/removing multiple parameters dynamically

3. Validation & Error Handling

  • Required field checks (e.g., parameter name cannot be empty)
  • URL format validation
  • Duplicate parameter name detection
  • Inline error messages with visual highlights

4. Integration & UX

  • Fully integrated into workflow’s trigger system
  • Works with the block selector so it can be chosen as a starting node
  • State synced with backend data model for saving/loading workflows

5. Technical Considerations

  • TypeScript types for webhook configuration objects
  • Modular components for parameter lists and method/content-type selectors
  • Ensure responsive layout for different screen sizes

Out of Scope

  • Backend webhook listener and request parsing logic
  • Actual execution of workflows upon incoming requests
  • Authentication handling for webhook calls (future enhancement)
  • SaaS-specific event triggers (covered by Plugin Trigger type)
Originally created by @CathyL0 on GitHub (Aug 15, 2025). Originally assigned to: @CathyL0 on GitHub. # [Sub-issue] Frontend — Webhook Node **Assignee:** @CathyL0 (align with @hjlarry ) **Related umbrella:** #23981 ## DDL **DDL:** 2025.8.31 ## Goal Develop the **Webhook Trigger** as a workflow starting node, enabling workflows to be triggered by incoming HTTP requests from external systems. The frontend work should provide: - A **Canvas Node** to visually represent the Webhook Trigger within the workflow editor - UI for defining webhook properties (URL, HTTP method, content type, parameters) - Clear display of how external systems should call the webhook - Strong validation to prevent misconfiguration - Smooth integration into the trigger system, consistent with other trigger types (Schedule, Plugins) This will allow users to set up workflows that start upon receiving HTTP requests, without needing external automation tools. ## Scope ### 1. Canvas Node Component - Represent Webhook Trigger visually on the workflow canvas - Show trigger type (Webhook) and key details (method, URL, content-type) - Status indicator for whether the webhook is correctly configured ### 2. Webhook Settings UI - **HTTP Method selection:** `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `HEAD` - **Webhook URL display** (generated from backend, read-only) - **Content-Type selection:** - `application/json` - `application/x-www-form-urlencoded` - `text/plain` - `multipart/form-data` - **Parameter configuration:** - **Query Parameters** — name, required flag - **Header Parameters** — name, required flag - **Request Body Parameters** — name, type (`String`, `Number`, `Boolean`, `Array`, `Object`), required flag - Support adding/removing multiple parameters dynamically ### 3. Validation & Error Handling - Required field checks (e.g., parameter name cannot be empty) - URL format validation - Duplicate parameter name detection - Inline error messages with visual highlights ### 4. Integration & UX - Fully integrated into workflow’s trigger system - Works with the block selector so it can be chosen as a starting node - State synced with backend data model for saving/loading workflows ### 5. Technical Considerations - TypeScript types for webhook configuration objects - Modular components for parameter lists and method/content-type selectors - Ensure responsive layout for different screen sizes ## Out of Scope - Backend webhook listener and request parsing logic - Actual execution of workflows upon incoming requests - Authentication handling for webhook calls (future enhancement) - SaaS-specific event triggers (covered by Plugin Trigger type)
yindo added the 💪 enhancementfeat:webapp labels 2026-02-21 19:25:04 -05:00
yindo closed this issue 2026-02-21 19:25:04 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16203