Integrating AWS Lambda with Slack

January 1, 2016 | Comments(3) |

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

3 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.


Leave a Reply