Integrating AWS Lambda with Slack

January 1, 2016 | Comments(7) |

In this blog, we are going to integrate Lambda with slack to receive important notification in the slack channel. We will accomplish the following task.

  • Create an Incoming Webhook in slack.
  • Create a Lambda function which sends the notification to the slack.
  • Make the Lambda function subscribe to the SNS Topic.
  • Create an Alarm on the EC2 instance.


  • You must have a slack account
  • A running EC2 instance

Step by step process to integrate Lambda with Slack:


Task 1: Create an Incoming Webhook in slack.

Step 1: Go to your slack application where you might be able to see below scenario


Step 2: Click on your team name as below


Step 3: You will find a popup Menu as shown below and click on App and Custom Integration


Step 4: You will find the application site of Slack. Type “incoming” in the search box and select the Incoming Webhooks.



Step 5: Install the app in your respective Team.




Step 6: Select the channel and click on Add Incoming Webhook




Step 7: So the Incoming Webhook is being created.

Step 8: All you need is a Webhook URL that you can find as below and you can also customize name and image of the sender and save the setting.




Step 9: We will use the Webhook URL in Lambda Function



Task 2: Create a Lambda function which sends the notification to the slack.


Step 1: Go to AWS Lambda Console and click on Get Started Now.




Step 2: Skip the Blueprint



Step 3: Insert Name and Description for your Lambda function.



Step 4: Go to the link and copy the code in the editor.

Step 5: Create a basic Execution role for lambda



Step 6: Leave other fields as it is and click on next.

Step 7: Review the function and click on Create Function.

Step 8: Your function is created and now put your webhook URL as “slack_url”’s value.



Task 3: Make the Lambda function subscribe to the SNS Topic.


Step 1: Go to SNS and click on Create Topic.



Step 2: Provide the Information as shown below.



Step 3: Now we will create a subscription for the lambda function. Click on Create Subscription.


Step 4: Select Lambda Function as protocol and Endpoint as your lambda function ARN.




Step 5: Your Function is now read to get notifications from SNS.

Step 6: You can Test, click on Action and select Configure test event.




Step 7: You can get a sample event from following link and you can check Message in slack.



Task 4: Create an Alarm on the EC2 instance.


Step 1: Go to your EC2 Instance and create an alarm by clicking on  Alarm.



Step 2: The window will pop up and provide the information as shown below and click on “Create Alarm”.


Step 3: Your alarm is created.

Step 4: We have provided the Average CPU Utilization to 85 % but if you want to get an alarm quickly, you can put it as 1%.

Step 5: Now if your CPU will go beyond threshold value you will get a Message in Slack.


So we have configured a lambda function to send Cloudwatch alerts to Slack application.We can send any alerts which are sent through SNS to slack.We can also send a custom message by changing the lambda code.If you have any queries regarding this blog you can ask the questions to the or you can post a comment.

Thank you.



  • Lambda Function
  • SNS Topic
  • EC2 Alarm

7 Responses to “Integrating AWS Lambda with Slack”

  1. meathouse

    Thanks! Worked perfectly. I followed a few online demos and this was the only one that worked. Each piece is broken down well. Huge time saver. Thanks again.

  2. Vic

    It is very easy and understanding, worked. very appreciated for sharing.

  3. Max

    Is it possible to do the same but check send ping or check https status and notify us via slack. Seems like you’ll get notified only if cpu gets over 85% here. But what if you want to monitor a website on a specific server?

  4. shufil

    i have getting issue while we creating subscription in SNS, it not got creating subscription


Leave a Reply