This was initially part of another hackathon a few days ago, with one of the problems being geared towards scheduling meetings efficiently for others. Meeting scheduler using Lex, dynamoDB, API gateway, Serverless framework and Lambda, Telegram, and google calendar API.
The function lambdas/authlambda contains lambda function to authenticate user using OAuth, and lambdas/telegramLambda contains lambda function that runs telegram bot. uses a single dynamoDB table called cxausers to store user OAuth credentials needed to access google calendar API: the dynamodb key is the telegram user ID, and the table maps telegram user IDs to their json encoded OAuth2 credentials
python files at root are neither serverless nor used as part of project - they exist only for personal reference on how to port code to serverless services. all functioning bot code is running on lambda functions.
Natural and intuitive communication is brought by feeding text data to a lex bot we created, and scheduling meetings based on what they say. Was planning to have predictions for the best time to have meeting, but time constraints got in the way
Commands /start - start conversation /b - book meeting
on telegram, bot can be found by searching for meelex (or @milselarch_bookerApp)