What MailChannels sends
When a monitor condition is met, MailChannels sends an HTTP POST to your endpoint with a JSON payload in the following structure:webhook payload
| Field | Description |
|---|---|
condition_name | Machine-readable name of the alert condition that triggered the webhook |
condition_description | Human-readable description of the condition |
account_id | Your MailChannels account identifier |
timestamp | ISO 8601 timestamp of when the alert was generated |
originator | The sender hint — typically the authenticated username or email address |
originator_type | The type of sender hint (for example, x-authuser) |
sender_id | The full sender ID string identifying the sender entity |
ip | The IP address that submitted the message triggering the alert |
transaction_id | The ID of the specific transaction that crossed the threshold |
envelope_sender | The envelope MAIL FROM address of the triggering message |
message_id | The Message-Id header value of the triggering message |
Actions you can take
Your endpoint receives thesender_id and other identifying fields and can immediately take action. Common automated responses include:
- Scramble the password for the account associated with
originator, preventing the sender from authenticating further. - Block or suspend the account at the hosting control panel level.
- Disable the sending plugin (for example, a WordPress mail plugin) if the
originator_typeindicates a script. - Rate-limit the account at the mail server level to contain the damage while a human investigates.
- Create a support ticket or page an on-call engineer using the
sender_idandcondition_namefields.
Configure a webhook monitor
Log in to the Host Console
Go to console.mailchannels.net and sign in.
Select the alert type
Choose the condition you want to monitor from the dropdown menu, such as Sender ID is sending SPAM or Sender ID blocked due to FBL reports.
Set the alert interval
Choose how frequently you want alerts to fire. The interval ranges from 1 to 24 hours. For compromised account detection, a 1-hour interval gives you the fastest response.
Enter your webhook URL
Paste the full URL of your endpoint into the text box. Use
https:// to ensure the payload is encrypted in transit. Your endpoint must be publicly reachable and able to return an HTTP 2xx response.Test your endpoint
Before relying on the webhook in production, verify that your endpoint handles the payload correctly. You can test it from the command line withcurl:
test webhook endpoint
Routing webhook alerts to Slack
MailChannels webhook payloads cannot be sent directly to a Slack incoming webhook URL because Slack requires a different JSON format. To route alerts to Slack, use an intermediary service such as Zapier:- Create a Zapier zap with a Webhooks by Zapier trigger (catch hook).
- Use the Zapier webhook URL as your MailChannels webhook destination.
- Add a Zapier action step that sends a formatted message to your Slack channel.
Webhooks require a Standard plan subscription or higher. If the Monitors section is not visible in your console, upgrade your subscription to unlock webhook notifications.

