Send Transactional and Marketing Calendar Invites for 100s of use cases.
Exploring Calendar Data Examples
We use the Sports team data to exercise the Transactional and Marketing use cases of sending a calendar invite from embedded web pages or a calendar event interface we built for sending a calendar invite to a batch list of emails.
In steps One, Two, and Three, data is integrated into the business or personal calendar using the BULK ICS upload options from an Outlook or Google Calendar Client.
In this MLB example, I got the data from https://fixturedownload.com/, which is 162 games per team per season.
This screenshot is a micro-batch for ICS files that FixtureDownload provides for free for global sports teams.
This process only takes five minutes.
The 5 minutes to get 162 events on your calendar
Four and Five are loading data onto the Google or Outlook Calendar account.
I created a particular calendar named Athletics (MLB Baseball Team) in the Google Calendar Client to keep the data sorted for a viewing perspective.
You will appreciate the data sorting capabilities once you load hundreds of events from various sports teams and attempt to keep them straight. :)
I loaded all MLB 2500 games last year and again this year using this technique, and I learned a lot about how game schedules are created, stored for MLB, and displayed by Ticketmaster.
After the 162 Game import is on the Google Calendar, we send those games to the AWS Calendar Invite server using the copy command create@calendarsnack.com in the Google Calendar Client.
Once the calendar event is copied to the AWS Calendar Invite Server, that event is registered in the AWS Calendar Invite Server.
If that event data is changed on the calendar client and saved for that event, that specific data will be updated in the AWS Calendar Invite Server.
That means that updates or deletes are handled by using the calendar client. No logins are necessary.
The CREATE, READ, UPDATE, and DELETE functions will flow to the AWS Calendar Invite Server pipeline's DB, Lambdas, and APIs. They will trigger updates for downstream recipients of Calendar Invites from the Embedded Web Pages or the Bulk Calendar Invite Sending.
Note—In this example, I imported the Athletics to show the upload process and then used the Arizona Diamondbacks in the various display dashboards below.
Ingesting data into the AWS Calendar Invite Server.
We use the Calendar Clients on Mobile and Desktop, and are market-ready across languages because we encode and decode the calendar invite data and send it with the AWS RAW SES API.
This has several advantages.
The most significant factor in product design is how lightweight the requirements are and how “cheap” it is to run an AWS calendar invite server, like for pennies in your AWS account.
In addition, your users don’t have to download anything.
You can use their calendar clients and set up a copy email box in AWS SES, and we will do all the work of a CRUD APP on the server.
To Recap:
- “The Organizer sends a Calendar Invite to an AWS EMAIL Box, and the data is disassembled, assigned a UID, and stored for future Calendar Invite Sending on the AWS Calendar Invite Server. Any change to the Calendar Invite event from the Organizer’s Client is updated using the UID in the AWS Calendar Invite Server.”
Fast deployment in your AWS SES account.
The AWS Calendar Invite Server uses your current AWS Simple Email Service Account. (SES).
An email box is set up in your SES domain to capture and route calendar invite information from Calendar Clients and process the calendar invite data. It can be any email box you want to set up. We just came up with the idea of “CREATE@CALENDARSNACK.COM”.
It can be anything you want to assign.
The cloud formation template we built installs all the necessary AWS services and has 9 APIs for programming your Transactional and Marketing Email Campaigns.
In addition, when you download the AWS Calendar Invite server, we give you access to the sample applications with the APIs connected, so you can see how we built the workflows.
Calendar Invite Disassembly using ETL pipelines
The first step in the data process is to disassemble the New Calendar Invite Data in the SES Inbox using SNS, SQS, and a custom Lambda (Python) to ETL and store the calendar invite components in Dynamo DB for reassembly when the send calendar invite API is used in an interface.
AWS Calendar Invite Server Workflow
The Calendar Invite Server has 9 APIs to talk to any service interface with keys.
We built the calendarsnack app as a sample with the calendar invite data.
Let’s step through at a high level of how that works in the CalendarSnack sampler application.
AWS Calendar Invite API’s — Add to Calendar Replacements.
In this use case, we generate a landing page with all the upcoming games stored in Dynamo DB and auto-embed the calendar invite buttons into the page for 1 one-click calendar invite sending using a self-subscribe box similar to a newsletter signup box.
The calendar invite data is then collected from the campaigns.
This can be done for single events as an “add to calendar” replacement button, as shown above.
Enter the email in the box, select the games, and click once for the calendar invite.
Anyone using AWS SES is a target customer for sending calendar invites.
The AWS Calendar Invite server workflows and Lambdas are shown above with the AWS API Server high-level design.
If you purchase the AWS Calendar Invite Server, we will disclose how these work in your GitHub account and give you access to change the Python code in the license agreement.
There are 2.4 million AWS customers.
How many could use Calendar Invite Sending on top of SES?
API #1 matches Calendar Invite UID to email address.
When a calendar invite UID for an event is “requested” in API # 1, we assemble that data from the storage layer, send a calendar invite using the 1 Button click in an embedded website, and track the data.
The rest of the APIs gather data from the Sent Calendar Invites and provide granular reporting for the Calendar Invite data for organizers and domains.
Embedded Calendar Invite is a replacement for Add to Calendar.
The Upcoming Landing Page generates the events into a stream using the APIs to develop a schedule-like view. We have developed several Landing pages that you can use under the sample application.
When the customer sends the Calendar Invites, the console tracks the data. These are examples of adding to the calendar replacements workflows.
Why use an add to the calendar when you can send a real calendar invite and track it?
Transactional sending of Calendar Invites makes sense to subscribed customers.
Batch sending in the browser is done by sending a pause between the requests for up to 1000 emails loaded using the workflow above.
It’s very effective for sending small-batch calendar invites to customers and uploading a CSV list of email names.
The APIs work with your core Simple Email Service (SES) account and will scale with the AWS Calendar Invite Server.
In addition, if you’re using PinPoint for marketing email lists, we can hook directly to AWS Pinpoint and Pull Emails from the channel list manager. We can match that to the UID of the AWS Calendar Invite server and send and track using the APIs.
This method can send millions of calendar invites as needed for various Transactional and Marketing use cases.
We support four ways to send Calendar Invites.
We support four use cases for sending calendar invites in Embedded Web Pages, bulk sending to Email Lists, and an RSVP Button for MailChimp, among 25 other email marketing templates.
The RSVP Button for MailChimp
We created detailed workflows for the embedded calendar invite in an Email Marketing Template and developed an RSVP Button Code concept for 1 click calendar invites inside of leading Email Marketing Templates.
Grab the code for Klaviyo, Send Grid, MailChimp, and 25 more. Insert it, and customers will see a button to click to send the calendar invite directly to their email.
Calendar Invite Data for Domains and Organizers
Ok, that's a wrap-up for today.
In the final slide, we recap that we track calendar invite data for the Organizer and Domain owners.
If you need to reach us, greg@31events.com