Skip to content


Webhooks are an easy way to post messages to team channels. They do not require any authentication to use other than the webhook URL itself (keep those secret!).

Webhook Object🔗

Used to represent a webhook.

Webhook Structure🔗
Field Type Description
id uuid the id of the webhook
name string the default name of the webhook
token? string the webhook's token. required for execution
channelId uuid the channel id this webhook is for
teamId team id the team's id this webhook is for
iconUrl ?string the default avatar of the webhook
createdBy user id the user's id who created this webhook
createdAt ISO8601 timestamp when this webhook was created
deletedAt ?ISO8601 timestamp when this webhook was deleted
Example Webhook🔗
  "id": "5b3723f8-c82e-404d-bb56-02bbfb242e47",
  "name": "cool webhook for cool people",
  "token": "yXEUjW1HskqGwsCWZBqGiYW4MGWAWq0sqCp8igYgQWcgNmYMu6gswa24CgoE2Akqk00YS8GYMkeqKUKKlAUYua",
  "channelId": "b1b9451a-f758-4e49-aa81-0b148939ffeb",
  "teamId": "4R5q39VR",
  "iconUrl": "",
  "createdBy": "EdVMVKR4",
  "createdAt": "2021-03-18T23:39:21.320Z",
  "deletedAt": null

Create Webhook🔗


Create a new webhook. Returns a webhook object on success.

JSON Params🔗
Field Type Description
name string name of the webhook (1-??? characters)
channelId channel id the channel's id to create the webhook in

Get Channel Webhooks🔗



This endpoint returns an empty list. Instead, use webhooks from List Team Members.

Get a list of webhook objects.

Modify Webhook🔗


Modify a webhook. Returns the updated webhook object on success.


The client performs this immediately after creating a webhook in order to actually fill all its fields appropriately.


The client will always send name and channelId even if they were not changed. Try it out and see if they're required!

JSON Params🔗
Field Type Description
name string the default name of the webhook
iconUrl image url image url for the default webhook avatar
channelId channel id the new channel id this webhook should send to

Delete Webhook🔗


Delete a webhook. Returns a partial webhook object on success with only id and deletedAt fields.

Execute Webhook🔗



This endpoint is supposedly similar enough to Discord's POST /webhooks/{}/{webhook.token} that all you have to do is "change a url". However, many of the same fields are not supported (although they will not raise).


You do not have to append /github onto your webhook URL for use with GitHub. The URL by itself will work as intended. It is recommended not to choose all events as many of them are unsupported and will result in error messages being sent through the webhook.

Send a message through a webhook. Returns a message object.

JSON/Form Params🔗
Field Type Description Required
content string the message contents (up to 2000 characters) one of content, embeds
embeds array of embeds up to 10 embeds one of content, embeds
files[n]* file contents up to 10 files false
payload_json* string JSON encoded body of non-file params multipart/form-data only

* See Uploading Files for details.