Docs

Reference

Create a webhook

Create a webhook owned by this connection. Returns the signing secret ONCE (store it now; retry with the same idempotency key returns the same secret) and next_steps: the webhook only counts as set up after webhooks_test returns 2xx. Every type (*) or every account needs the user's confirmation.

View MarkdownThis page is generated from the source code on every release.

Create a webhook owned by this connection. Returns the signing secret ONCE (store it now; retry with the same idempotency key returns the same secret) and next_steps: the webhook only counts as set up after webhooks_test returns 2xx. Every type (*) or every account needs the user's confirmation.

Overview

Name Value
Code webhooks.create
Scope needed webhooks.manage
Risk Write
May need confirmation Yes
Runs as Answers right away
Needs Idempotency-Key Yes
Member roles allowed owner, manager, agent
In the app Settings → Webhooks

Input fields

Field Type Required Description
name text Yes
description text No
url text Yes
eventTypes text[] Yes Concrete types (message.mentioned), group selectors (messages.*) or * for everything.
accountScope object No Default: the caller's accounts (a connection limited to some accounts) or every account.
filters object No
contentMode "full" | "thin" | "none" No
contentType "application/json" | "application/cloudevents+json" No

Example request

curl -X POST https://tlg.builera.app/api/public/v2/ops/webhooks.create \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <unique key per operation>" \
  -d '{"name":"…","url":"…","eventTypes":[]}'

Output fields (data)

Field Type Required
ok true Yes
webhook object Yes
secret object Yes
next_steps object[] Yes

Example answer

{
  "data": {
    "ok": true,
    "webhook": {
      "url_host": "text",
      "status": "active",
      "status_reason": "text",
      "status_changed_at": "2026-10-22T12:00:00.000Z",
      "owner": {
        "kind": "human",
        "user_id": "00000000-0000-4000-8000-000000000000",
        "connection_id": "00000000-0000-4000-8000-000000000000",
        "connection_name": "text"
      },
      "event_types": [
        "text"
      ],
      "account_scope": {
        "mode": "all"
      },
      "filters": {
        "direction": "in",
        "keywords": {
          "any": [
            "text"
          ],
          "none": [
            "text"
          ]
        },
        "chat_types": [
          "channel"
        ],
        "mention_only": true,
        "exclude_self": true,
        "exclude_sent_by": [
          "campaign"
        ],
        "exclude_connection_ids": [
          "text"
        ],
        "exclude_own_connection": true,
        "include_backfill": true,
        "conversation_ids": [
          "text"
        ],
        "conversation_tags": [
          "text"
        ],
        "has_media": true,
        "person_stage_ids": [
          "text"
        ],
        "campaign_ids": [
          "text"
        ]
      },
      "filters_text": "text",
      "content_mode": "full",
      "content_type": "application/json",
      "revision": 1,
      "verified_at": "2026-10-22T12:00:00.000Z",
      "tested_at": "2026-10-22T12:00:00.000Z",
      "ready": true,
      "consecutive_failures": 1,
      "failing_since": "text",
      "last_success_at": "2026-10-22T12:00:00.000Z",
      "last_failure_at": "2026-10-22T12:00:00.000Z",
      "created_at": "2026-10-22T12:00:00.000Z",
      "updated_at": "2026-10-22T12:00:00.000Z",
      "url": "text",
      "id": "00000000-0000-4000-8000-000000000000",
      "name": "text",
      "description": "text",
      "url_masked": "text"
    },
    "secret": {
      "kid": "text",
      "value": "text",
      "shown_once": true
    },
    "next_steps": [
      {
        "op": "text",
        "mcp_tool": "text",
        "why": "text"
      }
    ]
  }
}

Using it over MCP

Tool webhooks_create is listed on the profiles: Full (full). On other profiles, find it with tools_search and run it with tools_run.

Was this page helpful?

Last checked: 10/24/2026 · build 2.0