Skip to content

Webhooks ​

Webhooks allow you to send bot message events to external services for processing.

Configure Webhooks ​

  1. In LangBot WebUI, click "API Integration" in the sidebar
  2. Switch to the "Webhooks" tab
  3. Click "+" to create a new webhook
  4. Fill in:
    • Name: Webhook identifier
    • URL: Target URL to receive events
    • Description: Optional
    • Status: Enable or disable

Event Format ​

Person Message (bot.person_message) ​

json
{
  "uuid": "event-unique-id",
  "event_type": "bot.person_message",
  "data": {
    "bot_uuid": "bot-uuid",
    "adapter_name": "AdapterName",
    "sender": {
      "id": "user-id",
      "name": "User Name"
    },
    "message": [
      {
        "type": "Plain",
        "text": "Message content"
      }
    ],
    "timestamp": 1234567890
  }
}

Group Message (bot.group_message) ​

json
{
  "uuid": "event-unique-id",
  "event_type": "bot.group_message",
  "data": {
    "bot_uuid": "bot-uuid",
    "adapter_name": "AdapterName",
    "group": {
      "id": "group-id",
      "name": "Group Name"
    },
    "sender": {
      "id": "user-id",
      "name": "User Name"
    },
    "message": [
      {
        "type": "Plain",
        "text": "Message content"
      }
    ],
    "timestamp": 1234567890
  }
}

Response Format ​

Webhook services should return JSON:

json
{
  "status": "ok",
  "skip_pipeline": false
}

Parameters ​

  • status: Processing status (recommend "ok")
  • skip_pipeline: Whether to skip LangBot pipeline processing
    • true: Message won't continue in pipeline
    • false: Message proceeds normally

TIP

skip_pipeline lets you completely take over message processing. When true, the message is only handled by your webhook service and won't trigger LangBot's AI features.

Integration Example ​

Dify Workflow ​

Use the dify-plugin-langbot-trigger plugin to receive LangBot webhook events and create workflows in Dify.

Notes ​

  • Webhook URL must be accessible
  • Request timeout: 15 seconds
  • Failed requests don't affect normal processing
  • Multiple webhooks execute in parallel
  • Any webhook returning skip_pipeline: true skips pipeline processing