Chatbot Serverless Arch
Your team uses Slack for productivity and collaboration. Why not increase their productivity by enabling them access their shared calendar (Google Calendar in this case) right from the Slack channel?
What it does
The custom Slack - Google Calendar integration helps your team lookup, add, update calendar events and share their schedule with each other without having to open the Calendar application separately.
How I built it
The integration leverages slashcommand feature of slack by integrating it with AWS Serverless backend.
The Slack command triggers a lambda function via API Gateway The Primary lambda function returns an acknowledgement to slash channel that the command is being processed The Primary lambda triggers worker lambda using SNS The worker lambda accesses the slash Channel token and Google API secret access information from a S3 bucket The worker lambda connects with Google Calendar API and accesses the Google Calendar The worker lambda returns Google Calendar event information back to original Slack Channel
Challenges I ran into
To overcome the 3 seconds default timeout for slash channel by splitting the lambda functions
Accomplishments that I'm proud of
Integration of distinct services (Slack & Google Calendar) in a secure and efficient manner using a true serverless architecture.
What I learned
Being able to build a purposeful cloud solution quickly and securely without having to build and manage a server infrastructure. Best practices and integrations of lambda & API Gateway with external services such as Slack and Google API
What's next for Manage Google calendar events from slack channel
Next step for this project would be to automate calendar events into action using chatbot. (Example- trigger production deployment or order pizza for the team at event times)