Cannot integrate with Slack

Hi All,

I am trying to Integrate Slack with Metabase. I have generated the Token and I am trying to put the token and when clicked on Save Button, it is saying "Read Time Out". What is this issue, and what can be to get this resolved?

FYI: We are using Slack for corporate.

Team @Slack says this:

Can you talk more about this? What's not working? Are you seeing an error message? What are you trying to achieve?

When you generate a Test Token, it's associated with the currently signed in user and team. It will automatically be granted certain OAuth scopes depending on the account type. See the Test token capabilities section of the API docs.

If the user account you're generating the token with doesn't have access to the right scope(s) it won't be possible to call certain methods or for your app to perform certain actions.

Are you the creator of the Metabase integration? or are you just wanting to add this to your Slack team?

The integration method outlined in the Metabase documention is rather outdated and no longer recommended as best practice. The Slack Button is the simpilist and most secure way to authenticate an app or service to your Slack team.

Thanks,
Chouhan

Hi,

I am still waiting for the reply. Can anyone help input the suggestions/advice?

Thanks Again!

Hi, This is the log.

Jul 27 00:52:53 ERROR metabase.middleware :: PUT /api/slack/settings 500 (1 s) {:message "Read timed out", :stacktrace ["integrations.slack$do_slack_request.invokeStatic(slack.clj:33)" "integrations.slack$do_slack_request.doInvoke(slack.clj:31)" "api.slack$fn__24628$fn__24631$fn__24632.invoke(slack.clj:18)" "api.slack$fn__24628$fn__24631.invoke(slack.clj:15)" "api.common.internal$wrap_catch_api_exceptions.invokeStatic(internal.clj:219)" "api.common.internal$wrap_catch_api_exceptions.invoke(internal.clj:216)" "api.slack$fn__24628.invokeStatic(slack.clj:9)" "api.slack$fn__24628.invoke(slack.clj:9)" "middleware$enforce_authentication$fn__24926.invoke(middleware.clj:78)" "api.routes$fn__25050.invokeStatic(routes.clj:55)" "api.routes$fn__25050.invoke(routes.clj:55)" "routes$fn__29978.invokeStatic(routes.clj:24)" "routes$fn__29978.invoke(routes.clj:24)" "middleware$log_api_call$fn__25011.invoke(middleware.clj:260)" "middleware$add_security_headers$fn__24971.invoke(middleware.clj:197)" "middleware$bind_current_user$fn__24930.invoke(middleware.clj:93)" "middleware$wrap_current_user_id$fn__24917.invoke(middleware.clj:61)" "middleware$wrap_api_key$fn__24937.invoke(middleware.clj:104)" "middleware$wrap_session_id$fn__24910.invoke(middleware.clj:52)"]}

The slack team’s response is a little confused at best, as we’re not a service. I.e. we can’t use the Slack button as there isn’t a stable domain name for all the Metabase instances out there.

We’re talking with them and trying to figure out a way to play better with their API.

Can you try downloading the mac app, and following the instructions in http://www.metabase.com/docs/v0.18.1/administration-guide/07-setting-up-slack.html and seeing if the new token works locally?

Also, what version are you using, and where are you running Metabase. Is it possible you’ve set up your network (VPC or otherwise) in such a way as to not allow the Metabase server to reach outside of your network?

Hi, I am having the same issue at the moment.
Our Metabase is hosted on GCP
I have tried several versions locally as well to see if there might have been a bug introduced at some point (20.3, 26.2, 28.6, 30.4, 31.12, 32.10, 33.4). All with the same issue.

I have had Slack integration working way back in-between 20.3 and 33.4

I think something has changed on Slacks end.

Are you guys able to connect to Slack in your tests?

@MichaelBachmann I would recommend starting a new thread, since this is 3 years old, but if you’re getting the error Read timed out, then usually it’s because the server/container where Metabase is hosted cannot connect to https://slack.com/ - that could be DNS issues, firewall blocking or other network issues.