-
-
Save willdages/dcac226b8d482b9dc105e6044a677345 to your computer and use it in GitHub Desktop.
## The `substring(8)` returns the input with everything after "payload=" which is the only parameter passed in, | |
## everything else is encoded JSON inside that parameter. | |
#set ($encodedJSON = $input.body.substring(8)) | |
$util.urlDecode(${encodedJSON}) |
Holy crap. Wasted hours on this before I found this gist. Thank you.
Thanks, dude... really useful. Do you know why is that? I'm thinking about the reasons for this kind of decision from Slack's team.
Thanks a million for posting this. I'd also add for anyone else struggling that I had to delete and rebuild the API with this template for it to work.
EDIT: I was making a novice mistake and hadn't deployed the API changes.
I added this mapping template but am still receiving the same error. First time using API Gateway + Lambda, so if there are any gotchas I could be missing in the setup, like needing to publish changes to the API Gateway or something please let me know.
Thanks a million. I had a body mapping I got from another site that was working for slash commands but wasn't working for interactions. Slack should really just send json
You are my savior! Thanks!
Saved my day. Thanks.
This isn't the most elegant mapping template ever, but it's what I used to get this payload transformed into JSON for an AWS Lambda function. Add this as an Integration Request Body Mapping Template in API Gateway, for the Content Type
application/x-www-form-urlencoded
.