Slack Pulses Failing to send to channels/users

Problem Statement: Slack integration with Metabase is not working

Context:

  • Metabase is able to send alerts to the default #metabase_files slack channel but then its not able to send alerts to other slack channels (public and private) and users as well.
  • When I look at the #metabase_files channel I see that Metabase is retrying number of times before sending the message as in the channel the same report appears 7 times but it does not send it to the original channel
  • It was working before and nothing (access/scopes) have been changed on the Slack app or on Metabase.

Version: 0.46.0
Open source version of Metabase being used (no paid plan)

I have read other issues on this forum but couldn't find anything which would fix the issue for me.
Diagnostic Info and Logs are given below.

Thanks for any help provided on this.

Please post diagnostic info and logs

Diagnostic Info:

{
"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/112.0.0.0 Safari/537.36",
"vendor": "Google Inc."
},
"system-info": {
"file.encoding": "UTF-8",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "11.0.18+10",
"java.vendor": "Eclipse Adoptium",
"java.vendor.url": "https://adoptium.net/",
"java.version": "11.0.18",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "11.0.18+10",
"os.name": "Linux",
"os.version": "5.13.0-1031-aws",
"user.language": "en",
"user.timezone": "GMT"
},
"metabase-info": {
"databases": [
"googleanalytics",
"postgres"
],
"hosting-env": "unknown",
"application-database": "postgres",
"application-database-details": {
"database": {
"name": "PostgreSQL",
"version": "13.7"
},
"jdbc-driver": {
"name": "PostgreSQL JDBC Driver",
"version": "42.5.1"
}
},
"run-mode": "prod",
"version": {
"date": "2023-03-28",
"tag": "v0.46.0",
"branch": "release-x.46.x",
"hash": "0ca7df3"
},
"settings": {
"report-timezone": null
}
}
}

@Luiggi

I do get alerts in the default #metabase_files slack channel though but get the below exception
This exception is coming up again and again in the logs which I think is because of the retry setup:

