Why did Slack stop accepting modal submissions? Was it something they said?

I’m building a tool that’s internal to my company, which uses a Slack slash command to present a modal (AKA a popup menu) to the user.
My slackbot sends all Interactions (pressing buttons in the modal, hitting submit, other things) to the same endpoint, which is a Webhook-triggered scenario.

The handler for those interaction payloads does some filtering (mostly to just look at Submit events), but the first thing it does is send a status: 200 response to the proper response URL.

This all had been working very smoothly, and users were using the modal to send status updates for several months, until about 2 weeks ago.

At that point, any time a user presses the submit button, they see "We had some trouble connecting. Try again?" This is frustrating and confusing for the user, but the kicker is that the submission payload still goes through to Make and gets processed! So I’ve resorted to telling users to hit submit, ignore the error, and close the modal, but it feels really hacky.

Has something changed recently about what Slack wants to see in its Ack response?

This is my best guess, but throwing a few different details into the Ack sent by Make hasn’t shown any different behaviour.
On the other hand, I was able to build a quick setup that uses bolt.js (and I am not a JS developer at all) to handle a test modal using bolt’s ack() command, and it works just fine.

So I’m left asking myself: what is bolt’s ack() doing beyond just sending status: 200, and can I replicate this in Make?

2 Likes

Update on this!

The response for a Slack modal submission (but not needed for other responses) should have:
Content-type: application/json

And body needs to be:

  • a valid JSON object
  • which meets Slack’s criteria (which I haven’t found full docs for yet).

Was able to fix for my scenario by adding an empty JSON object to the body:

3 Likes

Heya @Pat_Martinson welcome to the community :wave: Also, thanks a lot for sharing the update with us, awesome work!

1 Like