It was troublesome to check the team members' calendars one by one when adjusting the meeting. By speaking with this SA bot you can check the schedule of the team members.
What it does
SA Bot is a chatbot that interfaces neatly with Google Calendar and shows members' schedule. By adding SA to Slack team channel, and No matter where you are, will be able to confirms team member’s Schedule and accordingly adjusts Schedule.
SA bot has the following features.
check the schedule Display schedule of any team member on Slack team channel.
add the schedule It adds an appointment to the member's schedule.
How we built it
SA bot is executed as a single lambda function. Lambda checks the user information obtained from Lex with the user list stored in S3 and checks whether it is a registered member or not. If you are a registered user, use the Google Calendar API to retrieve team member schedule information. Based on retrieved schedule information, display on slack's team channel or add schedule to team member's calendar. When a new member joins the team, you can check the schedule of the new member by setting the Google calendar sharing settings and adding it to the member list stored in S3.
Challenges we ran into
- Coordination between Lambda and Lex--It was difficult to link the input / output information between Lex and Lambda.
- Time zone--Since the time zone differs for each service, it was necessary to adjust the settings.
- Language barrier--We had a hard time with English.We hope that the Japanese version of Lex and Slack will be released soon.
Accomplishments that we're proud of
- Coordination between lambda and lex--In order to dynamically change the contents of output from Lambda to Lex, we implemented them from scratch by using Java.
- Designate members--We can now add events to calendar of all members registered to multiple members or teams.
What we learned
- How to link each service(Slack, Lex, Lambda and Google calendar).
- How to make a chat bot(Slots, Intent, etc).
- How to implementation of Lambda function for liking Amazon Lex in Java.
What's next for AWS_ChatbotChallenge_SAbot
We will add features that make the user easier to use.
- Create user registration function.
- Get a member with free time at the specified time.
- Make Lex and Lambda available in the same time zone.(Currently the time zone is fixed by setting.).
- and more...