<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Calendar Invite Server for AWS: Lambdas]]></title><description><![CDATA[A detailed mechanical look at the Calendar Invite Server Lambdas]]></description><link>https://www.calendarinviteserver.com/s/lambdas</link><image><url>https://www.calendarinviteserver.com/img/substack.png</url><title>Calendar Invite Server for AWS: Lambdas</title><link>https://www.calendarinviteserver.com/s/lambdas</link></image><generator>Substack</generator><lastBuildDate>Tue, 26 May 2026 05:07:15 GMT</lastBuildDate><atom:link href="https://www.calendarinviteserver.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Gregory Hanchin]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[calendarinviteserver@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[calendarinviteserver@substack.com]]></itunes:email><itunes:name><![CDATA[Gregory Hanchin]]></itunes:name></itunes:owner><itunes:author><![CDATA[Gregory Hanchin]]></itunes:author><googleplay:owner><![CDATA[calendarinviteserver@substack.com]]></googleplay:owner><googleplay:email><![CDATA[calendarinviteserver@substack.com]]></googleplay:email><googleplay:author><![CDATA[Gregory Hanchin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Calendar Invite Server Lambdas for AWS]]></title><description><![CDATA[A review of the python functions that run the calendar invite server]]></description><link>https://www.calendarinviteserver.com/p/calendar-invite-server-lambdas-for</link><guid isPermaLink="false">https://www.calendarinviteserver.com/p/calendar-invite-server-lambdas-for</guid><dc:creator><![CDATA[Gregory Hanchin]]></dc:creator><pubDate>Thu, 06 Feb 2025 20:50:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RnOW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RnOW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RnOW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 424w, https://substackcdn.com/image/fetch/$s_!RnOW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 848w, https://substackcdn.com/image/fetch/$s_!RnOW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 1272w, https://substackcdn.com/image/fetch/$s_!RnOW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RnOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png" width="1041" height="507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:507,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RnOW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 424w, https://substackcdn.com/image/fetch/$s_!RnOW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 848w, https://substackcdn.com/image/fetch/$s_!RnOW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 1272w, https://substackcdn.com/image/fetch/$s_!RnOW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb210276c-e823-48ce-a261-5cf315d9de8f_1041x507.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Lambda Narratives</strong></p><p><strong>Lambda 1:</strong> Disassemble the New Calendar Invite Data from the SES Inbox and store it in Dynamo with the UID in API # 1 for future retrieval. The developer status is protected, and the language is Python.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.calendarinviteserver.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Calendar Invite Server for AWS! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Lambda 2</strong> -Reassemble Calendar Invite data from Dynamo DB in a Multi-Part Message. Send a correctly formatted Calendar Invite using the AWS RAW API to UID and interfaces to API # 3. The developer status is protected, and the language is Python.</p><p><strong>Lambda 3&#8212;</strong>Collect, Parse, and Store RSVP Receipts for Calendar Invite UID and interfaces to API # 2 and API # 4. The developer status is protected, and the language is Python.</p><p><strong>Lambda 4</strong>&#8212;Reassemble Updated Calendar Invite data from Dynamo DB into a Multi-Part Message and Send it using the AWS RAW API and interfaces to API# 3. The developer status is protected, and the language is Python.</p><p><strong>Lambda 5</strong>&#8212;Disassemble the Calendar Invite Cancel Command and store it in Dynamo DB with the Calendar Invite UID. The developer status is protected, and the language is Python.</p><p><strong>Lambda 6</strong> -Send Calendar Invite Cancel message using AWS RAW API to UID. The developer status is protected, and the language is Python.</p><p><strong>Lambda 7</strong> - Send Email template #1 &#8211;Notification Email of Calendar Invite received, processed, and ready for access to the console. The developer status is Open, and the language is Python, EMAIL HTML for custom routing configuration by developers.</p><p><strong>Lambda 8</strong>&#8212;Send Email template #2&#8212;The notification Email of Calendar Invite Data failed to process with the next-step instructions. The developer status is Open, and the language is Python, EMAIL HTML for custom routing configuration by developers.</p><p><strong>Lambda 9</strong>&#8212;Send Email template #3 -Assemble email addresses and RSVP actions from Dynamo DB. Email the Organizer with CSV-attached email names and Y, N, and M details for that Event UID.</p><p><strong>Lambda 10</strong>&#8212;Gathers details from Dynamo DB, assembles the array of all the event data created by a single event organizer, and interfaces to API # 6. The developer status is protected, and the language is Python.</p><p><strong>Lambda 11</strong>- Gathers details from DynamoDB for the number of calendar invitations sent and RSVPs received for all Events created by Single Organizer and provides an array to API # 7. The developer status is protected, and the language is Python.</p><p><strong>Updated &#8211; Feb 2, 2025</strong></p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Calendar Invite Server For Aws Lambdas</div><div class="file-embed-details-h2">86.5KB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://calendarinviteserver.substack.com/api/v1/file/fb56b601-c1d5-488f-8d44-6a85d559da56.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://calendarinviteserver.substack.com/api/v1/file/fb56b601-c1d5-488f-8d44-6a85d559da56.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.calendarinviteserver.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Calendar Invite Server for AWS! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>