Understand the supported parameters
The basic Incoming Webhook format supports payload, messageType, streamId, commentId, and attachment. payload is mandatory. messageType supports status, event, and comment, and defaults to status when you do not specify it. Requests must be sent in application/x-www-form-urlencoded format.
The message key supports basic HTML markdown. You can use markers for bold, italics, strike, underline, links, block quotes, and highlighted text.
Format | Markdown |
Bold | *bold* |
Italics | _italics_ |
Strike | ~strike~ |
Underline | +underline+ |
Text | [text](https://example.com) |
Quoted Line | !quoted line |
Highlight | `highlighted text` |
Use a status message when you want to send a regular post into the selected group. The required key is message, and you can also add an optional title.
curl --request POST \
--url '<url got from the configuration>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'payload={"title":"Build update","message":"The deployment has completed successfully."}'
To include a source link in the post, add linkUrl to the payload along with message and, if needed, title.
curl --request POST \
--url '<url got from the configuration>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'payload={"title":"Release notes","message":"Read the latest release summary.","linkUrl":"https://example.com/release-notes"}'
To create an event post, use eventTitle and startDate as required keys. You can also include eventDesc, eventLocation, endDate, and allDay. Set messageType=event, because if you omit it, the webhook treats the request as a status post. For an all-day event, include "allDay":"true".
curl --request POST \
--url '<url got from the configuration>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'payload={"eventTitle":"Community AMA","eventDesc":"Quarterly product Q&A","eventLocation":"Online","startDate":"2026-03-20 11:00","endDate":"2026-03-20 12:00"}' \
--data-urlencode 'messageType=event'
To add a comment through the webhook, set messageType=comment and include streamId, which identifies the feed item you want to comment on. If you want to reply to an existing comment, also include commentId.
curl --request POST \
--url '<url got from the configuration>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'payload={"message":"Please review the latest update."}' \
--data-urlencode 'messageType=comment' \
--data-urlencode 'streamId=<stream_id>' \
--data-urlencode 'commentId=<parent_comment_id>'
To mention a user, add @ before the user’s email address in the message. To add a tag, add # before the word you want to tag.
{"message":"@alex@example.com Please check the revised copy. #release"}