Coder Social home page Coder Social logo

deanham / building-bots-on-aws Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws-samples/building-bots-on-aws

0.0 0.0 0.0 3.05 MB

Combine AWS serverless services and AWS Chatbot to build a Slack application

License: MIT No Attribution

JavaScript 100.00%

building-bots-on-aws's Introduction

Building Slack Bots on AWS Workshop

In this workshop, you'll create and deploy a simple Slack application (bot) that echoes back user's messages. The application will include a Slack app connected to a serverless back-end that processes Slack events and publishes messages to Slack.

The application architecture uses AWS Lambda, Amazon API Gateway, AWS Secrets Manager, Amazon Simple Notifications Service (SNS), Amazon CloudWatch, and AWS Chatbot. The Lambda function runs the back-end code that processes events from Slack that it receives via the API Gateway endpoint. Secrets Manager stores the Slack secret that the Lambda function uses to post messages to Slack. Monitoring is done via alarms in CloudWatch that sends state changes to an SNS topic that in turn triggers a notification in Slack through AWS Chatbot.

The infrastructure is orchestrated by a CI/CD pipeline that uses AWS Serverless Application Model, AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CloudFormation. CloudFormation deployment notifications are published to Slack using the SNS topic and AWS Chatbot.

See the diagram below for a depiction of the complete architecture.

Building Slack Bots on AWS Architecture


Modules

This workshop is divided into four modules. Each module describes a scenario of what we're going to build and step-by-step directions to help you implement the architecture and verify your work.

Module Description
Serverless App Setup Create a new Serverless Application which will support your application and provide CI/CD for it.
Code Management Set up an IAM user for and then clone locally the CodeCommit repository. Commit the new application code and SAM template.
Slack bot setup Create a Slack app to connect with AWS.
AWS Notifications Connect your chat bot back to AWS to recieve notification of events.

⚠️ These modules are intended to be executed linearly.

⭐ Before starting, please review the Setup notes.

After you have completed the workshop you can delete all of the resources that were created by following the cleanup guide.


building-bots-on-aws's People

Contributors

teknogeek0 avatar amazon-auto avatar ilyabezdelev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.