Tag
#webhooks
11 posts tagged “webhooks”.
- 15 min read
Email to Slack: threading, Block Kit limits, and the duplicate-post trap
Slack's own email-to-channel needs a paid plan, pins every message to one fixed channel, and can't thread. Wiring inbound email to Slack yourself is about 50 lines — but three things bite once real mail arrives: Slack rejects any header block over 150 characters, webhook retries post the same email twice, and Incoming Webhooks never return a message ts, so an email thread can never become a Slack thread. Here's the handler that survives all three, and the return path that lets your team reply to the customer from inside the Slack thread.
- 3 min read
Build email automation in n8n that actually works
n8n's built-in email nodes use basic SMTP or IMAP polling — slow, unreliable, and no structured data. This tutorial shows how to connect n8n to MailKite for both sending (SMTP node with DKIM signing) and receiving (webhook trigger with clean JSON payload), so your email automation workflows fire in seconds, not minutes.
- 3 min read
Turn inbound email into Zapier workflows — no code, no polling
Zapier's email triggers poll an inbox over IMAP — slow, flaky, and broken for high-volume. MailKite pushes inbound email to a Zapier webhook as clean JSON the moment it arrives. This tutorial shows how to set up the webhook trigger, connect it to 5,000+ apps, and build email automation that actually works in real time.
- 18 min read
You can't ship an API key in a one-click deploy template
A one-click deploy template that shows account data has a problem no tutorial mentions: it lives on a public URL, so it can't hold a shared API key without handing every visitor the whole account. Here's how we shipped an inbound-email inbox to the Railway marketplace as one deploy: the OAuth self-registration that replaces the key, one core that runs on six hosts, and a Connect button that wires the webhook for you.
- 7 min read
Email to webhook: the complete guide to receiving email as JSON
Point your domain's MX at MailKite and every message becomes a signed JSON POST to your endpoint — no mail server, no IMAP polling, no MIME parsing. The full payload shape, signature verification, working receivers in Node, Python, Go, and PHP, and how it compares to SendGrid Inbound Parse, Mailgun Routes, and Postmark.
- 10 min read
Email as an agent tool: MCP, the SDK, or your own webhook
There are three ways to give an agent email, and they answer different questions. Install the MCP server and the model sends and reads mail as tool calls it decides to make. Hand it the SDK and email is deterministic code your agent runs. Point a signed webhook at it and the agent receives mail the moment it arrives. This is when to use each — with runnable code for all three, and how to mix them. For developers wiring an agent to email with MailKite.
- 11 min read
Email you set up once and reuse for every project
If you ship a lot of small things, email shouldn't be a from-scratch chore each time: new account, verify domain, request production access, wire a parser. This is the setup you do once — one account, one API key — and what each new project costs after that: point a domain, reuse the key, drop in one webhook. With a reusable Node module and a single inbound handler that fans out to every project you run. For developers who launch many apps a year.
- 12 min read
Build a support inbox in Next.js (email in, tickets out)
Point support@yourdomain at MailKite, parse the inbound email to JSON, and POST it to a Next.js App Router Route Handler. Verify the signature against the raw body, create a ticket, and auto-reply. The whole loop, in working code.
- 14 min read
How to verify inbound email webhooks (HMAC signatures)
An unverified webhook endpoint is an open door: anyone can POST a fake email.received event. How to verify the HMAC signature with one SDK call in Node, Python, and Go, why the raw body bytes matter, and the hand-rolled check if you can't take a dependency.
- 15 min read
Reply-by-email: handling inbound replies in your app
When users reply to your notification emails, capture the reply, thread it to the right conversation with threadId, and respond: either an inline ack or a real outbound message. Working Node code, honest DIY path.
- 14 min read
Receiving email is the part nobody warns you about
Sending email is a solved problem. Receiving it, turning real-world MIME into something your app can use, is where everyone quietly loses a week. Why inbound is the hard direction, how each option punts, and what one clean webhook looks like instead.