Slack integration error

Hello,
I've been trying to set up a slack integration and have followed the guide in the Metabase documentation. I get a 502 error when trying to save my slack API token. Does anyone know what the problem could be?

45

Error message: The server encountered a temporary error and could not complete your request. Please try again in 30 seconds.

I am self-hosting my Metabase instance. Version 0.38.0.1

I have created my slackbot in my workspace and have a channel called metabase_files.

Hi @tomto
Post "Diagnostic Info" from Admin > Troubleshooting.
And please post the full stacktrace from Admin > Troubleshooting > Logs.
The http status error 502 is "Bad Gateway", which sounds like a problem at Slack or an outgoing proxy.

Ah I didn't know the troubleshooting logs existed. Here's the trace, looks like a 400 from the slack call:

    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 "my-secret token", :limit 1, :exclude_archived true, :types "public_channel,private_channel"},
      :as :stream,
      :conn-timeout 10000,
      :socket-timeout 10000}}
    DEBUG metabase.server.middleware.log GET /api/setting 200 783.0 µs (0 DB calls) App DB connections: 2/10 Jetty threads: 4/50 (3 idle, 0 queued) (108 total active threads) Queries in flight: 0 (0 queued)
    {
      "browser-info": {
        "language": "en-GB",
        "platform": "MacIntel",
        "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36",
        "vendor": "Google Inc."
      },
      "system-info": {
        "file.encoding": "UTF-8",
        "java.runtime.name": "OpenJDK Runtime Environment",
        "java.runtime.version": "11.0.10+9",
        "java.vendor": "AdoptOpenJDK",
        "java.vendor.url": "https://adoptopenjdk.net/",
        "java.version": "11.0.10",
        "java.vm.name": "OpenJDK 64-Bit Server VM",
        "java.vm.version": "11.0.10+9",
        "os.name": "Linux",
        "os.version": "5.4.89+",
        "user.language": "en",
        "user.timezone": "GMT"
      },
      "metabase-info": {
        "databases": [
          "h2",
          "bigquery"
        ],
        "hosting-env": "unknown",
        "application-database": "mysql",
        "application-database-details": {
          "database": {
            "name": "MySQL",
            "version": "5.7.33-google"
          },
          "jdbc-driver": {
            "name": "MariaDB Connector/J",
            "version": "2.6.2"
          }
        },
        "run-mode": "prod",
        "version": {
          "date": "2021-02-19",
          "tag": "v0.38.0.1",
          "branch": "release-x.38.x",
          "hash": "0635914"
        },
        "settings": {
          "report-timezone": null
        }
      }
    }

@tomto

  1. Please post "Diagnostic Info" from Admin > Troubleshooting
  2. Is that the only thing in the stacktrace? Seems like it's missing lines before/after.

@flamber I've added the diagnostics and missing lines from the stacktrace

@tomto It timeouts after 10 seconds, which could be many different problems, but most likely networking or problems at Slack.

Thanks for taking a look :slight_smile:

@flamber Do you know if you need to create a slack app before creating the metabot user?

@tomto It's not an App, it's a Bot. Metabase creates the MetaBot user automatically, since it's a special system user - it's not a regular user.
For reference:
https://www.metabase.com/docs/latest/administration-guide/09-setting-up-slack.html

@flamber Thanks. Ah I think I'm confused by the slack documentation because Metabase is using the legacy way of using bots integrations instead of apps: https://api.slack.com/legacy/custom-integrations/bot-users

@tomto https://github.com/metabase/metabase/issues/12383 - upvote by clicking :+1: on the first post