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