简体   繁体   中英

Sending JSON Payload to Slack via AWS Lambda

I am trying to build a Slack app by using AWS lambda and NodeJs. The issue I am facing is that I don't understand in what format does the SlackBot need the JSON payload from my AWS lambda code to display it.

I followed the tutorial video suggested on Slack linked here . In the video, the following JSON object is created and returned from the AWS lambda.

const response = {
        statusCode: 200,
        body: "Sample Response",
    };

The SlackBot posts the text entered in the 'body' property (ie 'Sample Response' in this case) as a response. This seems to be working well. But, I need some more flair than simple text so I looked into their Block Kit UI builder . But there seems to be no documentation for how to do this with a similar 'response' JSON object like this. How exactly am I supposed to use the JSON object created by the UI builder?

I do not know much about Web development so sorry if this seems like a very basic question. I wish there was a sample Slack app on their website which showed this.

The following may work for you (I use a similar one on the production);

{
  "channel": "your-channel-name",
  "username": "channel-username",
  "attachments": [
    {
      "title": "some-title",
      "fallback": "some message",
      "text": "some text",
      "fields": [
        {
          "title": "sub-title",
          "value": "sub-title-value",
          "short": true
        },
        {
          "title": "some-other-title",
          "value": "some-value"
        }
      ],
      "color": "red"
    }
  ],
  "icon_emoji": "gun"
}

This link or this one may provide some extra information.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM