[{"data":1,"prerenderedAt":1261},["ShallowReactive",2],{"content-query-HpgkyBmWNM":3,"content-query-W4RtfFQaoh":1060,"content-query-yP1cWMns5L":1085,"content-query-M5aWdXgQKx":1089,"content-query-eJ9XWy0CGH":1096,"content-query-UP87PRcOMw":1109,"content-query-7VgBfxLOWV":1113,"content-query-Z6fTkbgt1D":1135,"content-query-9giMhwHrGj":1143,"content-query-j8GGVgf9na":1150,"content-query-G03kJtQzJS":1163,"content-query-1mvwAKmUBq":1182,"content-query-No6iPTj4EO":1205,"content-query-zRSmsuVl55":1215,"content-query-MsdmgXewTK":1219,"content-query-BMhIInEJl2":1226},{"_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":1054,"_id":1055,"_source":999,"_file":1056,"_stem":1057,"_extension":1058,"sitemap":1059},"/docs/tutorials/email/airtable","email",false,"","Email to Airtable","Turn inbound emails into Airtable records automatically. Webhook Relay parses email to JSON, then a transform maps it into the Airtable API format.","tutorial","doc",[13,14],"Email","Webhook Forwarding",{"type":16,"children":17,"toc":1048},"root",[18,40,78,85,90,110,123,128,528,557,563,573,591,633,651,668,674,702,937,974,1002,1011,1017,1030,1042],{"type":19,"tag":20,"props":21,"children":22},"element","p",{},[23,26,31,33,38],{"type":24,"value":25},"text","A lot of structured information still arrives as ",{"type":19,"tag":27,"props":28,"children":29},"strong",{},[30],{"type":24,"value":5},{"type":24,"value":32},": inbound leads, order confirmations, job applications, vendor notifications, form submissions that only email you. Each one is a row you wish were in ",{"type":19,"tag":27,"props":34,"children":35},{},[36],{"type":24,"value":37},"Airtable",{"type":24,"value":39}," — but instead it sits in an inbox waiting to be copied across by hand.",{"type":19,"tag":20,"props":41,"children":42},{},[43,52,54,60,62,67,69,76],{"type":19,"tag":44,"props":45,"children":49},"a",{"href":46,"rel":47},"https://webhookrelay.com",[48],"nofollow",[50],{"type":24,"value":51},"Webhook Relay",{"type":24,"value":53}," can ",{"type":19,"tag":44,"props":55,"children":57},{"href":56},"/docs/email",[58],{"type":24,"value":59},"receive emails as webhooks",{"type":24,"value":61},". You give an inbox a unique address, every message sent to it is parsed into JSON, and a small ",{"type":19,"tag":27,"props":63,"children":64},{},[65],{"type":24,"value":66},"transform",{"type":24,"value":68}," reshapes it into the format the ",{"type":19,"tag":44,"props":70,"children":73},{"href":71,"rel":72},"https://airtable.com/developers/web/api/introduction",[48],[74],{"type":24,"value":75},"Airtable Web API",{"type":24,"value":77}," expects before delivery — no mail server, no parsing of raw MIME, no polling.",{"type":19,"tag":79,"props":80,"children":82},"h2",{"id":81},"how-it-works",[83],{"type":24,"value":84},"How it works",{"type":19,"tag":20,"props":86,"children":87},{},[88],{"type":24,"value":89},"The whole path is a single hop with a transform in the middle:",{"type":19,"tag":91,"props":92,"children":95},"pre",{"className":93,"code":94,"language":24,"meta":7,"style":7},"language-text shiki shiki-themes github-dark","inbound email  ──▶  Webhook Relay (parse + transform)  ──▶  Airtable API  ──▶  new record\n",[96],{"type":19,"tag":97,"props":98,"children":99},"code",{"__ignoreMap":7},[100],{"type":19,"tag":101,"props":102,"children":105},"span",{"class":103,"line":104},"line",1,[106],{"type":19,"tag":101,"props":107,"children":108},{},[109],{"type":24,"value":94},{"type":19,"tag":20,"props":111,"children":112},{},[113,115,121],{"type":24,"value":114},"When an email hits your Webhook Relay address, it's parsed into a structured JSON document and POSTed to the bucket's outputs. The Airtable API doesn't understand that shape — it accepts a ",{"type":19,"tag":97,"props":116,"children":118},{"className":117},[],[119],{"type":24,"value":120},"{ \"fields\": { ... } }",{"type":24,"value":122}," body with a bearer token — so the transform converts one into the other in flight.",{"type":19,"tag":20,"props":124,"children":125},{},[126],{"type":24,"value":127},"The parsed email looks like this:",{"type":19,"tag":91,"props":129,"children":133},{"className":130,"code":131,"language":132,"meta":7,"style":7},"language-json shiki shiki-themes github-dark","{\n  \"from\": \"jon@example.com\",\n  \"from_name\": \"Jon Snow\",\n  \"recipient\": \"\u003Cuuid>@in.webhookrelay-mail.com\",\n  \"to\": [\"\u003Cuuid>@in.webhookrelay-mail.com\"],\n  \"subject\": \"New lead: Acme Corp\",\n  \"date\": \"Sun, 28 Jun 2026 11:27:41 +0400\",\n  \"message_id\": \"\u003Cabc@mail.example.com>\",\n  \"text\": \"plain body\",\n  \"html\": \"\u003Cp>html body\u003C/p>\",\n  \"spf\": \"pass\",\n  \"dkim\": \"pass\",\n  \"dmarc\": \"pass\",\n  \"attachments\": [\n    { \"name\": \"resume.pdf\", \"content_type\": \"application/pdf\", \"size\": 48213, \"content\": \"\u003Cbase64>\" }\n  ]\n}\n","json",[134],{"type":19,"tag":97,"props":135,"children":136},{"__ignoreMap":7},[137,146,172,194,216,239,261,283,305,327,349,371,392,413,427,510,519],{"type":19,"tag":101,"props":138,"children":139},{"class":103,"line":104},[140],{"type":19,"tag":101,"props":141,"children":143},{"style":142},"--shiki-default:#E1E4E8",[144],{"type":24,"value":145},"{\n",{"type":19,"tag":101,"props":147,"children":149},{"class":103,"line":148},2,[150,156,161,167],{"type":19,"tag":101,"props":151,"children":153},{"style":152},"--shiki-default:#79B8FF",[154],{"type":24,"value":155},"  \"from\"",{"type":19,"tag":101,"props":157,"children":158},{"style":142},[159],{"type":24,"value":160},": ",{"type":19,"tag":101,"props":162,"children":164},{"style":163},"--shiki-default:#9ECBFF",[165],{"type":24,"value":166},"\"jon@example.com\"",{"type":19,"tag":101,"props":168,"children":169},{"style":142},[170],{"type":24,"value":171},",\n",{"type":19,"tag":101,"props":173,"children":175},{"class":103,"line":174},3,[176,181,185,190],{"type":19,"tag":101,"props":177,"children":178},{"style":152},[179],{"type":24,"value":180},"  \"from_name\"",{"type":19,"tag":101,"props":182,"children":183},{"style":142},[184],{"type":24,"value":160},{"type":19,"tag":101,"props":186,"children":187},{"style":163},[188],{"type":24,"value":189},"\"Jon Snow\"",{"type":19,"tag":101,"props":191,"children":192},{"style":142},[193],{"type":24,"value":171},{"type":19,"tag":101,"props":195,"children":197},{"class":103,"line":196},4,[198,203,207,212],{"type":19,"tag":101,"props":199,"children":200},{"style":152},[201],{"type":24,"value":202},"  \"recipient\"",{"type":19,"tag":101,"props":204,"children":205},{"style":142},[206],{"type":24,"value":160},{"type":19,"tag":101,"props":208,"children":209},{"style":163},[210],{"type":24,"value":211},"\"\u003Cuuid>@in.webhookrelay-mail.com\"",{"type":19,"tag":101,"props":213,"children":214},{"style":142},[215],{"type":24,"value":171},{"type":19,"tag":101,"props":217,"children":219},{"class":103,"line":218},5,[220,225,230,234],{"type":19,"tag":101,"props":221,"children":222},{"style":152},[223],{"type":24,"value":224},"  \"to\"",{"type":19,"tag":101,"props":226,"children":227},{"style":142},[228],{"type":24,"value":229},": [",{"type":19,"tag":101,"props":231,"children":232},{"style":163},[233],{"type":24,"value":211},{"type":19,"tag":101,"props":235,"children":236},{"style":142},[237],{"type":24,"value":238},"],\n",{"type":19,"tag":101,"props":240,"children":242},{"class":103,"line":241},6,[243,248,252,257],{"type":19,"tag":101,"props":244,"children":245},{"style":152},[246],{"type":24,"value":247},"  \"subject\"",{"type":19,"tag":101,"props":249,"children":250},{"style":142},[251],{"type":24,"value":160},{"type":19,"tag":101,"props":253,"children":254},{"style":163},[255],{"type":24,"value":256},"\"New lead: Acme Corp\"",{"type":19,"tag":101,"props":258,"children":259},{"style":142},[260],{"type":24,"value":171},{"type":19,"tag":101,"props":262,"children":264},{"class":103,"line":263},7,[265,270,274,279],{"type":19,"tag":101,"props":266,"children":267},{"style":152},[268],{"type":24,"value":269},"  \"date\"",{"type":19,"tag":101,"props":271,"children":272},{"style":142},[273],{"type":24,"value":160},{"type":19,"tag":101,"props":275,"children":276},{"style":163},[277],{"type":24,"value":278},"\"Sun, 28 Jun 2026 11:27:41 +0400\"",{"type":19,"tag":101,"props":280,"children":281},{"style":142},[282],{"type":24,"value":171},{"type":19,"tag":101,"props":284,"children":286},{"class":103,"line":285},8,[287,292,296,301],{"type":19,"tag":101,"props":288,"children":289},{"style":152},[290],{"type":24,"value":291},"  \"message_id\"",{"type":19,"tag":101,"props":293,"children":294},{"style":142},[295],{"type":24,"value":160},{"type":19,"tag":101,"props":297,"children":298},{"style":163},[299],{"type":24,"value":300},"\"\u003Cabc@mail.example.com>\"",{"type":19,"tag":101,"props":302,"children":303},{"style":142},[304],{"type":24,"value":171},{"type":19,"tag":101,"props":306,"children":308},{"class":103,"line":307},9,[309,314,318,323],{"type":19,"tag":101,"props":310,"children":311},{"style":152},[312],{"type":24,"value":313},"  \"text\"",{"type":19,"tag":101,"props":315,"children":316},{"style":142},[317],{"type":24,"value":160},{"type":19,"tag":101,"props":319,"children":320},{"style":163},[321],{"type":24,"value":322},"\"plain body\"",{"type":19,"tag":101,"props":324,"children":325},{"style":142},[326],{"type":24,"value":171},{"type":19,"tag":101,"props":328,"children":330},{"class":103,"line":329},10,[331,336,340,345],{"type":19,"tag":101,"props":332,"children":333},{"style":152},[334],{"type":24,"value":335},"  \"html\"",{"type":19,"tag":101,"props":337,"children":338},{"style":142},[339],{"type":24,"value":160},{"type":19,"tag":101,"props":341,"children":342},{"style":163},[343],{"type":24,"value":344},"\"\u003Cp>html body\u003C/p>\"",{"type":19,"tag":101,"props":346,"children":347},{"style":142},[348],{"type":24,"value":171},{"type":19,"tag":101,"props":350,"children":352},{"class":103,"line":351},11,[353,358,362,367],{"type":19,"tag":101,"props":354,"children":355},{"style":152},[356],{"type":24,"value":357},"  \"spf\"",{"type":19,"tag":101,"props":359,"children":360},{"style":142},[361],{"type":24,"value":160},{"type":19,"tag":101,"props":363,"children":364},{"style":163},[365],{"type":24,"value":366},"\"pass\"",{"type":19,"tag":101,"props":368,"children":369},{"style":142},[370],{"type":24,"value":171},{"type":19,"tag":101,"props":372,"children":374},{"class":103,"line":373},12,[375,380,384,388],{"type":19,"tag":101,"props":376,"children":377},{"style":152},[378],{"type":24,"value":379},"  \"dkim\"",{"type":19,"tag":101,"props":381,"children":382},{"style":142},[383],{"type":24,"value":160},{"type":19,"tag":101,"props":385,"children":386},{"style":163},[387],{"type":24,"value":366},{"type":19,"tag":101,"props":389,"children":390},{"style":142},[391],{"type":24,"value":171},{"type":19,"tag":101,"props":393,"children":395},{"class":103,"line":394},13,[396,401,405,409],{"type":19,"tag":101,"props":397,"children":398},{"style":152},[399],{"type":24,"value":400},"  \"dmarc\"",{"type":19,"tag":101,"props":402,"children":403},{"style":142},[404],{"type":24,"value":160},{"type":19,"tag":101,"props":406,"children":407},{"style":163},[408],{"type":24,"value":366},{"type":19,"tag":101,"props":410,"children":411},{"style":142},[412],{"type":24,"value":171},{"type":19,"tag":101,"props":414,"children":416},{"class":103,"line":415},14,[417,422],{"type":19,"tag":101,"props":418,"children":419},{"style":152},[420],{"type":24,"value":421},"  \"attachments\"",{"type":19,"tag":101,"props":423,"children":424},{"style":142},[425],{"type":24,"value":426},": [\n",{"type":19,"tag":101,"props":428,"children":430},{"class":103,"line":429},15,[431,436,441,445,450,455,460,464,469,473,478,482,487,491,496,500,505],{"type":19,"tag":101,"props":432,"children":433},{"style":142},[434],{"type":24,"value":435},"    { ",{"type":19,"tag":101,"props":437,"children":438},{"style":152},[439],{"type":24,"value":440},"\"name\"",{"type":19,"tag":101,"props":442,"children":443},{"style":142},[444],{"type":24,"value":160},{"type":19,"tag":101,"props":446,"children":447},{"style":163},[448],{"type":24,"value":449},"\"resume.pdf\"",{"type":19,"tag":101,"props":451,"children":452},{"style":142},[453],{"type":24,"value":454},", ",{"type":19,"tag":101,"props":456,"children":457},{"style":152},[458],{"type":24,"value":459},"\"content_type\"",{"type":19,"tag":101,"props":461,"children":462},{"style":142},[463],{"type":24,"value":160},{"type":19,"tag":101,"props":465,"children":466},{"style":163},[467],{"type":24,"value":468},"\"application/pdf\"",{"type":19,"tag":101,"props":470,"children":471},{"style":142},[472],{"type":24,"value":454},{"type":19,"tag":101,"props":474,"children":475},{"style":152},[476],{"type":24,"value":477},"\"size\"",{"type":19,"tag":101,"props":479,"children":480},{"style":142},[481],{"type":24,"value":160},{"type":19,"tag":101,"props":483,"children":484},{"style":152},[485],{"type":24,"value":486},"48213",{"type":19,"tag":101,"props":488,"children":489},{"style":142},[490],{"type":24,"value":454},{"type":19,"tag":101,"props":492,"children":493},{"style":152},[494],{"type":24,"value":495},"\"content\"",{"type":19,"tag":101,"props":497,"children":498},{"style":142},[499],{"type":24,"value":160},{"type":19,"tag":101,"props":501,"children":502},{"style":163},[503],{"type":24,"value":504},"\"\u003Cbase64>\"",{"type":19,"tag":101,"props":506,"children":507},{"style":142},[508],{"type":24,"value":509}," }\n",{"type":19,"tag":101,"props":511,"children":513},{"class":103,"line":512},16,[514],{"type":19,"tag":101,"props":515,"children":516},{"style":142},[517],{"type":24,"value":518},"  ]\n",{"type":19,"tag":101,"props":520,"children":522},{"class":103,"line":521},17,[523],{"type":19,"tag":101,"props":524,"children":525},{"style":142},[526],{"type":24,"value":527},"}\n",{"type":19,"tag":20,"props":529,"children":530},{},[531,533,539,541,547,549,555],{"type":24,"value":532},"See the full ",{"type":19,"tag":44,"props":534,"children":536},{"href":535},"/docs/email/payload",[537],{"type":24,"value":538},"payload reference",{"type":24,"value":540}," for every field, including ",{"type":19,"tag":97,"props":542,"children":544},{"className":543},[],[545],{"type":24,"value":546},"cc",{"type":24,"value":548}," and the raw ",{"type":19,"tag":97,"props":550,"children":552},{"className":551},[],[553],{"type":24,"value":554},"headers",{"type":24,"value":556}," map.",{"type":19,"tag":79,"props":558,"children":560},{"id":559},"setup",[561],{"type":24,"value":562},"Setup",{"type":19,"tag":20,"props":564,"children":565},{},[566,571],{"type":19,"tag":27,"props":567,"children":568},{},[569],{"type":24,"value":570},"1. Create a bucket.",{"type":24,"value":572}," This is the container that ties an input to its outputs.",{"type":19,"tag":20,"props":574,"children":575},{},[576,581,583,589],{"type":19,"tag":27,"props":577,"children":578},{},[579],{"type":24,"value":580},"2. Add an email input.",{"type":24,"value":582}," Webhook Relay gives you back a unique address of the form ",{"type":19,"tag":97,"props":584,"children":586},{"className":585},[],[587],{"type":24,"value":588},"\u003Cuuid>@in.webhookrelay-mail.com",{"type":24,"value":590},". Anything sent there is parsed and forwarded to the bucket's outputs.",{"type":19,"tag":20,"props":592,"children":593},{},[594,599,601,607,609,615,617,623,625,631],{"type":19,"tag":27,"props":595,"children":596},{},[597],{"type":24,"value":598},"3. Add an output pointing at the Airtable API.",{"type":24,"value":600}," Create an Airtable personal access token with the ",{"type":19,"tag":97,"props":602,"children":604},{"className":603},[],[605],{"type":24,"value":606},"data.records:write",{"type":24,"value":608}," scope, then add an output whose destination is ",{"type":19,"tag":97,"props":610,"children":612},{"className":611},[],[613],{"type":24,"value":614},"https://api.airtable.com/v0/\u003CBASE_ID>/\u003CTABLE_NAME>",{"type":24,"value":616},". Put the credentials in the output's headers: ",{"type":19,"tag":97,"props":618,"children":620},{"className":619},[],[621],{"type":24,"value":622},"Authorization: Bearer \u003Cyour-token>",{"type":24,"value":624}," and ",{"type":19,"tag":97,"props":626,"children":628},{"className":627},[],[629],{"type":24,"value":630},"Content-Type: application/json",{"type":24,"value":632},".",{"type":19,"tag":20,"props":634,"children":635},{},[636,641,643,649],{"type":19,"tag":27,"props":637,"children":638},{},[639],{"type":24,"value":640},"4. Attach the transform.",{"type":24,"value":642}," Add the ",{"type":19,"tag":44,"props":644,"children":646},{"href":645},"/docs/webhooks/functions",[647],{"type":24,"value":648},"transform function",{"type":24,"value":650}," below so the parsed email is reshaped into an Airtable record before it's delivered.",{"type":19,"tag":20,"props":652,"children":653},{},[654,659,661,666],{"type":19,"tag":27,"props":655,"children":656},{},[657],{"type":24,"value":658},"5. Send a test email.",{"type":24,"value":660}," Email your ",{"type":19,"tag":97,"props":662,"children":664},{"className":663},[],[665],{"type":24,"value":588},{"type":24,"value":667}," address from any client. Within a second or two a new row appears in your table. If it doesn't, open the request log in your dashboard to see exactly what was received and delivered.",{"type":19,"tag":79,"props":669,"children":671},{"id":670},"the-transform",[672],{"type":24,"value":673},"The transform",{"type":19,"tag":20,"props":675,"children":676},{},[677,679,684,686,692,694,700],{"type":24,"value":678},"Webhook Relay ",{"type":19,"tag":44,"props":680,"children":681},{"href":645},[682],{"type":24,"value":683},"functions",{"type":24,"value":685}," hand you the incoming request body as a string in ",{"type":19,"tag":97,"props":687,"children":689},{"className":688},[],[690],{"type":24,"value":691},"r.body",{"type":24,"value":693},". Parse it, build the Airtable payload, and write it back with ",{"type":19,"tag":97,"props":695,"children":697},{"className":696},[],[698],{"type":24,"value":699},"r.setBody",{"type":24,"value":701},":",{"type":19,"tag":91,"props":703,"children":707},{"className":704,"code":705,"language":706,"meta":7,"style":7},"language-js shiki shiki-themes github-dark","const e = JSON.parse(r.body);\n\nr.setBody(JSON.stringify({\n  fields: {\n    From: e.from,\n    Subject: e.subject,\n    Body: e.text,\n    Received: e.date\n  }\n}));\n\nr.setHeader(\"Authorization\", \"Bearer \" + \"YOUR_AIRTABLE_TOKEN\");\nr.setHeader(\"Content-Type\", \"application/json\");\n","js",[708],{"type":19,"tag":97,"props":709,"children":710},{"__ignoreMap":7},[711,750,759,796,804,812,820,828,836,844,852,859,904],{"type":19,"tag":101,"props":712,"children":713},{"class":103,"line":104},[714,720,725,730,735,739,745],{"type":19,"tag":101,"props":715,"children":717},{"style":716},"--shiki-default:#F97583",[718],{"type":24,"value":719},"const",{"type":19,"tag":101,"props":721,"children":722},{"style":152},[723],{"type":24,"value":724}," e",{"type":19,"tag":101,"props":726,"children":727},{"style":716},[728],{"type":24,"value":729}," =",{"type":19,"tag":101,"props":731,"children":732},{"style":152},[733],{"type":24,"value":734}," JSON",{"type":19,"tag":101,"props":736,"children":737},{"style":142},[738],{"type":24,"value":632},{"type":19,"tag":101,"props":740,"children":742},{"style":741},"--shiki-default:#B392F0",[743],{"type":24,"value":744},"parse",{"type":19,"tag":101,"props":746,"children":747},{"style":142},[748],{"type":24,"value":749},"(r.body);\n",{"type":19,"tag":101,"props":751,"children":752},{"class":103,"line":148},[753],{"type":19,"tag":101,"props":754,"children":756},{"emptyLinePlaceholder":755},true,[757],{"type":24,"value":758},"\n",{"type":19,"tag":101,"props":760,"children":761},{"class":103,"line":174},[762,767,772,777,782,786,791],{"type":19,"tag":101,"props":763,"children":764},{"style":142},[765],{"type":24,"value":766},"r.",{"type":19,"tag":101,"props":768,"children":769},{"style":741},[770],{"type":24,"value":771},"setBody",{"type":19,"tag":101,"props":773,"children":774},{"style":142},[775],{"type":24,"value":776},"(",{"type":19,"tag":101,"props":778,"children":779},{"style":152},[780],{"type":24,"value":781},"JSON",{"type":19,"tag":101,"props":783,"children":784},{"style":142},[785],{"type":24,"value":632},{"type":19,"tag":101,"props":787,"children":788},{"style":741},[789],{"type":24,"value":790},"stringify",{"type":19,"tag":101,"props":792,"children":793},{"style":142},[794],{"type":24,"value":795},"({\n",{"type":19,"tag":101,"props":797,"children":798},{"class":103,"line":196},[799],{"type":19,"tag":101,"props":800,"children":801},{"style":142},[802],{"type":24,"value":803},"  fields: {\n",{"type":19,"tag":101,"props":805,"children":806},{"class":103,"line":218},[807],{"type":19,"tag":101,"props":808,"children":809},{"style":142},[810],{"type":24,"value":811},"    From: e.from,\n",{"type":19,"tag":101,"props":813,"children":814},{"class":103,"line":241},[815],{"type":19,"tag":101,"props":816,"children":817},{"style":142},[818],{"type":24,"value":819},"    Subject: e.subject,\n",{"type":19,"tag":101,"props":821,"children":822},{"class":103,"line":263},[823],{"type":19,"tag":101,"props":824,"children":825},{"style":142},[826],{"type":24,"value":827},"    Body: e.text,\n",{"type":19,"tag":101,"props":829,"children":830},{"class":103,"line":285},[831],{"type":19,"tag":101,"props":832,"children":833},{"style":142},[834],{"type":24,"value":835},"    Received: e.date\n",{"type":19,"tag":101,"props":837,"children":838},{"class":103,"line":307},[839],{"type":19,"tag":101,"props":840,"children":841},{"style":142},[842],{"type":24,"value":843},"  }\n",{"type":19,"tag":101,"props":845,"children":846},{"class":103,"line":329},[847],{"type":19,"tag":101,"props":848,"children":849},{"style":142},[850],{"type":24,"value":851},"}));\n",{"type":19,"tag":101,"props":853,"children":854},{"class":103,"line":351},[855],{"type":19,"tag":101,"props":856,"children":857},{"emptyLinePlaceholder":755},[858],{"type":24,"value":758},{"type":19,"tag":101,"props":860,"children":861},{"class":103,"line":373},[862,866,871,875,880,884,889,894,899],{"type":19,"tag":101,"props":863,"children":864},{"style":142},[865],{"type":24,"value":766},{"type":19,"tag":101,"props":867,"children":868},{"style":741},[869],{"type":24,"value":870},"setHeader",{"type":19,"tag":101,"props":872,"children":873},{"style":142},[874],{"type":24,"value":776},{"type":19,"tag":101,"props":876,"children":877},{"style":163},[878],{"type":24,"value":879},"\"Authorization\"",{"type":19,"tag":101,"props":881,"children":882},{"style":142},[883],{"type":24,"value":454},{"type":19,"tag":101,"props":885,"children":886},{"style":163},[887],{"type":24,"value":888},"\"Bearer \"",{"type":19,"tag":101,"props":890,"children":891},{"style":716},[892],{"type":24,"value":893}," +",{"type":19,"tag":101,"props":895,"children":896},{"style":163},[897],{"type":24,"value":898}," \"YOUR_AIRTABLE_TOKEN\"",{"type":19,"tag":101,"props":900,"children":901},{"style":142},[902],{"type":24,"value":903},");\n",{"type":19,"tag":101,"props":905,"children":906},{"class":103,"line":394},[907,911,915,919,924,928,933],{"type":19,"tag":101,"props":908,"children":909},{"style":142},[910],{"type":24,"value":766},{"type":19,"tag":101,"props":912,"children":913},{"style":741},[914],{"type":24,"value":870},{"type":19,"tag":101,"props":916,"children":917},{"style":142},[918],{"type":24,"value":776},{"type":19,"tag":101,"props":920,"children":921},{"style":163},[922],{"type":24,"value":923},"\"Content-Type\"",{"type":19,"tag":101,"props":925,"children":926},{"style":142},[927],{"type":24,"value":454},{"type":19,"tag":101,"props":929,"children":930},{"style":163},[931],{"type":24,"value":932},"\"application/json\"",{"type":19,"tag":101,"props":934,"children":935},{"style":142},[936],{"type":24,"value":903},{"type":19,"tag":20,"props":938,"children":939},{},[940,942,948,950,956,958,964,966,972],{"type":24,"value":941},"That's the complete bridge: the sender, subject, body and date become a single Airtable record. Each key under ",{"type":19,"tag":97,"props":943,"children":945},{"className":944},[],[946],{"type":24,"value":947},"fields",{"type":24,"value":949}," must match a column in your table and use a compatible value type (single line text, long text, date, single select). For cleaner data, prefer ",{"type":19,"tag":97,"props":951,"children":953},{"className":952},[],[954],{"type":24,"value":955},"e.from_name",{"type":24,"value":957}," over ",{"type":19,"tag":97,"props":959,"children":961},{"className":960},[],[962],{"type":24,"value":963},"e.from",{"type":24,"value":965}," for a display name, and trim or truncate ",{"type":19,"tag":97,"props":967,"children":969},{"className":968},[],[970],{"type":24,"value":971},"e.text",{"type":24,"value":973}," if your column has limits.",{"type":19,"tag":20,"props":975,"children":976},{},[977,979,984,986,992,994,1000],{"type":24,"value":978},"To handle ",{"type":19,"tag":27,"props":980,"children":981},{},[982],{"type":24,"value":983},"attachments",{"type":24,"value":985},", remember each entry in ",{"type":19,"tag":97,"props":987,"children":989},{"className":988},[],[990],{"type":24,"value":991},"e.attachments",{"type":24,"value":993}," carries base64 ",{"type":19,"tag":97,"props":995,"children":997},{"className":996},[],[998],{"type":24,"value":999},"content",{"type":24,"value":1001}," — upload it to your own storage first, then put the resulting URL in an Airtable attachment field, since Airtable fetches attachments by URL.",{"type":19,"tag":1003,"props":1004,"children":1005},"blockquote",{},[1006],{"type":19,"tag":20,"props":1007,"children":1008},{},[1009],{"type":24,"value":1010},"In production, keep the token in the output's configured headers rather than hardcoding it in the function, so it never lives in your transform source.",{"type":19,"tag":79,"props":1012,"children":1014},{"id":1013},"get-started",[1015],{"type":24,"value":1016},"Get started",{"type":19,"tag":20,"props":1018,"children":1019},{},[1020,1022,1028],{"type":24,"value":1021},"Turning inbound mail into Airtable records is one case of a broader pattern: ",{"type":19,"tag":44,"props":1023,"children":1025},{"href":1024},"/email-to-webhook",[1026],{"type":24,"value":1027},"Email to Webhook",{"type":24,"value":1029},". Once an email is JSON, you can route it anywhere a webhook can go.",{"type":19,"tag":20,"props":1031,"children":1032},{},[1033,1040],{"type":19,"tag":44,"props":1034,"children":1037},{"href":1035,"rel":1036},"https://my.webhookrelay.com/register",[48],[1038],{"type":24,"value":1039},"Create a free Webhook Relay account",{"type":24,"value":1041},", add an email input, and have leads, orders and applications flowing into Airtable in a few minutes.",{"type":19,"tag":1043,"props":1044,"children":1045},"style",{},[1046],{"type":24,"value":1047},"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":174,"depth":174,"links":1049},[1050,1051,1052,1053],{"id":81,"depth":148,"text":84},{"id":559,"depth":148,"text":562},{"id":670,"depth":148,"text":673},{"id":1013,"depth":148,"text":1016},"markdown","content:docs:tutorials:email:airtable.md","docs/tutorials/email/airtable.md","docs/tutorials/email/airtable","md",{"loc":4},[1061,1064,1067,1070,1073,1076,1079,1082],{"_path":1062,"title":1063},"/docs/installation/cli","CLI",{"_path":1065,"title":1066},"/docs/installation/docker","Docker container",{"_path":1068,"title":1069},"/docs/installation/docker-compose","Docker Compose",{"_path":1071,"title":1072},"/docs/installation/kubernetes","Kubernetes",{"_path":1074,"title":1075},"/docs/installation/autostart-windows","Autostart (Windows)",{"_path":1077,"title":1078},"/docs/installation/autostart-linux","Autostart (Linux)",{"_path":1080,"title":1081},"/docs/installation/autostart-macos","Autostart (MacOS)",{"_path":1083,"title":1084},"/docs/installation/behind-proxy","HTTP proxy configuration",[1086],{"_path":1087,"title":1088},"/docs/webhooks/internal/localhost","Receiving webhooks on localhost",[1090,1093],{"_path":1091,"title":1092},"/docs/webhooks/public/public-destination","Forward to public URL",{"_path":1094,"title":1095},"/docs/webhooks/public/multiple-destination-urls","Multiple destinations",[1097,1100,1103,1106],{"_path":1098,"title":1099},"/docs/webhooks/auth/username-password","Username and password",{"_path":1101,"title":1102},"/docs/webhooks/auth/hmac","HMAC",{"_path":1104,"title":1105},"/docs/webhooks/auth/jwt","JWT authentication",{"_path":1107,"title":1108},"/docs/webhooks/auth/http-method","Auth using request method",[1110],{"_path":1111,"title":1112},"/docs/webhooks/cron/using-cron-webhooks","Schedule recurring webhooks",[1114,1117,1120,1123,1126,1129,1132],{"_path":1115,"title":1116},"/docs/service-connections","Service Connections",{"_path":1118,"title":1119},"/docs/service-connections/aws_s3","AWS S3",{"_path":1121,"title":1122},"/docs/service-connections/aws_sns","AWS SNS",{"_path":1124,"title":1125},"/docs/service-connections/aws_sqs","AWS SQS",{"_path":1127,"title":1128},"/docs/service-connections/azure","Azure",{"_path":1130,"title":1131},"/docs/service-connections/gcp_gcs","GCP Cloud Storage",{"_path":1133,"title":1134},"/docs/service-connections/gcp_pubsub","GCP Pub/Sub",[1136,1138,1140],{"_path":56,"title":1137},"Receive emails as webhooks",{"_path":535,"title":1139},"Email webhook payload",{"_path":1141,"title":1142},"/docs/email/filtering-and-policy","Sender filtering & policy",[1144,1147],{"_path":1145,"title":1146},"/docs/tunnels/demoing-your-website","Demoing your website",{"_path":1148,"title":1149},"/docs/tunnels/regions","Regions",[1151,1154,1157,1160],{"_path":1152,"title":1153},"/docs/account/account-management","Account management",{"_path":1155,"title":1156},"/docs/account/mfa","Multi-factor authentication (MFA)",{"_path":1158,"title":1159},"/docs/account/team","Teams and sub-accounts",{"_path":1161,"title":1162},"/docs/account/billing-and-subscriptions","Billing & subscriptions",[1164,1167,1170,1173,1176,1179],{"_path":1165,"title":1166},"/docs/tutorials/cicd/jenkins-bitbucket","Jenkins and Bitbucket",{"_path":1168,"title":1169},"/docs/tutorials/cicd/jenkins-github","Jenkins and GitHub",{"_path":1171,"title":1172},"/docs/tutorials/cicd/jenkins-plugin","Jenkins Plugin",{"_path":1174,"title":1175},"/docs/tutorials/cicd/kubernetes-operator","Kubernetes Operator",{"_path":1177,"title":1178},"/docs/tutorials/cicd/terraform-atlantis","Terraform Atlantis",{"_path":1180,"title":1181},"/docs/tutorials/cicd/webhook-exec","Execute scripts on webhook",[1183,1184,1187,1190,1193,1196,1199,1202],{"_path":4,"title":8},{"_path":1185,"title":1186},"/docs/tutorials/email/api","Email to API",{"_path":1188,"title":1189},"/docs/tutorials/email/database","Email to Database",{"_path":1191,"title":1192},"/docs/tutorials/email/discord","Email to Discord",{"_path":1194,"title":1195},"/docs/tutorials/email/google-sheets","Email to Google Sheets",{"_path":1197,"title":1198},"/docs/tutorials/email/microsoft-teams","Email to Microsoft Teams",{"_path":1200,"title":1201},"/docs/tutorials/email/notion","Email to Notion",{"_path":1203,"title":1204},"/docs/tutorials/email/slack","Email to Slack",[1206,1209,1212],{"_path":1207,"title":1208},"/docs/tutorials/edge/home-assistant","Home Assistant",{"_path":1210,"title":1211},"/docs/tutorials/edge/javascript-app","JavaScript app",{"_path":1213,"title":1214},"/docs/tutorials/edge/node-red","Node-RED",[1216],{"_path":1217,"title":1218},"/docs/tutorials/warehouse/bigquery","GCP BigQuery",[1220,1223],{"_path":1221,"title":1222},"/docs/tutorials/transform/docker-to-slack","DockerHub webhook to Slack notification",{"_path":1224,"title":1225},"/docs/tutorials/transform/enrich-webhooks","Enrich webhooks from APIs",[1227,1230,1233,1236,1239,1242,1245,1248,1251,1254,1256,1259],{"_path":1228,"title":1229},"/docs/webhooks/functions/manipulating-json","JSON encoding",{"_path":1231,"title":1232},"/docs/webhooks/functions/make-http-request","Make HTTP request",{"_path":1234,"title":1235},"/docs/webhooks/functions/modify-request","Read, write request data",{"_path":1237,"title":1238},"/docs/webhooks/functions/multipart-form-data","Multipart form to JSON",{"_path":1240,"title":1241},"/docs/webhooks/functions/url-encoded-data","URL Encoded Form",{"_path":1243,"title":1244},"/docs/webhooks/functions/working-with-time","Working with time",{"_path":1246,"title":1247},"/docs/webhooks/functions/send-emails","Sending emails",{"_path":1249,"title":1250},"/docs/webhooks/functions/crypto-functions","Base64, encryption",{"_path":1252,"title":1253},"/docs/webhooks/functions/integrate-into-cicd","Integrating into CI/CD",{"_path":1255,"title":1218},"/docs/webhooks/functions/big-query",{"_path":1257,"title":1258},"/docs/webhooks/functions/accessing-metadata","Accessing metadata",{"_path":645,"title":1260},"Functions",1782718126039]