--- title: "Webhooks" sidebar_position: 20 --- Mattermost supports webhooks to easily integrate external applications into the server. ### Incoming webhooks Use incoming webhooks to post messages to Mattermost public channels, private channels, and direct messages. Messages are sent via an HTTP POST request to a Mattermost URL generated for each application and contain a specifically formatted JSON payload in the request body. [Create an incoming webhook](/developers/integrate/webhooks/incoming) ### Outgoing webhooks Outgoing webhooks will send an HTTP POST request to a web service and process a response back to Mattermost when a message matches one or both of the following conditions: - It's posted in a specified channel. - The first word matches or starts with one of the defined trigger words, such as `gif`. Outgoing webhooks are supported in public channels only. If you need a trigger that works in a private channel or a direct message, consider using a [slash command](/developers/integrate/slash-commands) instead. To prevent malicious users from trying to perform [phishing attacks](https://en.wikipedia.org/wiki/Phishing) a **BOT** indicator appears next to posts coming from webhooks regardless of what username is specified. [Create an outgoing webhook](/developers/integrate/webhooks/outgoing)