Skip to content

Webhooks ​

The webhook field is a logical name, not a URL. At startup chime derives an env key from it:

webhook valueenv key
teamCHIME_WEBHOOK_TEAM
on-callCHIME_WEBHOOK_ON_CALL
ops.alphaCHIME_WEBHOOK_OPS_ALPHA

Non-alphanumeric characters are mapped to _ and the result is uppercased; two different names that end up as the same key are rejected at startup. For each env key chime tries <KEY>_FILE first (for Docker secrets) and falls back to <KEY>. The value must be a valid https URL after trimming. A webhook redirect is followed only to an https URL. Polled endpoints do not follow redirects at all (see How It Works).

Webhook URLs never appear in config.toml.

Posting into a thread ​

An entry that sets thread_id posts into that thread instead of the channel: chime adds thread_id=<id> to the resolved webhook URL, Discord's Execute Webhook thread_id parameter.

  • The thread must belong to the webhook's channel, and an archived thread is unarchived by Discord when the message arrives.
  • Other query parameters already in the env URL are kept; a thread_id already in it is replaced by the entry's, so one webhook can serve entries that post to different threads.
  • The value is a snowflake written as a quoted string of digits — thread_id = "1234567890123456789", not thread_id = 1234567890123456789.