Testing Webhooks
The Simulate action skips SMTP entirely and asks Conduit to POST a synthetic payload directly to your endpoint. Sending a real email through the SMTP gateway instead exercises the full inbound path, including any SMTP security policy attached to the webhook.
Both create a delivery log entry. Simulated entries are tagged SIM in the log view.
Simulate from the web UI
- Open the webhook detail page (
/app/webhooks/{id}). - Click Simulate in the sub-nav and confirm.
- Conduit immediately POSTs a synthetic payload to the target URL.
- The result appears as a new entry in Recent Deliveries and on the full Delivery Logs page with the SIM badge.
Simulate uses fixed defaults for sender, subject, and body. To customise those fields, use the API.
Simulate via the API
POST /api/v1/webhooks/{id}/simulate
Authorization: Bearer <token>
Content-Type: application/json
{
"from": "alerts@example.com",
"subject": "Disk usage above 90%",
"text": "Test alert from Conduit simulate"
}
All fields are optional; defaults are used when omitted. The response includes
http_status, duration_ms, error, and simulated: true. See
Simulate an email delivery for the full
reference.
Send a real test email
The Conduit SMTP gateway listens at mx.conduit.email on port 25 with
STARTTLS support. Address the email to your webhook's address.
Quick test with swaks
swaks is available on most platforms
(brew install swaks, apt install swaks):
swaks \
--to webhook-01HX...@incoming.conduit.email \
--from you@example.com \
--server mx.conduit.email \
--port 25 \
--body "Hello from swaks"
Reading the SMTP response
The status code in the SMTP transcript tells you the delivery outcome:
| SMTP code | Meaning |
|---|---|
250 |
Your endpoint returned 2xx. Delivery succeeded. |
450 |
Endpoint returned 5xx or was unreachable. The sending MTA will retry. |
550 |
Endpoint returned 4xx, or the webhook is inactive / SMTP policy rejected the message. |
Your endpoint can override the SMTP code and message it responds with. See SMTP Response Headers.
Which to use
Reach for Simulate when iterating on your endpoint or when you want to exercise the delivery path without crafting an RFC 5322 message. Send a real email when you need to validate an attached SMTP security policy, confirm that DNS and MX records are correctly delivering to Conduit, or test parsing of a specific mail format from a real sender.
Next steps
- Delivery Logs. See results of every test and real delivery.
- Webhook Payload Reference. Payload structure and signature verification.
- SMTP Response Headers. Return custom SMTP codes from your endpoint.