[{"data":1,"prerenderedAt":666},["ShallowReactive",2],{"content-query-FmUxd3GlRo":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"layout":10,"author":11,"tags":12,"categories":16,"date":17,"image":18,"faq":19,"body":29,"_type":659,"_id":660,"_source":661,"_file":662,"_stem":663,"_extension":664,"sitemap":665},"/blog/receive-emails-as-webhooks","blog",false,"","Receive Emails as Webhooks: Inbound Email Parsing & Forwarding","Webhook Relay can now receive email and turn it into a webhook — parse each message to JSON (from, subject, text, HTML, attachments) and forward it to your endpoint, Slack, a database and more.","post","Karolis Rusenas",[13,14,15],"email","webhooks","product",[15],"2026-06-28 12:00:00","/images/blog/heroes/route.jpg",[20,23,26],{"q":21,"a":22},"How do I receive an email as a webhook?","Add an email input to a bucket in Webhook Relay. You get a unique address like \u003Cuuid>@in.webhookrelay-mail.com, and every message sent to it is parsed to JSON and POSTed to your endpoint. No SMTP server or MX setup required.",{"q":24,"a":25},"What does the parsed email payload contain?","A flat JSON object: from, from_name, subject, text, html, to, cc, headers, message_id, spf/dkim/dmarc results, and an attachments array (base64 content). See the payload reference in the docs.",{"q":27,"a":28},"Can I forward inbound email to Slack, a database or my own API?","Yes. Because the email becomes an ordinary event on the bucket, you can transform it and forward it anywhere — Slack, Discord, Teams, Google Sheets, Airtable, Notion, your API, or your database. See the example tutorials.",{"type":30,"children":31,"toc":652},"root",[32,42,55,65,72,110,116,129,460,481,487,516,522,527,620,626,646],{"type":33,"tag":34,"props":35,"children":36},"element","p",{},[37],{"type":33,"tag":38,"props":39,"children":41},"img",{"alt":40,"src":18},"Receive emails as webhooks",[],{"type":33,"tag":34,"props":43,"children":44},{},[45,48,53],{"type":46,"value":47},"text","A lot of useful information still arrives as ",{"type":33,"tag":49,"props":50,"children":51},"strong",{},[52],{"type":46,"value":13},{"type":46,"value":54}," — support requests, server alerts, order confirmations, vendor notifications, and form submissions from tools that only email you. Acting on it usually means running a mail server, polling an IMAP inbox, or wiring up Zapier.",{"type":33,"tag":34,"props":56,"children":57},{},[58,60],{"type":46,"value":59},"Now there's a simpler option: ",{"type":33,"tag":49,"props":61,"children":62},{},[63],{"type":46,"value":64},"Webhook Relay can receive email for you and turn each message into a webhook.",{"type":33,"tag":66,"props":67,"children":69},"h2",{"id":68},"receiving",[70],{"type":46,"value":71},"Receiving",{"type":33,"tag":34,"props":73,"children":74},{},[75,77,82,84,91,93,100,102,108],{"type":46,"value":76},"Add an ",{"type":33,"tag":49,"props":78,"children":79},{},[80],{"type":46,"value":81},"email input",{"type":46,"value":83}," to a bucket and Webhook Relay gives you a unique address like ",{"type":33,"tag":85,"props":86,"children":88},"code",{"className":87},[],[89],{"type":46,"value":90},"5519fb0d-997a-46cd-b102-ac990b4c38fa@in.webhookrelay-mail.com",{"type":46,"value":92},". Point any sender at it — there's no DNS or MX setup, and nothing to host. See ",{"type":33,"tag":94,"props":95,"children":97},"a",{"href":96},"/email-to-webhook",[98],{"type":46,"value":99},"Email to Webhook",{"type":46,"value":101}," for the overview, or the ",{"type":33,"tag":94,"props":103,"children":105},{"href":104},"/docs/email",[106],{"type":46,"value":107},"docs",{"type":46,"value":109}," to set one up.",{"type":33,"tag":66,"props":111,"children":113},{"id":112},"parsing",[114],{"type":46,"value":115},"Parsing",{"type":33,"tag":34,"props":117,"children":118},{},[119,121,127],{"type":46,"value":120},"Every message is parsed server-side into clean JSON and delivered with ",{"type":33,"tag":85,"props":122,"children":124},{"className":123},[],[125],{"type":46,"value":126},"Content-Type: application/json",{"type":46,"value":128},":",{"type":33,"tag":130,"props":131,"children":135},"pre",{"className":132,"code":133,"language":134,"meta":7,"style":7},"language-json shiki shiki-themes github-dark","{\n  \"from\": \"jon@example.com\",\n  \"from_name\": \"Jon Snow\",\n  \"subject\": \"Can't log in to my account\",\n  \"text\": \"Hi, I can't log in since this morning…\",\n  \"html\": \"\u003Cp>Hi, I can't log in since this morning…\u003C/p>\",\n  \"to\": [\"5519fb0d-…@in.webhookrelay-mail.com\"],\n  \"spf\": \"pass\", \"dkim\": \"pass\", \"dmarc\": \"pass\",\n  \"attachments\": [\n    { \"name\": \"screenshot.png\", \"content_type\": \"image/png\", \"size\": 48213, \"content\": \"iVBORw0KGgo…\" }\n  ]\n}\n","json",[136],{"type":33,"tag":85,"props":137,"children":138},{"__ignoreMap":7},[139,151,177,199,221,243,265,289,346,360,442,451],{"type":33,"tag":140,"props":141,"children":144},"span",{"class":142,"line":143},"line",1,[145],{"type":33,"tag":140,"props":146,"children":148},{"style":147},"--shiki-default:#E1E4E8",[149],{"type":46,"value":150},"{\n",{"type":33,"tag":140,"props":152,"children":154},{"class":142,"line":153},2,[155,161,166,172],{"type":33,"tag":140,"props":156,"children":158},{"style":157},"--shiki-default:#79B8FF",[159],{"type":46,"value":160},"  \"from\"",{"type":33,"tag":140,"props":162,"children":163},{"style":147},[164],{"type":46,"value":165},": ",{"type":33,"tag":140,"props":167,"children":169},{"style":168},"--shiki-default:#9ECBFF",[170],{"type":46,"value":171},"\"jon@example.com\"",{"type":33,"tag":140,"props":173,"children":174},{"style":147},[175],{"type":46,"value":176},",\n",{"type":33,"tag":140,"props":178,"children":180},{"class":142,"line":179},3,[181,186,190,195],{"type":33,"tag":140,"props":182,"children":183},{"style":157},[184],{"type":46,"value":185},"  \"from_name\"",{"type":33,"tag":140,"props":187,"children":188},{"style":147},[189],{"type":46,"value":165},{"type":33,"tag":140,"props":191,"children":192},{"style":168},[193],{"type":46,"value":194},"\"Jon Snow\"",{"type":33,"tag":140,"props":196,"children":197},{"style":147},[198],{"type":46,"value":176},{"type":33,"tag":140,"props":200,"children":202},{"class":142,"line":201},4,[203,208,212,217],{"type":33,"tag":140,"props":204,"children":205},{"style":157},[206],{"type":46,"value":207},"  \"subject\"",{"type":33,"tag":140,"props":209,"children":210},{"style":147},[211],{"type":46,"value":165},{"type":33,"tag":140,"props":213,"children":214},{"style":168},[215],{"type":46,"value":216},"\"Can't log in to my account\"",{"type":33,"tag":140,"props":218,"children":219},{"style":147},[220],{"type":46,"value":176},{"type":33,"tag":140,"props":222,"children":224},{"class":142,"line":223},5,[225,230,234,239],{"type":33,"tag":140,"props":226,"children":227},{"style":157},[228],{"type":46,"value":229},"  \"text\"",{"type":33,"tag":140,"props":231,"children":232},{"style":147},[233],{"type":46,"value":165},{"type":33,"tag":140,"props":235,"children":236},{"style":168},[237],{"type":46,"value":238},"\"Hi, I can't log in since this morning…\"",{"type":33,"tag":140,"props":240,"children":241},{"style":147},[242],{"type":46,"value":176},{"type":33,"tag":140,"props":244,"children":246},{"class":142,"line":245},6,[247,252,256,261],{"type":33,"tag":140,"props":248,"children":249},{"style":157},[250],{"type":46,"value":251},"  \"html\"",{"type":33,"tag":140,"props":253,"children":254},{"style":147},[255],{"type":46,"value":165},{"type":33,"tag":140,"props":257,"children":258},{"style":168},[259],{"type":46,"value":260},"\"\u003Cp>Hi, I can't log in since this morning…\u003C/p>\"",{"type":33,"tag":140,"props":262,"children":263},{"style":147},[264],{"type":46,"value":176},{"type":33,"tag":140,"props":266,"children":268},{"class":142,"line":267},7,[269,274,279,284],{"type":33,"tag":140,"props":270,"children":271},{"style":157},[272],{"type":46,"value":273},"  \"to\"",{"type":33,"tag":140,"props":275,"children":276},{"style":147},[277],{"type":46,"value":278},": [",{"type":33,"tag":140,"props":280,"children":281},{"style":168},[282],{"type":46,"value":283},"\"5519fb0d-…@in.webhookrelay-mail.com\"",{"type":33,"tag":140,"props":285,"children":286},{"style":147},[287],{"type":46,"value":288},"],\n",{"type":33,"tag":140,"props":290,"children":292},{"class":142,"line":291},8,[293,298,302,307,312,317,321,325,329,334,338,342],{"type":33,"tag":140,"props":294,"children":295},{"style":157},[296],{"type":46,"value":297},"  \"spf\"",{"type":33,"tag":140,"props":299,"children":300},{"style":147},[301],{"type":46,"value":165},{"type":33,"tag":140,"props":303,"children":304},{"style":168},[305],{"type":46,"value":306},"\"pass\"",{"type":33,"tag":140,"props":308,"children":309},{"style":147},[310],{"type":46,"value":311},", ",{"type":33,"tag":140,"props":313,"children":314},{"style":157},[315],{"type":46,"value":316},"\"dkim\"",{"type":33,"tag":140,"props":318,"children":319},{"style":147},[320],{"type":46,"value":165},{"type":33,"tag":140,"props":322,"children":323},{"style":168},[324],{"type":46,"value":306},{"type":33,"tag":140,"props":326,"children":327},{"style":147},[328],{"type":46,"value":311},{"type":33,"tag":140,"props":330,"children":331},{"style":157},[332],{"type":46,"value":333},"\"dmarc\"",{"type":33,"tag":140,"props":335,"children":336},{"style":147},[337],{"type":46,"value":165},{"type":33,"tag":140,"props":339,"children":340},{"style":168},[341],{"type":46,"value":306},{"type":33,"tag":140,"props":343,"children":344},{"style":147},[345],{"type":46,"value":176},{"type":33,"tag":140,"props":347,"children":349},{"class":142,"line":348},9,[350,355],{"type":33,"tag":140,"props":351,"children":352},{"style":157},[353],{"type":46,"value":354},"  \"attachments\"",{"type":33,"tag":140,"props":356,"children":357},{"style":147},[358],{"type":46,"value":359},": [\n",{"type":33,"tag":140,"props":361,"children":363},{"class":142,"line":362},10,[364,369,374,378,383,387,392,396,401,405,410,414,419,423,428,432,437],{"type":33,"tag":140,"props":365,"children":366},{"style":147},[367],{"type":46,"value":368},"    { ",{"type":33,"tag":140,"props":370,"children":371},{"style":157},[372],{"type":46,"value":373},"\"name\"",{"type":33,"tag":140,"props":375,"children":376},{"style":147},[377],{"type":46,"value":165},{"type":33,"tag":140,"props":379,"children":380},{"style":168},[381],{"type":46,"value":382},"\"screenshot.png\"",{"type":33,"tag":140,"props":384,"children":385},{"style":147},[386],{"type":46,"value":311},{"type":33,"tag":140,"props":388,"children":389},{"style":157},[390],{"type":46,"value":391},"\"content_type\"",{"type":33,"tag":140,"props":393,"children":394},{"style":147},[395],{"type":46,"value":165},{"type":33,"tag":140,"props":397,"children":398},{"style":168},[399],{"type":46,"value":400},"\"image/png\"",{"type":33,"tag":140,"props":402,"children":403},{"style":147},[404],{"type":46,"value":311},{"type":33,"tag":140,"props":406,"children":407},{"style":157},[408],{"type":46,"value":409},"\"size\"",{"type":33,"tag":140,"props":411,"children":412},{"style":147},[413],{"type":46,"value":165},{"type":33,"tag":140,"props":415,"children":416},{"style":157},[417],{"type":46,"value":418},"48213",{"type":33,"tag":140,"props":420,"children":421},{"style":147},[422],{"type":46,"value":311},{"type":33,"tag":140,"props":424,"children":425},{"style":157},[426],{"type":46,"value":427},"\"content\"",{"type":33,"tag":140,"props":429,"children":430},{"style":147},[431],{"type":46,"value":165},{"type":33,"tag":140,"props":433,"children":434},{"style":168},[435],{"type":46,"value":436},"\"iVBORw0KGgo…\"",{"type":33,"tag":140,"props":438,"children":439},{"style":147},[440],{"type":46,"value":441}," }\n",{"type":33,"tag":140,"props":443,"children":445},{"class":142,"line":444},11,[446],{"type":33,"tag":140,"props":447,"children":448},{"style":147},[449],{"type":46,"value":450},"  ]\n",{"type":33,"tag":140,"props":452,"children":454},{"class":142,"line":453},12,[455],{"type":33,"tag":140,"props":456,"children":457},{"style":147},[458],{"type":46,"value":459},"}\n",{"type":33,"tag":34,"props":461,"children":462},{},[463,465,471,473,479],{"type":46,"value":464},"You get the sender, subject, both body parts, all headers, the SPF/DKIM/DMARC results, and attachments (base64-encoded). The full ",{"type":33,"tag":94,"props":466,"children":468},{"href":467},"/docs/email/payload",[469],{"type":46,"value":470},"payload reference",{"type":46,"value":472}," lists every field, and you can ",{"type":33,"tag":94,"props":474,"children":476},{"href":475},"/docs/email/filtering-and-policy",[477],{"type":46,"value":478},"restrict senders and cap attachments",{"type":46,"value":480}," per input.",{"type":33,"tag":66,"props":482,"children":484},{"id":483},"forwarding",[485],{"type":46,"value":486},"Forwarding",{"type":33,"tag":34,"props":488,"children":489},{},[490,492,498,500,506,508,514],{"type":46,"value":491},"Because the parsed email becomes an ordinary event on the bucket, you can do anything you'd do with a webhook: forward it to your endpoint (public or ",{"type":33,"tag":94,"props":493,"children":495},{"href":494},"/webhooks",[496],{"type":46,"value":497},"behind a firewall",{"type":46,"value":499},"), fan it out to several destinations, retry on failure, and ",{"type":33,"tag":94,"props":501,"children":503},{"href":502},"/docs/webhooks/functions",[504],{"type":46,"value":505},"transform it in flight",{"type":46,"value":507}," into whatever shape the destination expects. Build that message visually with the ",{"type":33,"tag":94,"props":509,"children":511},{"href":510},"/webhook-message-formatter",[512],{"type":46,"value":513},"Slack/Discord/Teams formatter",{"type":46,"value":515},".",{"type":33,"tag":66,"props":517,"children":519},{"id":518},"examples",[520],{"type":46,"value":521},"Examples",{"type":33,"tag":34,"props":523,"children":524},{},[525],{"type":46,"value":526},"Step-by-step tutorials for the common destinations:",{"type":33,"tag":528,"props":529,"children":530},"ul",{},[531,543,554,565,576,587,598,609],{"type":33,"tag":532,"props":533,"children":534},"li",{},[535,541],{"type":33,"tag":94,"props":536,"children":538},{"href":537},"/docs/tutorials/email/slack",[539],{"type":46,"value":540},"Email → Slack",{"type":46,"value":542}," — post inbound email into a Slack channel",{"type":33,"tag":532,"props":544,"children":545},{},[546,552],{"type":33,"tag":94,"props":547,"children":549},{"href":548},"/docs/tutorials/email/discord",[550],{"type":46,"value":551},"Email → Discord",{"type":46,"value":553}," — route email to a Discord channel",{"type":33,"tag":532,"props":555,"children":556},{},[557,563],{"type":33,"tag":94,"props":558,"children":560},{"href":559},"/docs/tutorials/email/microsoft-teams",[561],{"type":46,"value":562},"Email → Microsoft Teams",{"type":46,"value":564}," — post a Teams card per email",{"type":33,"tag":532,"props":566,"children":567},{},[568,574],{"type":33,"tag":94,"props":569,"children":571},{"href":570},"/docs/tutorials/email/google-sheets",[572],{"type":46,"value":573},"Email → Google Sheets",{"type":46,"value":575}," — append a row per email",{"type":33,"tag":532,"props":577,"children":578},{},[579,585],{"type":33,"tag":94,"props":580,"children":582},{"href":581},"/docs/tutorials/email/airtable",[583],{"type":46,"value":584},"Email → Airtable",{"type":46,"value":586}," — create an Airtable record",{"type":33,"tag":532,"props":588,"children":589},{},[590,596],{"type":33,"tag":94,"props":591,"children":593},{"href":592},"/docs/tutorials/email/notion",[594],{"type":46,"value":595},"Email → Notion",{"type":46,"value":597}," — create a page in a Notion database",{"type":33,"tag":532,"props":599,"children":600},{},[601,607],{"type":33,"tag":94,"props":602,"children":604},{"href":603},"/docs/tutorials/email/api",[605],{"type":46,"value":606},"Email → your API",{"type":46,"value":608}," — POST email to your own endpoint",{"type":33,"tag":532,"props":610,"children":611},{},[612,618],{"type":33,"tag":94,"props":613,"children":615},{"href":614},"/docs/tutorials/email/database",[616],{"type":46,"value":617},"Email → a database",{"type":46,"value":619}," — insert every email into your DB",{"type":33,"tag":66,"props":621,"children":623},{"id":622},"get-started",[624],{"type":46,"value":625},"Get started",{"type":33,"tag":34,"props":627,"children":628},{},[629,637,639,644],{"type":33,"tag":94,"props":630,"children":634},{"href":631,"rel":632},"https://my.webhookrelay.com",[633],"nofollow",[635],{"type":46,"value":636},"Create an email input",{"type":46,"value":638}," on a bucket, or read ",{"type":33,"tag":94,"props":640,"children":641},{"href":104},[642],{"type":46,"value":643},"the email docs",{"type":46,"value":645},". It works on the free tier — same as any other Webhook Relay input.",{"type":33,"tag":647,"props":648,"children":649},"style",{},[650],{"type":46,"value":651},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":179,"depth":179,"links":653},[654,655,656,657,658],{"id":68,"depth":153,"text":71},{"id":112,"depth":153,"text":115},{"id":483,"depth":153,"text":486},{"id":518,"depth":153,"text":521},{"id":622,"depth":153,"text":625},"markdown","content:blog:receive-emails-as-webhooks.md","content","blog/receive-emails-as-webhooks.md","blog/receive-emails-as-webhooks","md",{"loc":4},1782718125626]