All Projects → johnagan → Serverless Slack App

johnagan / Serverless Slack App

Licence: mit
A Serverless.js Slack App Boilerplate with OAuth and Bot actions

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Serverless Slack App

Serverless Slackbot
A boilerplate Serverless Slackbot framework with a custom scripts folder (like Hubot)
Stars: ✭ 72 (-66.82%)
Mutual labels:  bot, aws, serverless, lambda, slack
Aws Maintenance Lambda
A lambda function to send alerts (to Slack, HipChat) on AWS maintenance events.
Stars: ✭ 133 (-38.71%)
Mutual labels:  bot, aws, lambda, slack
Aws Lambda Power Tuning
AWS Lambda Power Tuning is an open-source tool that can help you visualize and fine-tune the memory/power configuration of Lambda functions. It runs in your own AWS account - powered by AWS Step Functions - and it supports three optimization strategies: cost, speed, and balanced.
Stars: ✭ 3,040 (+1300.92%)
Mutual labels:  aws, serverless, lambda
Serverless Next.js
⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
Stars: ✭ 2,977 (+1271.89%)
Mutual labels:  aws, serverless, lambda
Aws Serverless Appsync App
This workshop shows you how to build a Web Application that demonstrates how easy it is to create data driven web applications all with no servers. You will build a serverless web application that lets users search for popular tourist destinations. The application will use AWS AppSync and the AWS Serverless platform to provide real-time weather analysis of the indexed destinations.
Stars: ✭ 162 (-25.35%)
Mutual labels:  aws, serverless, lambda
Aws Auto Remediate
Open source application to instantly remediate common security issues through the use of AWS Config
Stars: ✭ 191 (-11.98%)
Mutual labels:  aws, serverless, lambda
Jets
Ruby on Jets
Stars: ✭ 1,915 (+782.49%)
Mutual labels:  aws, serverless, lambda
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+935.48%)
Mutual labels:  aws, serverless, lambda
Spark On Lambda
Apache Spark on AWS Lambda
Stars: ✭ 137 (-36.87%)
Mutual labels:  aws, serverless, lambda
Eventstormingworkshop
EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 184 (-15.21%)
Mutual labels:  aws, serverless, lambda
Serverlessish
Run the same Docker images in AWS Lambda and AWS ECS
Stars: ✭ 177 (-18.43%)
Mutual labels:  aws, serverless, lambda
Components
The Serverless Framework's new infrastructure provisioning technology — Build, compose, & deploy serverless apps in seconds...
Stars: ✭ 2,259 (+941.01%)
Mutual labels:  aws, serverless, lambda
Refunc
A lib make building AWS Lambda compatible layer easily
Stars: ✭ 144 (-33.64%)
Mutual labels:  aws, serverless, lambda
Serverless Sam
Serverless framework plugin to export AWS SAM templates for a service
Stars: ✭ 143 (-34.1%)
Mutual labels:  aws, serverless, lambda
Slick
Slick, a Slack bot in Go
Stars: ✭ 150 (-30.88%)
Mutual labels:  bot, bot-framework, slack
Moonmail
Email marketing platform for bulk emailing via Amazon SES (Google Cloud Platform and Azure coming soon)
Stars: ✭ 1,766 (+713.82%)
Mutual labels:  aws, serverless, lambda
Aws Serverless Cicd Workshop
Learn how to build a CI/CD pipeline for SAM-based applications
Stars: ✭ 158 (-27.19%)
Mutual labels:  aws, serverless, lambda
Designing Cloud Native Microservices On Aws
Introduce a fluent way to design cloud native microservices via EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 131 (-39.63%)
Mutual labels:  aws, serverless, lambda
Go Sarah
Simple yet customizable bot framework written in Go.
Stars: ✭ 188 (-13.36%)
Mutual labels:  bot, bot-framework, slack
Sqs Worker Serverless
Example for SQS Worker in AWS Lambda using Serverless
Stars: ✭ 164 (-24.42%)
Mutual labels:  aws, serverless, lambda

Serverless Slack App Boilerplate

Create a serverless Slack App with AWS Lambda, API Gateway, DynamoDB, and CloudFormation. All services will be automatically provisioned for you. All that's needed is your Slack App keys.

Install Serverless and provision AWS

serverless-slack-install

  1. Setup your AWS Credentials
  2. Install Serverless.js
npm install -g serverless
  1. Install The Serverless Slack App Template and provision all AWS services
serverless install --url https://github.com/johnagan/serverless-slack-app
cd serverless-slack-app
npm install
serverless deploy

Create a Slack App

serverless-slack-app

  1. Create a new Slack App
  2. Use the generated POST url for Slack's slash commands, events, and interactive messages
  3. Update the serverless.yml with your new Slack App keys
Slack Serverless
slack-app-keys serverless-keys

Install the Slack App and Test

serverless-slack-app-install

  1. Deploy the changes to AWS serverless deploy
  2. Navigate to the GET url provided from serverless
  3. Walk through the OAuth flow and install the App
  4. Goto the team and test the slash command /greet

Update the Code

// Slash Command handler
slack.on('/greet', (msg, bot) => {
  let message = {
    text: "How would you like to greet the channel?",
    attachments: [{
      fallback: 'actions',
      callback_id: "greetings_click",
      actions: [
        { type: "button", name: "Wave", text: "👋", value: "👋" },
        { type: "button", name: "Hello", text: "Hello", value: "Hello" },
        { type: "button", name: "Howdy", text: "Howdy", value: "Howdy" },
        { type: "button", name: "Hiya", text: "Hiya", value: "Hiya" }
      ]
    }]
  };

  // ephemeral reply
  bot.replyPrivate(message); 
});


// Interactive Message handler
slack.on('greetings_click', (msg, bot) => {
  let message = { 
    // selected button value
    text: msg.actions[0].value 
  };  

  // public reply
  bot.reply(message);
});
  1. Open the bot source code
  2. Add/Remove/Update the code with your bot functionality
  3. Run serverless deploy to deploy your changes to AWS
  4. Rinse and repeat.

All the tokens and urls above were invalidated before posting this tutorial. You will need to use your own tokens

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].