Skip to content

This project aims to show you how to use AWS services to implement a proactive HappyBirthdayBot, integrating Amazon Lex as a conversational interface, Slack as a messaging channel, and BambooHR as a source of birthdates.

License

Notifications You must be signed in to change notification settings

southworks/amazon-lex-happybirthday-bamboohr-slack-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amazon Lex Happy Birthday Bot

This project aims to show you how to use AWS services to implement a proactive HappyBirthdayBot, integrating Amazon Lex as a conversational interface, Slack as a messaging channel, and BambooHR as a source of birthdates.

Before starting, these are some concept you might familiar with:

  • Amazon Lex is a service for building conversational interfaces into any application using voice and text.
  • BambooHR is a technology company that provides human resources software as a service.
  • Slack is a communication platform, mainly used by teams and enterprises.

How it works

The Birthday Bot is an integration of AWS with Slack. Its logic is based on AWS Lambda functions and Lex.

The bot works in two ways:

  • Responding to a Slack conversation: The AWS Lex bot has three intents configured, each of them has one lambda function behind. These intents allow the bot to greet, respond to the birthdays of the day, and configure the channel where proactive messages will be posted.

When the user configures the channel, the lambda function triggered by this intent writes on an S3 bucket file, storing the configured channel.

  • Sending proactive messages: A Lambda function is triggered by EventBridge (CloudWatch Events). It reads the configured channel on the S3 file, the birthdays of the day, and post it to the channel. The authentication tokens for Slack are stored on Parameter Store inside AWS Systems Manager.

Architecture diagram

You can see the architecture, that we used to make the birthday bot work, in the following diagram:

Architecture diagram

Getting Started

Contributing

Further reading

About

This project aims to show you how to use AWS services to implement a proactive HappyBirthdayBot, integrating Amazon Lex as a conversational interface, Slack as a messaging channel, and BambooHR as a source of birthdates.

Resources

License

Code of conduct

Stars

Watchers

Forks