Unable to pass Slack's URL verification for the Events API

Describe the issue/error/question

I’m unable to pass the URL verification required by the Events API, as described here.

I tried the json and text response (also by forcefully setting the Content-Type to text/plain for text, as this was different in N8N’s text response for the Respond to Webhook node).

I curl’ed the request myself to see if the request was responding correct, and it was - the only different being that n8n returns 200 and not 200 OK. Especially because Slack says the request URL responded with a HTTP error, it seems it’s parsing the response code.

Same issue as this thread.

What is the error message (if any)?

(Borrowed from the thread linked above)

Please share the workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 0.201.0
  • Database you’re using (default: SQLite): SQLite
  • Running n8n with the execution process [own(default), main]: own
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: Docker

Hey @Wouter0100,

Thanks for opening the new thread, The workflow I use for the Events API is below, Don’t forget if you are using the webhook-test url it will only run if you have pressed the Execute Workflow button.

Thanks for your response. I honestly do not see the difference between yours and mine? :smiley:

It seems to be exactly the same, the only difference being that I use the item’s value in Respond to Webhook instead of referencing to the first node. And, the webhook URL is different.

I fully recreated yours now, but there is no behavioural difference:

and the Respond URL verification still shows the correct challenge:

Besides the above, I think I now know partially what is going on, but not sure why: it seems Slack is retrying the URL verification hook. That is why with the webhook-test it fails with a HTTP error (because the second try it fails as the workflow not being executed). With webhook it seems to retry 3 times and then fail with the error below.

I observed this behaviour as well in my testing, but forgot to mention.

But I do not know why Slack is retrying, nor why they’re unable to show a proper error besides “Hmm, something’s gone wrong.”.

Here you see Slack retry:

Hey @Wouter0100,

That is a bit odd, If you check the execution for your workflow is it returning ok from the respond node?

Yes, it is. Also manually calling the URL via curl works.

Sounds like it could be worth asking Slack everything sounds like it is all good on our end.

Thanks thus far, I have send a ticket to Slack. Let’s see what they reply.