Couldn't integrate with slack (Looks like we ran into some problems)

Slack bot newly created following the link in metabase. Added to a private channel.
It's showing this error message with a 400 status put call. Not much error message I could find. Thank you guys for helping!

Error Log:
[3b2f66e7-00b6-4f2f-a987-84eabd9a214f] 2021-03-02T16:20:31+08:00 DEBUG metabase.server.middleware.log PUT /api/slack/settings 400 10.0 s (0 DB calls)
{:url "https://slack.com/api/conversations.list",
:request
{:query-params {:token "", :limit 1, :exclude_archived true, :types "public_channel,private_channel"},
:as :stream,
:conn-timeout 10000,
:socket-timeout 10000}}

Diagnostic Info:
{
"browser-info": {
"language": "en-US",
"platform": "Win32",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36",
"vendor": "Google Inc."
},
"system-info": {
"file.encoding": "Cp1252",
"java.runtime.name": "Java(TM) SE Runtime Environment",
"java.runtime.version": "1.8.0_131-b11",
"java.vendor": "Oracle Corporation",
"java.vendor.url": "http://java.oracle.com/",
"java.version": "1.8.0_131",
"java.vm.name": "Java HotSpot(TM) 64-Bit Server VM",
"java.vm.version": "25.131-b11",
"os.name": "Windows Server 2008 R2",
"os.version": "6.1",
"user.language": "en",
"user.timezone": "GMT-04:00"
},
"metabase-info": {
"databases": [
"sqlserver",
"h2"
],
"hosting-env": "unknown",
"application-database": "h2",
"application-database-details": {
"database": {
"name": "H2",
"version": "1.4.197 (2018-03-18)"
},
"jdbc-driver": {
"name": "H2 JDBC Driver",
"version": "1.4.197 (2018-03-18)"
}
},
"run-mode": "prod",
"version": {
"tag": "v0.38.0.1",
"date": "2021-02-19",
"branch": "release-x.38.x",
"hash": "0635914"
},
"settings": {
"report-timezone": null
}
}
}

Hi @nwangsg
Looking at the request, it’s timing out after 10 seconds. Could it be that you have a firewall/antivirus blocking outgoing requests?
Also, you should update your outdated Java:
https://www.metabase.com/docs/latest/operations-guide/java-versions.html
And migrate away from H2 if you’re using Metabase in production:
https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html
And start Metabase with a known timezone instead of GMT-04:00:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
https://www.metabase.com/docs/latest/troubleshooting-guide/timezones.html

@flamber Thank you for your reply, however the error shows immediately after I click the button…
We put metabase on production behind firewall, im running jar file with proxy args like below
-Dhttps.proxyHost=‘host’ -Dhttps.proxyPort=3128 -Dhttp.proxyHost=‘host’ -Dhttp.proxyPort=3128 -Dlog4j.configurationFile=F:\Metabase\log4j2.xml -jar metabase.jar
The connection from server to proxy was tested ok.

@nwangsg You’re seeing this issue - see the last comment for a workaround:
https://github.com/metabase/metabase/issues/3236

Hi @flamber thanks
Can I know if I don’t enable metabot, this integration with slack still requires websocket connection? as our proxy doesn’t support socks

@nwangsg Slack uses websockets for a lot of it’s communication, so it will likely not work.

hi @flamber
Thank you for your help!
Just to update here we solved this by removing http:// from proxy host args. Looks silly but hard to figure out, as we use the same proxy setting with http:// for our other metabase (docker). Maybe when using docker and directly running jar file the way args are processed differently.

@nwangsg If you’re using Docker, then you need to send Java parameters via the environment variable JAVA_OPTS, so it is being parsed onto Metabase - otherwise it’s the container itself that gets those parameters, which isn’t used for anything.