Sending Calendar Invites on AWS SES
Billions of emails end up in death every day for events. Send one calendar invite using AWS. Try it out in 30 seconds.
The technology we built on AWS is called the Simple Invite Service (SIS)
SIS runs as a set of services with the AWS Simple Email Service (SES) to send and receive calendar invites for event-based marketing.
The High-Level flow is charted above.
1. Generate a Calendarsnack 2. Review the calendar data by testing it on the CalendarSnack Dashboard with a small batch email list or landing page provided. 3. Retrieve the Calendar Invites from your Test email addresses and select a Y, N, or Maybe. 4. Go to the Calendarsnack Dashboard, review the data, and request a detailed email report with RSVP data. 5. Review the detailed email report that was sent to you.
The calendar invite data from your calendar client is transformed in a few seconds, and you will receive a notification in your email address once it’s completed.
You will click through to test your calendar data immediately.
All the calendar invite data is collected in AWS S3 and is displayed in your Organizer Dashboard.
Getting data into the Simple Invite Service Dashboard can be batched using a Dropbox-like concept we have built.
We can process thousands of Calendar Invites into the AWS Messaging Layer for automated sending for all kinds of use cases around automation using a TXT, CSV, or even a Kafka messaging bus.
In this example, we are processing one at a time from the Calendar Client.
This is the Low level you can skip on SIS. (TLDR).
But if you're interested, this is how we do it.
We automate these six steps in AWS to accelerate sending calendar invites with AWS SES on our APIs.
1. Customers use the create@calendarsnack.com command in a Calendar Client to create, edit, or cancel a calendar message in the AWS SES pipeline. The calendar client sends a copy of the calendar invite to the S3 Email Box to store the calendar message in its original form in the SES storage layer. We update the messaging pipeline if edits or cancellations are completed in the Calendar Client for that UID event.
2. Event Bridge notifies Lambda to pick up a copy of the calendar invite payload and disassembles the calendar invite MIME components of the message body, time start, time stop, UID, and location to store in S3 and Dynamo DB for reassembly. (ETL IN)
3. The Lambda routine generates the Event UID for Dynamo DB, and the Calendar Invite meta artifacts are placed into S3.
4. Event Bridge notifies the UID Lambda API to reassemble the Calendar Invite from S3 with the correct Encoded, MIME TYPE, Multi-Part payload for that Calendar Invite. It validates the EVENT UID translation from Dynamo DB. (ETL OUT)
5. In one of three ways, the calendar invite API command is used in the Calendarsnack dashboard – In an Upcoming Landing Page, a VIP LIST of email names, or an RSVP Button for MailChimp or Klaviyo to send the encoded MIME type calendar invite with AWS SES.
6. Customers are tracked in the API Reporting dashboard for RSVP Calendar Client responses and changes.
Along the way, we built an application for sending calendar invites.
The application is free to use.
Give it a try at https://calendarsnack.com. There is a lot of information on how to get the data into your account and build a test plan by creating, sending, editing, updating, or deleting your calendar invite in the application.
Once you are happy with the data, you can develop an Upcoming Landing page to test your calendar invites or deploy it as production for your events.
The Single and Upcoming Event Landing Pages are part of the free app. They make a great, quick, deployable landing page for sending calendar invites.
You can see a couple here for a live demo.
More TLDR on how the Upcoming Landing Page Works
1. The customer logs into the Calendarsnack App. The SIS APIs supplied for the Calendarsnack Service build out the VUE.APP in the browser in the CDN and start the customer session.
2. Once the customer signs up for the CalendarSnack Service, the customer can proceed to the Dashboard up —no credit card is required.
3. The no-code Upcoming Landing Page in this example is selected on the left and can be configured using the push pins and toggle buttons. The shareable Upcoming URL can used in marketing campaigns for event selection and sending calendar invites to the email address in the box.
4. The Calendar Invite API call is made to the API gateway to summon a calendar invite from the SIS storage layer for that event. A Lamba assembles the calendar invite for AWS SES transport. This includes proper encoding for the MIME type and multipart for that specific calendar invite.
5. Edits, Cancels, or what the Calendar Client considers an Update to the original Calendar Client used to create the event are now registered with the Simple Invite Service UID. Is there an update to the Calendar Invite UID the automation Lambda kicks off and updates the information in the database and then resends the calendar invite information through AWS SES using the same process in #4. RSVP receipts are gathered from the customer’s Calendar Invite until the event ends via the API gateway and stored in an S3 bucket for retrieval.
6. The data for all events are stored for the individual UIDs of the calendar invites and aggregated for the Organizer to view from S3 in the VUE.JS Dashboard that the reporting API calls in the application. AWS Quick Sight is an alternative to the Vue dashboard.
When customers use the email box, they receive a calendar invite for that event, and we gather and monitor the status of the calendar client for updates.
This is the process from the Upcoming Events Landing page. This data is available in the dashboard.
If you want to drop off a more extensive list into the SES queue for Calendar Invite Sending, we have developed a batch upload Lambda Email Dropbox that can process thousands of emails of a list. The VIP LIST feature allows you to send 500 for quick and easy customer signups or a small direct calendar invite campaign using the browser to send.
If you want to send thousands of calendar invites using your AWS account, don't hesitate to contact me.
I can walk you through how we do this in your AWS SES account using our SIS Stack. Access to the SIS Admin Dashboards for logo branding and installation into your AWS account costs $995 annually, including all CI/CD automated pushes.
RSVP Reporting from the Calendar Clients
This dashboard screenshot depicts the detailed reporting in AWS we monitor. You can access it from your account after signing up for free (No Charges, no credit card).
This is a screenshot of the detailed Files from S3 that we can send that track Email, Status, Origin, and Prod ID.
IETF Calendar Specification for Updates using AWS Lambda’s with SES
We use the same process in the IETF Calendar specification for updating Calendar client data. We have automated it so you don’t have to worry about compatibility across Outlook or Google Clients. It works.
It’s been tested across 4,000 customers and 500K Calendar Invites.
TLDR—Calendar Invite edits or cancellations in the original Calendar Client used with create@calendarsnack.com will automatically change event information in the SIS Calendarsnack Console, Landing Page Display, and anyone who has received a Calendar Invite from the Simple Invite Service we have developed. These results are from the UID registered for the Calendar Invite in AWS, which is automated on your behalf.
SIS HLD Messaging Flow on AWS SES
I'm sharing a recap here as I wrap it up.
Create command is the ETL of your Calendar Invite data into AWS to send Calendar Invites at AWS scale with AWS SES.
We have a Tech Stack called Simple Invite Service. (SES). It works in your AWS account with your AWS SES.
The CalendarSnack Organizer dashboard is part of the Simple Invite Service pipeline. It visualizes the APIs we have developed into a workflow for testing and sending calendar invites.
The Upcoming Events Landing page is a consolidated events page where you can test all your events and deploy them once they are ready for customers to use.
The Calendar Invite is a powerful alternative to deliver your event announcements with AWS SES.
Data is collected for all Calendar Invites sent under your organizer name or as “Domain Owner” if you choose.
Check us out on YouTube.