smartchat

Get inbound webhook

Returns the secret inbound address of an automation that starts from outside, and its filters. Anyone with the address can start the automation, so it needs the permission hooks:read_secret.

GET /v1/automations/{automation_id}/inbound-webhook

Permissionhooks:read_secret (all permissions)
RiskRead
Idempotency-KeyNot needed (how it works)
Safe to repeatSafe: the call only reads.
Rate limit classread (120 requests per minute per key)
ConfirmationNone
MCP toolNot available in MCP
Since version2026-10-25

#What it does

  • Only reads data. It changes nothing and sends nothing.

#Request

Path parameters

NameTypeDescription
automation_idstringAutomation ID.

#Examples

curl "https://api.smartchat.marketing/v1/automations/aut_0f8c1a2e4b7d4c3e9a5b6d7e8f901234/inbound-webhook" \
  -H "Authorization: Bearer $SMARTCHAT_API_KEY"
import os
import requests

response = requests.get(
    "https://api.smartchat.marketing/v1/automations/aut_0f8c1a2e4b7d4c3e9a5b6d7e8f901234/inbound-webhook",
    headers={"Authorization": "Bearer " + os.environ["SMARTCHAT_API_KEY"]},
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.smartchat.marketing/v1/automations/aut_0f8c1a2e4b7d4c3e9a5b6d7e8f901234/inbound-webhook", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.SMARTCHAT_API_KEY}`,
  },
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());

Response (200):

{
  "object": "inbound_webhook",
  "automation_id": "aut_0f8c1a2e4b7d4c3e9a5b6d7e8f901234",
  "url": "https://api.example.invalid/public/automations/hook/EXAMPLE_TOKEN",
  "method": "POST",
  "trigger": "inbound_webhook",
  "filters": []
}

#Response

Status 200. Every response has the headers Request-Id, SmartChat-Version and X-RateLimit-*.

NameTypeDescription
objectstringAlways "inbound_webhook". always inbound_webhook
automation_idstringAutomation ID.
urlstringThe secret address. Treat it like a password. up to 600 characters
methodstringAlways POST. always POST; up to 10 characters
triggerstringThe trigger type of the automation. up to 40 characters
filtersarray of objectFilters of the trigger. up to 5 items
filters[].pathstringPath. up to 120 characters
filters[].equalsstringValue. up to 200 characters

#Errors

CodeStatusWhen
api_key_expired401This API key has expired.
api_key_invalid401This API key is not valid.
api_key_revoked401This API key was revoked.
authentication_required401No API key was sent. Send 'Authorization: Bearer <key>'.
insufficient_scope403This key lacks a required permission.
ip_not_allowed403This IP address is not allowed for this key.
automation_not_found404No automation with this ID exists in this account.
conflict409The state of the object does not allow this.
validation_failed422A field is not valid.
rate_limited429Too many requests. Wait and try again.
internal_error500Something went wrong on our side.

All errors use one format.