[{"data":1,"prerenderedAt":969},["ShallowReactive",2],{"content-query-WF7ZzJKX1Q":3,"content-query-W4RtfFQaoh":769,"content-query-yP1cWMns5L":794,"content-query-M5aWdXgQKx":798,"content-query-eJ9XWy0CGH":805,"content-query-UP87PRcOMw":818,"content-query-7VgBfxLOWV":822,"content-query-Z6fTkbgt1D":844,"content-query-9giMhwHrGj":851,"content-query-j8GGVgf9na":858,"content-query-G03kJtQzJS":871,"content-query-1mvwAKmUBq":890,"content-query-No6iPTj4EO":913,"content-query-zRSmsuVl55":923,"content-query-MsdmgXewTK":927,"content-query-BMhIInEJl2":934},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"intro":9,"type":10,"layout":11,"tags":12,"body":15,"_type":762,"_id":763,"_source":764,"_file":765,"_stem":766,"_extension":767,"sitemap":768},"/docs/tutorials/email/discord","email",false,"","Email to Discord","Forward inbound email to a Discord channel automatically. Webhook Relay parses each email and a transform reshapes it into Discord's { content } format.","tutorial","doc",[13,14],"Email","Webhook Forwarding",{"type":16,"children":17,"toc":756},"root",[18,34,55,77,84,89,119,140,146,156,190,214,238,255,261,389,634,655,698,704,723,750],{"type":19,"tag":20,"props":21,"children":22},"element","p",{},[23,26,32],{"type":24,"value":25},"text","You get emails you'd rather see in chat — monitoring alerts, contact-form submissions, order confirmations, vendor notifications — and you want them dropped into a ",{"type":19,"tag":27,"props":28,"children":29},"strong",{},[30],{"type":24,"value":31},"Discord channel",{"type":24,"value":33}," automatically instead of buried in an inbox nobody's watching. The problem: there's no native \"email this to Discord\" button, and Discord only accepts a specific JSON shape, not a raw email.",{"type":19,"tag":20,"props":35,"children":36},{},[37,46,48,53],{"type":19,"tag":38,"props":39,"children":43},"a",{"href":40,"rel":41},"https://webhookrelay.com",[42],"nofollow",[44],{"type":24,"value":45},"Webhook Relay",{"type":24,"value":47}," closes that gap. It gives you an address that ",{"type":19,"tag":27,"props":49,"children":50},{},[51],{"type":24,"value":52},"receives inbound email and delivers it as a webhook",{"type":24,"value":54},", parsing each message into clean JSON. A small transform then reshapes that JSON into the format Discord expects, and the message appears in your channel — no server, no inbox polling, no glue code.",{"type":19,"tag":56,"props":57,"children":58},"blockquote",{},[59],{"type":19,"tag":20,"props":60,"children":61},{},[62,67,69,75],{"type":19,"tag":27,"props":63,"children":64},{},[65],{"type":24,"value":66},"Build the message visually:",{"type":24,"value":68}," the free ",{"type":19,"tag":38,"props":70,"children":72},{"href":71},"/webhook-message-formatter",[73],{"type":24,"value":74},"webhook → Slack/Discord/Teams formatter",{"type":24,"value":76}," lets you template the Discord embed and copy the transform.",{"type":19,"tag":78,"props":79,"children":81},"h2",{"id":80},"how-it-works",[82],{"type":24,"value":83},"How it works",{"type":19,"tag":20,"props":85,"children":86},{},[87],{"type":24,"value":88},"Email comes in, gets parsed, gets reshaped, and lands in Discord — a single hop with a transform in the middle:",{"type":19,"tag":90,"props":91,"children":94},"pre",{"className":92,"code":93,"language":24,"meta":7,"style":7},"language-text shiki shiki-themes github-dark","inbound email  ──▶  Webhook Relay (parse)  ──▶  transform to Discord  ──▶  channel\n (any sender)        (email → JSON)             (serverless function)     (message appears)\n",[95],{"type":19,"tag":96,"props":97,"children":98},"code",{"__ignoreMap":7},[99,110],{"type":19,"tag":100,"props":101,"children":104},"span",{"class":102,"line":103},"line",1,[105],{"type":19,"tag":100,"props":106,"children":107},{},[108],{"type":24,"value":109},"inbound email  ──▶  Webhook Relay (parse)  ──▶  transform to Discord  ──▶  channel\n",{"type":19,"tag":100,"props":111,"children":113},{"class":102,"line":112},2,[114],{"type":19,"tag":100,"props":115,"children":116},{},[117],{"type":24,"value":118}," (any sender)        (email → JSON)             (serverless function)     (message appears)\n",{"type":19,"tag":20,"props":120,"children":121},{},[122,124,130,132,138],{"type":24,"value":123},"Webhook Relay does the hard part — accepting SMTP, parsing MIME, handling attachments and SPF/DKIM/DMARC — and hands your function a tidy JSON object. The ",{"type":19,"tag":38,"props":125,"children":127},{"href":126},"/docs/webhooks/functions",[128],{"type":24,"value":129},"transform function",{"type":24,"value":131}," only has to map a couple of fields. This is the same email side that powers ",{"type":19,"tag":38,"props":133,"children":135},{"href":134},"/email-to-webhook",[136],{"type":24,"value":137},"Email to Webhook",{"type":24,"value":139},"; here the destination just happens to be Discord.",{"type":19,"tag":78,"props":141,"children":143},{"id":142},"setup",[144],{"type":24,"value":145},"Setup",{"type":19,"tag":20,"props":147,"children":148},{},[149,154],{"type":19,"tag":27,"props":150,"children":151},{},[152],{"type":24,"value":153},"1. Create a bucket.",{"type":24,"value":155}," In the dashboard, create a bucket — it's the container that ties an input (where email arrives) to outputs (where it's delivered).",{"type":19,"tag":20,"props":157,"children":158},{},[159,164,166,172,174,180,182,188],{"type":19,"tag":27,"props":160,"children":161},{},[162],{"type":24,"value":163},"2. Add an email input.",{"type":24,"value":165}," On the bucket, add an ",{"type":19,"tag":167,"props":168,"children":169},"em",{},[170],{"type":24,"value":171},"email input",{"type":24,"value":173},". Webhook Relay gives you a unique address of the form ",{"type":19,"tag":96,"props":175,"children":177},{"className":176},[],[178],{"type":24,"value":179},"\u003Cuuid>@in.webhookrelay-mail.com",{"type":24,"value":181},". Anything sent to that address is parsed and POSTed as JSON to the bucket's outputs — see ",{"type":19,"tag":38,"props":183,"children":185},{"href":184},"/docs/email",[186],{"type":24,"value":187},"receive emails as webhooks",{"type":24,"value":189}," for the full setup.",{"type":19,"tag":20,"props":191,"children":192},{},[193,198,200,205,207,212],{"type":19,"tag":27,"props":194,"children":195},{},[196],{"type":24,"value":197},"3. Add a Discord output.",{"type":24,"value":199}," In Discord, open ",{"type":19,"tag":27,"props":201,"children":202},{},[203],{"type":24,"value":204},"Server Settings → Integrations → Webhooks → New Webhook",{"type":24,"value":206},", pick the channel, and ",{"type":19,"tag":27,"props":208,"children":209},{},[210],{"type":24,"value":211},"Copy Webhook URL",{"type":24,"value":213},". Paste that URL as the bucket's output destination.",{"type":19,"tag":20,"props":215,"children":216},{},[217,222,224,228,230,236],{"type":19,"tag":27,"props":218,"children":219},{},[220],{"type":24,"value":221},"4. Attach a transform.",{"type":24,"value":223}," Add the ",{"type":19,"tag":38,"props":225,"children":226},{"href":126},[227],{"type":24,"value":129},{"type":24,"value":229}," below so the parsed email is reshaped into Discord's ",{"type":19,"tag":96,"props":231,"children":233},{"className":232},[],[234],{"type":24,"value":235},"{ content }",{"type":24,"value":237}," format before delivery.",{"type":19,"tag":20,"props":239,"children":240},{},[241,246,248,253],{"type":19,"tag":27,"props":242,"children":243},{},[244],{"type":24,"value":245},"5. Test.",{"type":24,"value":247}," Send an email to your ",{"type":19,"tag":96,"props":249,"children":251},{"className":250},[],[252],{"type":24,"value":179},{"type":24,"value":254}," address. Within a second or two it shows up in your Discord channel. If it doesn't, open the bucket's request log to see exactly what was received and delivered.",{"type":19,"tag":78,"props":256,"children":258},{"id":257},"the-transform",[259],{"type":24,"value":260},"The transform",{"type":19,"tag":20,"props":262,"children":263},{},[264,266,272,274,280,281,287,288,294,295,301,302,308,309,315,316,322,323,328,329,335,336,342,343,349,350,356,357,363,365,371,373,379,381,387],{"type":24,"value":265},"Each email arrives as JSON with fields like ",{"type":19,"tag":96,"props":267,"children":269},{"className":268},[],[270],{"type":24,"value":271},"from",{"type":24,"value":273},", ",{"type":19,"tag":96,"props":275,"children":277},{"className":276},[],[278],{"type":24,"value":279},"from_name",{"type":24,"value":273},{"type":19,"tag":96,"props":282,"children":284},{"className":283},[],[285],{"type":24,"value":286},"recipient",{"type":24,"value":273},{"type":19,"tag":96,"props":289,"children":291},{"className":290},[],[292],{"type":24,"value":293},"to",{"type":24,"value":273},{"type":19,"tag":96,"props":296,"children":298},{"className":297},[],[299],{"type":24,"value":300},"cc",{"type":24,"value":273},{"type":19,"tag":96,"props":303,"children":305},{"className":304},[],[306],{"type":24,"value":307},"subject",{"type":24,"value":273},{"type":19,"tag":96,"props":310,"children":312},{"className":311},[],[313],{"type":24,"value":314},"date",{"type":24,"value":273},{"type":19,"tag":96,"props":317,"children":319},{"className":318},[],[320],{"type":24,"value":321},"message_id",{"type":24,"value":273},{"type":19,"tag":96,"props":324,"children":326},{"className":325},[],[327],{"type":24,"value":24},{"type":24,"value":273},{"type":19,"tag":96,"props":330,"children":332},{"className":331},[],[333],{"type":24,"value":334},"html",{"type":24,"value":273},{"type":19,"tag":96,"props":337,"children":339},{"className":338},[],[340],{"type":24,"value":341},"headers",{"type":24,"value":273},{"type":19,"tag":96,"props":344,"children":346},{"className":345},[],[347],{"type":24,"value":348},"spf",{"type":24,"value":273},{"type":19,"tag":96,"props":351,"children":353},{"className":352},[],[354],{"type":24,"value":355},"dkim",{"type":24,"value":273},{"type":19,"tag":96,"props":358,"children":360},{"className":359},[],[361],{"type":24,"value":362},"dmarc",{"type":24,"value":364},", and ",{"type":19,"tag":96,"props":366,"children":368},{"className":367},[],[369],{"type":24,"value":370},"attachments",{"type":24,"value":372},". See the full ",{"type":19,"tag":38,"props":374,"children":376},{"href":375},"/docs/email/payload",[377],{"type":24,"value":378},"payload reference",{"type":24,"value":380}," for every field. In the transform, the body is ",{"type":19,"tag":96,"props":382,"children":384},{"className":383},[],[385],{"type":24,"value":386},"r.body",{"type":24,"value":388}," (a string); reshape it and set the new body:",{"type":19,"tag":90,"props":390,"children":394},{"className":391,"code":392,"language":393,"meta":7,"style":7},"language-js shiki shiki-themes github-dark","const email = JSON.parse(r.body);\nconst discord = { content: `📧 **${email.subject}**\\nFrom: ${email.from_name || email.from}\\n\\n${email.text}` };\nr.setBody(JSON.stringify(discord));\nr.setHeader(\"Content-Type\", \"application/json\");\n","js",[395],{"type":19,"tag":96,"props":396,"children":397},{"__ignoreMap":7},[398,440,560,598],{"type":19,"tag":100,"props":399,"children":400},{"class":102,"line":103},[401,407,413,418,423,429,435],{"type":19,"tag":100,"props":402,"children":404},{"style":403},"--shiki-default:#F97583",[405],{"type":24,"value":406},"const",{"type":19,"tag":100,"props":408,"children":410},{"style":409},"--shiki-default:#79B8FF",[411],{"type":24,"value":412}," email",{"type":19,"tag":100,"props":414,"children":415},{"style":403},[416],{"type":24,"value":417}," =",{"type":19,"tag":100,"props":419,"children":420},{"style":409},[421],{"type":24,"value":422}," JSON",{"type":19,"tag":100,"props":424,"children":426},{"style":425},"--shiki-default:#E1E4E8",[427],{"type":24,"value":428},".",{"type":19,"tag":100,"props":430,"children":432},{"style":431},"--shiki-default:#B392F0",[433],{"type":24,"value":434},"parse",{"type":19,"tag":100,"props":436,"children":437},{"style":425},[438],{"type":24,"value":439},"(r.body);\n",{"type":19,"tag":100,"props":441,"children":442},{"class":102,"line":112},[443,447,452,456,461,467,471,475,479,484,489,494,498,502,506,511,515,519,523,528,533,538,542,546,550,555],{"type":19,"tag":100,"props":444,"children":445},{"style":403},[446],{"type":24,"value":406},{"type":19,"tag":100,"props":448,"children":449},{"style":409},[450],{"type":24,"value":451}," discord",{"type":19,"tag":100,"props":453,"children":454},{"style":403},[455],{"type":24,"value":417},{"type":19,"tag":100,"props":457,"children":458},{"style":425},[459],{"type":24,"value":460}," { content: ",{"type":19,"tag":100,"props":462,"children":464},{"style":463},"--shiki-default:#9ECBFF",[465],{"type":24,"value":466},"`📧 **${",{"type":19,"tag":100,"props":468,"children":469},{"style":425},[470],{"type":24,"value":5},{"type":19,"tag":100,"props":472,"children":473},{"style":463},[474],{"type":24,"value":428},{"type":19,"tag":100,"props":476,"children":477},{"style":425},[478],{"type":24,"value":307},{"type":19,"tag":100,"props":480,"children":481},{"style":463},[482],{"type":24,"value":483},"}**",{"type":19,"tag":100,"props":485,"children":486},{"style":409},[487],{"type":24,"value":488},"\\n",{"type":19,"tag":100,"props":490,"children":491},{"style":463},[492],{"type":24,"value":493},"From: ${",{"type":19,"tag":100,"props":495,"children":496},{"style":425},[497],{"type":24,"value":5},{"type":19,"tag":100,"props":499,"children":500},{"style":463},[501],{"type":24,"value":428},{"type":19,"tag":100,"props":503,"children":504},{"style":425},[505],{"type":24,"value":279},{"type":19,"tag":100,"props":507,"children":508},{"style":403},[509],{"type":24,"value":510}," ||",{"type":19,"tag":100,"props":512,"children":513},{"style":425},[514],{"type":24,"value":412},{"type":19,"tag":100,"props":516,"children":517},{"style":463},[518],{"type":24,"value":428},{"type":19,"tag":100,"props":520,"children":521},{"style":425},[522],{"type":24,"value":271},{"type":19,"tag":100,"props":524,"children":525},{"style":463},[526],{"type":24,"value":527},"}",{"type":19,"tag":100,"props":529,"children":530},{"style":409},[531],{"type":24,"value":532},"\\n\\n",{"type":19,"tag":100,"props":534,"children":535},{"style":463},[536],{"type":24,"value":537},"${",{"type":19,"tag":100,"props":539,"children":540},{"style":425},[541],{"type":24,"value":5},{"type":19,"tag":100,"props":543,"children":544},{"style":463},[545],{"type":24,"value":428},{"type":19,"tag":100,"props":547,"children":548},{"style":425},[549],{"type":24,"value":24},{"type":19,"tag":100,"props":551,"children":552},{"style":463},[553],{"type":24,"value":554},"}`",{"type":19,"tag":100,"props":556,"children":557},{"style":425},[558],{"type":24,"value":559}," };\n",{"type":19,"tag":100,"props":561,"children":563},{"class":102,"line":562},3,[564,569,574,579,584,588,593],{"type":19,"tag":100,"props":565,"children":566},{"style":425},[567],{"type":24,"value":568},"r.",{"type":19,"tag":100,"props":570,"children":571},{"style":431},[572],{"type":24,"value":573},"setBody",{"type":19,"tag":100,"props":575,"children":576},{"style":425},[577],{"type":24,"value":578},"(",{"type":19,"tag":100,"props":580,"children":581},{"style":409},[582],{"type":24,"value":583},"JSON",{"type":19,"tag":100,"props":585,"children":586},{"style":425},[587],{"type":24,"value":428},{"type":19,"tag":100,"props":589,"children":590},{"style":431},[591],{"type":24,"value":592},"stringify",{"type":19,"tag":100,"props":594,"children":595},{"style":425},[596],{"type":24,"value":597},"(discord));\n",{"type":19,"tag":100,"props":599,"children":601},{"class":102,"line":600},4,[602,606,611,615,620,624,629],{"type":19,"tag":100,"props":603,"children":604},{"style":425},[605],{"type":24,"value":568},{"type":19,"tag":100,"props":607,"children":608},{"style":431},[609],{"type":24,"value":610},"setHeader",{"type":19,"tag":100,"props":612,"children":613},{"style":425},[614],{"type":24,"value":578},{"type":19,"tag":100,"props":616,"children":617},{"style":463},[618],{"type":24,"value":619},"\"Content-Type\"",{"type":19,"tag":100,"props":621,"children":622},{"style":425},[623],{"type":24,"value":273},{"type":19,"tag":100,"props":625,"children":626},{"style":463},[627],{"type":24,"value":628},"\"application/json\"",{"type":19,"tag":100,"props":630,"children":631},{"style":425},[632],{"type":24,"value":633},");\n",{"type":19,"tag":20,"props":635,"children":636},{},[637,639,645,647,653],{"type":24,"value":638},"That parses the incoming email, builds Discord's expected ",{"type":19,"tag":96,"props":640,"children":642},{"className":641},[],[643],{"type":24,"value":644},"{ \"content\": \"...\" }",{"type":24,"value":646}," body from the subject, sender and plain-text body, and sets the right header. You can also ",{"type":19,"tag":96,"props":648,"children":650},{"className":649},[],[651],{"type":24,"value":652},"r.setResponseStatus(code)",{"type":24,"value":654}," if you need to control what's returned.",{"type":19,"tag":20,"props":656,"children":657},{},[658,660,665,667,673,675,680,682,688,690,696],{"type":24,"value":659},"A Discord incoming webhook accepts either ",{"type":19,"tag":96,"props":661,"children":663},{"className":662},[],[664],{"type":24,"value":644},{"type":24,"value":666}," or an ",{"type":19,"tag":96,"props":668,"children":670},{"className":669},[],[671],{"type":24,"value":672},"embeds",{"type":24,"value":674}," array — so for a richer card, build an ",{"type":19,"tag":96,"props":676,"children":678},{"className":677},[],[679],{"type":24,"value":672},{"type":24,"value":681}," object instead (map ",{"type":19,"tag":96,"props":683,"children":685},{"className":684},[],[686],{"type":24,"value":687},"email.subject",{"type":24,"value":689}," to the title and ",{"type":19,"tag":96,"props":691,"children":693},{"className":692},[],[694],{"type":24,"value":695},"email.text",{"type":24,"value":697}," to the description) and Discord will render it with a title, colored sidebar, and fields.",{"type":19,"tag":78,"props":699,"children":701},{"id":700},"going-further",[702],{"type":24,"value":703},"Going further",{"type":19,"tag":20,"props":705,"children":706},{},[707,709,715,717,721],{"type":24,"value":708},"Want only certain senders to reach Discord? Add a From allowlist with ",{"type":19,"tag":38,"props":710,"children":712},{"href":711},"/docs/email/filtering-and-policy",[713],{"type":24,"value":714},"filtering and policy",{"type":24,"value":716}," so unwanted mail never gets delivered. And because this is the same inbound-email pipeline behind ",{"type":19,"tag":38,"props":718,"children":719},{"href":134},[720],{"type":24,"value":137},{"type":24,"value":722},", you can point the parsed JSON anywhere — Discord today, Slack, an internal API, or several destinations at once tomorrow.",{"type":19,"tag":20,"props":724,"children":725},{},[726,733,735,739,741,748],{"type":19,"tag":38,"props":727,"children":730},{"href":728,"rel":729},"https://my.webhookrelay.com/register",[42],[731],{"type":24,"value":732},"Create a free Webhook Relay account",{"type":24,"value":734},", add an email input, and route your first message into Discord in a few minutes — see the ",{"type":19,"tag":38,"props":736,"children":737},{"href":134},[738],{"type":24,"value":137},{"type":24,"value":740}," pillar for the full picture. Building a Discord ",{"type":19,"tag":38,"props":742,"children":745},{"href":743,"rel":744},"https://discord.com/developers/docs/resources/webhook",[42],[746],{"type":24,"value":747},"incoming webhook",{"type":24,"value":749},"? The format above is everything it needs.",{"type":19,"tag":751,"props":752,"children":753},"style",{},[754],{"type":24,"value":755},"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":562,"depth":562,"links":757},[758,759,760,761],{"id":80,"depth":112,"text":83},{"id":142,"depth":112,"text":145},{"id":257,"depth":112,"text":260},{"id":700,"depth":112,"text":703},"markdown","content:docs:tutorials:email:discord.md","content","docs/tutorials/email/discord.md","docs/tutorials/email/discord","md",{"loc":4},[770,773,776,779,782,785,788,791],{"_path":771,"title":772},"/docs/installation/cli","CLI",{"_path":774,"title":775},"/docs/installation/docker","Docker container",{"_path":777,"title":778},"/docs/installation/docker-compose","Docker Compose",{"_path":780,"title":781},"/docs/installation/kubernetes","Kubernetes",{"_path":783,"title":784},"/docs/installation/autostart-windows","Autostart (Windows)",{"_path":786,"title":787},"/docs/installation/autostart-linux","Autostart (Linux)",{"_path":789,"title":790},"/docs/installation/autostart-macos","Autostart (MacOS)",{"_path":792,"title":793},"/docs/installation/behind-proxy","HTTP proxy configuration",[795],{"_path":796,"title":797},"/docs/webhooks/internal/localhost","Receiving webhooks on localhost",[799,802],{"_path":800,"title":801},"/docs/webhooks/public/public-destination","Forward to public URL",{"_path":803,"title":804},"/docs/webhooks/public/multiple-destination-urls","Multiple destinations",[806,809,812,815],{"_path":807,"title":808},"/docs/webhooks/auth/username-password","Username and password",{"_path":810,"title":811},"/docs/webhooks/auth/hmac","HMAC",{"_path":813,"title":814},"/docs/webhooks/auth/jwt","JWT authentication",{"_path":816,"title":817},"/docs/webhooks/auth/http-method","Auth using request method",[819],{"_path":820,"title":821},"/docs/webhooks/cron/using-cron-webhooks","Schedule recurring webhooks",[823,826,829,832,835,838,841],{"_path":824,"title":825},"/docs/service-connections","Service Connections",{"_path":827,"title":828},"/docs/service-connections/aws_s3","AWS S3",{"_path":830,"title":831},"/docs/service-connections/aws_sns","AWS SNS",{"_path":833,"title":834},"/docs/service-connections/aws_sqs","AWS SQS",{"_path":836,"title":837},"/docs/service-connections/azure","Azure",{"_path":839,"title":840},"/docs/service-connections/gcp_gcs","GCP Cloud Storage",{"_path":842,"title":843},"/docs/service-connections/gcp_pubsub","GCP Pub/Sub",[845,847,849],{"_path":184,"title":846},"Receive emails as webhooks",{"_path":375,"title":848},"Email webhook payload",{"_path":711,"title":850},"Sender filtering & policy",[852,855],{"_path":853,"title":854},"/docs/tunnels/demoing-your-website","Demoing your website",{"_path":856,"title":857},"/docs/tunnels/regions","Regions",[859,862,865,868],{"_path":860,"title":861},"/docs/account/account-management","Account management",{"_path":863,"title":864},"/docs/account/mfa","Multi-factor authentication (MFA)",{"_path":866,"title":867},"/docs/account/team","Teams and sub-accounts",{"_path":869,"title":870},"/docs/account/billing-and-subscriptions","Billing & subscriptions",[872,875,878,881,884,887],{"_path":873,"title":874},"/docs/tutorials/cicd/jenkins-bitbucket","Jenkins and Bitbucket",{"_path":876,"title":877},"/docs/tutorials/cicd/jenkins-github","Jenkins and GitHub",{"_path":879,"title":880},"/docs/tutorials/cicd/jenkins-plugin","Jenkins Plugin",{"_path":882,"title":883},"/docs/tutorials/cicd/kubernetes-operator","Kubernetes Operator",{"_path":885,"title":886},"/docs/tutorials/cicd/terraform-atlantis","Terraform Atlantis",{"_path":888,"title":889},"/docs/tutorials/cicd/webhook-exec","Execute scripts on webhook",[891,894,897,900,901,904,907,910],{"_path":892,"title":893},"/docs/tutorials/email/airtable","Email to Airtable",{"_path":895,"title":896},"/docs/tutorials/email/api","Email to API",{"_path":898,"title":899},"/docs/tutorials/email/database","Email to Database",{"_path":4,"title":8},{"_path":902,"title":903},"/docs/tutorials/email/google-sheets","Email to Google Sheets",{"_path":905,"title":906},"/docs/tutorials/email/microsoft-teams","Email to Microsoft Teams",{"_path":908,"title":909},"/docs/tutorials/email/notion","Email to Notion",{"_path":911,"title":912},"/docs/tutorials/email/slack","Email to Slack",[914,917,920],{"_path":915,"title":916},"/docs/tutorials/edge/home-assistant","Home Assistant",{"_path":918,"title":919},"/docs/tutorials/edge/javascript-app","JavaScript app",{"_path":921,"title":922},"/docs/tutorials/edge/node-red","Node-RED",[924],{"_path":925,"title":926},"/docs/tutorials/warehouse/bigquery","GCP BigQuery",[928,931],{"_path":929,"title":930},"/docs/tutorials/transform/docker-to-slack","DockerHub webhook to Slack notification",{"_path":932,"title":933},"/docs/tutorials/transform/enrich-webhooks","Enrich webhooks from APIs",[935,938,941,944,947,950,953,956,959,962,964,967],{"_path":936,"title":937},"/docs/webhooks/functions/manipulating-json","JSON encoding",{"_path":939,"title":940},"/docs/webhooks/functions/make-http-request","Make HTTP request",{"_path":942,"title":943},"/docs/webhooks/functions/modify-request","Read, write request data",{"_path":945,"title":946},"/docs/webhooks/functions/multipart-form-data","Multipart form to JSON",{"_path":948,"title":949},"/docs/webhooks/functions/url-encoded-data","URL Encoded Form",{"_path":951,"title":952},"/docs/webhooks/functions/working-with-time","Working with time",{"_path":954,"title":955},"/docs/webhooks/functions/send-emails","Sending emails",{"_path":957,"title":958},"/docs/webhooks/functions/crypto-functions","Base64, encryption",{"_path":960,"title":961},"/docs/webhooks/functions/integrate-into-cicd","Integrating into CI/CD",{"_path":963,"title":926},"/docs/webhooks/functions/big-query",{"_path":965,"title":966},"/docs/webhooks/functions/accessing-metadata","Accessing metadata",{"_path":126,"title":968},"Functions",1782718125926]