2023-04-25T15:07:48+02:00 ERROR metabase.pulse.render.png Error rendering Pulse
java.lang.NullPointerException
at clojure.core$name.invokeStatic(core.clj:1610)
at clojure.core$name.invoke(core.clj:1604)
at clojure.core$comp$fn__5876.invoke(core.clj:2586)
at clojure.core$update_keys$fn__8946.invoke(core.clj:8034)
at clojure.lang.PersistentArrayMap.kvreduce(PersistentArrayMap.java:429)
at clojure.core$fn__8525.invokeStatic(core.clj:6908)
at clojure.core$fn__8525.invoke(core.clj:6888)
at clojure.core.protocols$fn__8257$G__8252__8266.invoke(protocols.clj:175)
at clojure.core$reduce_kv.invokeStatic(core.clj:6919)
at clojure.core$update_keys.invokeStatic(core.clj:8024)
at clojure.core$update_keys.invoke(core.clj:8024)
at metabase.pulse.render.datetime$format_temporal_str.invokeStatic(datetime.clj:85)
at metabase.pulse.render.datetime$format_temporal_str.invoke(datetime.clj:66)
at metabase.pulse.render.body$fn__72947$get_format__72952$fn__72953$fn__72954.invoke(body.clj:90)
at metabase.pulse.render.body$fn__73030$query_results__GT_row_seq__73035$fn__73039$iter__73043__73047$fn__73048$iter__73082__73086$fn__73087.invoke(body.clj:166)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$map_indexed$mapi__8638$fn__8639.invoke(core.clj:7369)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$seq__5467.invoke(core.clj:139)
at metabase.pulse.render.table$render_table_body$iter__72825__72829$fn__72830$iter__72864__72868$fn__72869.invoke(table.clj:122)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$map$fn__5935.invoke(core.clj:2763)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2772)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2772)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.core$map$fn__5935.invoke(core.clj:2770)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:535)
at clojure.core$seq__5467.invokeStatic(core.clj:139)
at clojure.core$apply.invokeStatic(core.clj:662)
at clojure.core$apply.invoke(core.clj:662)
at hiccup.compiler$fn__72583.invokeStatic(compiler.clj:88)
at hiccup.compiler$fn__72583.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at hiccup.compiler$render_element.invokeStatic(compiler.clj:78)
at hiccup.compiler$render_element.invoke(compiler.clj:72)
at hiccup.compiler$fn__72581.invokeStatic(compiler.clj:85)
at hiccup.compiler$fn__72581.invoke(compiler.clj:82)
at hiccup.compiler$fn__72566$G__72561__72571.invoke(compiler.clj:68)
at clojure.lang.Var.invoke(Var.java:384)
at metabase.pulse.render.png$fn__72738$render_html_to_png__72743$fn__72747.invoke(png.clj:82)
at metabase.pulse.render.png$fn__72738$render_html_to_png__72743.invoke(png.clj:77)
at metabase.pulse.render$fn__74418$png_from_render_info__74423$fn__74424.invoke(render.clj:201)
at metabase.pulse.render$fn__74418$png_from_render_info__74423.invoke(render.clj:198)
at metabase.pulse$create_and_upload_slack_attachments_BANG_$fn__96615.invoke(pulse.clj:246)
at clojure.core.protocols$fn__8249.invokeStatic(protocols.clj:168)
at clojure.core.protocols$fn__8249.invoke(protocols.clj:124)
at clojure.core.protocols$fn__8204$G__8199__8213.invoke(protocols.clj:19)
at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
at clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)
at clojure.core.protocols$fn__8236.invoke(protocols.clj:75)
at clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)
at clojure.core$reduce.invokeStatic(core.clj:6886)
at clojure.core$reduce.invoke(core.clj:6868)
at metabase.pulse$create_and_upload_slack_attachments_BANG_.invokeStatic(pulse.clj:240)
at metabase.pulse$create_and_upload_slack_attachments_BANG_.invoke(pulse.clj:231)
at metabase.pulse$create_and_upload_slack_attachments_BANG_.invokeStatic(pulse.clj:237)
at metabase.pulse$create_and_upload_slack_attachments_BANG_.invoke(pulse.clj:231)
at metabase.pulse$fn__96732.invokeStatic(pulse.clj:420)
at metabase.pulse$fn__96732.invoke(pulse.clj:418)
at clojure.lang.MultiFn.invoke(MultiFn.java:229)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.AFn.applyTo(AFn.java:144)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$apply.invoke(core.clj:662)
at metabase.util.retry$decorate$fn$reify__93821.call(retry.clj:45)
at io.github.resilience4j.retry.Retry.lambda$decorateCallable$5(Retry.java:306)
at metabase.util.retry$decorate$fn__93820.doInvoke(retry.clj:46)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$apply.invoke(core.clj:662)
at metabase.pulse$send_notification_retrying_BANG_.invokeStatic(pulse.clj:507)
at metabase.pulse$send_notification_retrying_BANG_.doInvoke(pulse.clj:501)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at metabase.pulse$send_notifications_BANG_$fn__96769.invoke(pulse.clj:514)
at metabase.pulse$send_notifications_BANG_.invokeStatic(pulse.clj:513)
at metabase.pulse$send_notifications_BANG_.invoke(pulse.clj:509)
at metabase.pulse$send_pulse_BANG_.invokeStatic(pulse.clj:537)
at metabase.pulse$send_pulse_BANG_.doInvoke(pulse.clj:518)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at metabase.api.pulse$fn__97903.invokeStatic(pulse.clj:328)
at metabase.api.pulse$fn__97903.invoke(pulse.clj:314)
at compojure.core$wrap_response$fn__42375.invoke(core.clj:160)
at compojure.core$wrap_route_middleware$fn__42359.invoke(core.clj:132)
at compojure.core$wrap_route_info$fn__42364.invoke(core.clj:139)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:151)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:153)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:153)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:153)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:152)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387.invoke(core.clj:200)
at metabase.server.middleware.auth$enforce_authentication$fn__86624.invoke(auth.clj:17)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387.invoke(core.clj:200)
at compojure.core$make_context$handler__42415.invoke(core.clj:290)
at compojure.core$make_context$fn__42419.invoke(core.clj:300)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$make_context$fn__42419.invoke(core.clj:301)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at metabase.api.routes$fn__98449$fn__98452.invoke(routes.clj:64)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387.invoke(core.clj:200)
at clojure.lang.AFn.applyToHelper(AFn.java:160)
at clojure.lang.AFn.applyTo(AFn.java:144)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$apply.invoke(core.clj:662)
at metabase.server.routes$fn__98610$fn__98611.doInvoke(routes.clj:70)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387.invoke(core.clj:200)
at compojure.core$make_context$handler__42415.invoke(core.clj:290)
at compojure.core$make_context$fn__42419.invoke(core.clj:300)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:153)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:153)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at compojure.core$wrap_route_matches$fn__42368.invoke(core.clj:153)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387$f__42388$respond_SINGLEQUOTE___42389.invoke(core.clj:197)
at metabase.server.routes$fn__98595$fn__98597.invoke(routes.clj:47)
at compojure.core$routes$fn__42387$f__42388.invoke(core.clj:198)
at compojure.core$routes$fn__42387.invoke(core.clj:200)
at metabase.server.middleware.exceptions$catch_uncaught_exceptions$fn__95133.invoke(exceptions.clj:103)
at metabase.server.middleware.exceptions$catch_api_exceptions$fn__95130.invoke(exceptions.clj:91)
at metabase.server.middleware.log$log_api_call$fn__100334$fn__100335$fn__100336.invoke(log.clj:216)
at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invokeStatic(diagnostic.clj:18)
at metabase.driver.sql_jdbc.execute.diagnostic$do_with_diagnostic_info.invoke(diagnostic.clj:12)
at metabase.server.middleware.log$log_api_call$fn__100334$fn__100335.invoke(log.clj:208)
at toucan2.execute$do_with_call_counts.invokeStatic(execute.clj:112)
at toucan2.execute$do_with_call_counts.invoke(execute.clj:103)
at metabase.server.middleware.log$log_api_call$fn__100334.invoke(log.clj:207)
at metabase.server.middleware.browser_cookie$ensure_browser_id_cookie$fn__103755.invoke(browser_cookie.clj:42)
at metabase.server.middleware.security$add_security_headers$fn__79453.invoke(security.clj:153)
at metabase.server.middleware.json$wrap_json_body$fn__102499.invoke(json.clj:67)
at metabase.server.middleware.offset_paging$handle_paging$fn__79477.invoke(offset_paging.clj:45)
at metabase.server.middleware.json$wrap_streamed_json_response$fn__102517.invoke(json.clj:103)
at ring.middleware.keyword_params$wrap_keyword_params$fn__104022.invoke(keyword_params.clj:55)
at ring.middleware.params$wrap_params$fn__104041.invoke(params.clj:77)
at metabase.server.middleware.misc$maybe_set_site_url$fn__50479.invoke(misc.clj:61)
at metabase.server.middleware.session$reset_session_timeout$fn__63769.invoke(session.clj:430)
at metabase.server.middleware.session$bind_current_user$fn__63739$fn__63740.invoke(session.clj:336)
at metabase.server.middleware.session$do_with_current_user.invokeStatic(session.clj:315)
at metabase.server.middleware.session$do_with_current_user.invoke(session.clj:304)
at metabase.server.middleware.session$bind_current_user$fn__63739.invoke(session.clj:335)
at metabase.server.middleware.session$wrap_current_user_info$fn__63721.invoke(session.clj:285)
at metabase.server.middleware.session$wrap_session_id$fn__63704.invoke(session.clj:217)
at metabase.server.middleware.auth$wrap_api_key$fn__86632.invoke(auth.clj:30)
at ring.middleware.cookies$wrap_cookies$fn__103942.invoke(cookies.clj:216)
at metabase.server.middleware.misc$add_content_type$fn__50461.invoke(misc.clj:29)
at metabase.server.middleware.misc$disable_streaming_buffering$fn__50487.invoke(misc.clj:78)
at ring.middleware.gzip$wrap_gzip$fn__103984.invoke(gzip.clj:86)
at metabase.server.middleware.misc$bind_request$fn__50490.invoke(misc.clj:95)
at metabase.server.middleware.ssl$redirect_to_https_middleware$fn__103771.invoke(ssl.clj:51)
at metabase.server$async_proxy_handler$fn__99100.invoke(server.clj:77)
at metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:936)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1080)
at java.base/java.lang.Thread.run(Unknown Source)

Can you share the subscription settings please? and was the subscription setup by an Admin or normal user

Hi @TonyC,
Thanks for your help.

Subscription was setup by an admin.
Subscription settings are currently to send the alerts to Slack daily at 6:00 AM UTC
And even when the Send to Slack Now button is used, the same error is received.

Thanks.

Can you build a simple dashboard ... so 1 question only and test this out?

Can you confirm that the Slack channel config is setup properly:

Slack.

Hi @TonyC,

You are right.

When I have only one question in the Dashboard it is working and able to send out pulses, but when there are more than that it is failing.

Is there any resolution to this that could help this ?

Thanks Again!

I don't believe its a more than 1 question problem ... Try adding another question and try again does it fail?

You will need to identify the problematic question from that dashbord ... So start maybe by removing one question at a time and send a test pulse until you find the problematic question

Then try sending this question on it's own and see what happens

Hi @TonyC,
I initially had alerts on individual questions. But it was not working.
And then I thought of moving all in 1 dashboard and then sending out an alert.
But that did not work either.

But I will try the approach you suggested.

Thanks