There was a problem with this question in subscription

Hello, some users are trying to send a dashboard with the subcription button to themselves.

They are not in the administration group, they are in All users group. They can see the dashboard on the screen but when they send it to themselves, in all the boxes appears this message:
image

Is there any kind of persmission to be allowed to send e-mails through the subscription button?
image

If they have that button, they should have permission for sending dashboards by email, right? Thanks in advance.

Best regards!

Hi @Adriana1
Post "Diagnostic Info" from Admin > Troubleshooting.
Check the logs for more details - Admin > Troubleshooting > Logs.
I'm guessing that the users don't have data access:
https://github.com/metabase/metabase/issues/18009 - upvote by clicking :+1: on the first post

Hi @flamber, thanks for your response. The Log is this:

[4438a6b6-b4fe-44fe-b926-d6a289af8a39] 2022-09-06T00:00:13+02:00 ERROR metabase.pulse.render Pulse card query error
clojure.lang.ExceptionInfo: Card has errors: You do not have permissions to run this query. {:database_id 2, :started_at #t "2022-09-05T22:00:13.162336Z[GMT]", :error_type :missing-required-permissions, :json_query {:constraints {:max-results 10000, :max-results-bare-rows 2000}, :type :query, :middleware {:js-int-to-string? false, :ignore-cached-results? false, :process-viz-settings? true, :add-default-userland-constraints? true}, :database 2, :query {:aggregation [[:distinct [:field 1826 nil]]], :breakout [[:field 54 {:join-alias "Agency"}]], :filter [:and [:time-interval [:field 1836 nil] -7 :day {:include-current false}] [:= [:field 1805 nil] "CANCELLED"] [:= [:field 1810 nil] true] [:between [:field 1811 nil] "2022-01-01" "2022-12-31"]], :joins [{:alias "Reservation", :condition [:and [:= [:field 1817 nil] [:field 1385 {:join-alias "Reservation"}]] [:= [:field 1826 nil] [:field 1389 {:join-alias "Reservation"}]]], :fields :all, :source-table 137} {:alias "Hotel", :condition [:= [:field 1817 nil] [:field 678 {:join-alias "Hotel"}]], :fields :all, :source-table 61} {:alias "Agency", :condition [:and [:= [:field 1817 nil] [:field 55 {:join-alias "Agency"}]] [:= [:field 1830 nil] [:field 59 {:join-alias "Agency"}]]], :fields :all, :source-table 6}], :order-by [[:desc [:aggregation 0 nil]]], :source-table 115}, :parameters [{:type :date/all-options, :value "2022-01-01~2022-12-31", :name "Fecha de estancia", :slug "fecha_de_estancia", :id "f3627bb8", :sectionId "date", :target [:dimension [:field 1811 nil]]}], :async? false, :cache-ttl nil}, :native nil, :status :failed, :class clojure.lang.ExceptionInfo, :stacktrace ["--> query_processor.middleware.permissions$perms_exception.invokeStatic(permissions.clj:30)" "query_processor.middleware.permissions$perms_exception.doInvoke(permissions.clj:24)" "query_processor.middleware.permissions$perms_exception.invokeStatic(permissions.clj:27)" "query_processor.middleware.permissions$perms_exception.invoke(permissions.clj:24)" "query_processor.middleware.permissions$fn__48081$check_ad_hoc_query_perms__48086$fn__48087.invoke(permissions.clj:84)" "query_processor.middleware.permissions$fn__48081$check_ad_hoc_query_perms__48086.invoke(permissions.clj:80)" "query_processor.middleware.permissions$fn__48112$check_query_permissions_STAR___48117$fn__48118.invoke(permissions.clj:99)" "query_processor.middleware.permissions$fn__48112$check_query_permissions_STAR___48117.invoke(permissions.clj:89)" "query_processor.middleware.permissions$check_query_permissions$fn__48131.invoke(permissions.clj:108)" "query_processor.middleware.mbql_to_native$mbql__GT_native$fn__51552.invoke(mbql_to_native.clj:23)" "query_processor$fn__54083$combined_post_process__54088$combined_post_process_STAR___54089.invoke(query_processor.clj:212)" "query_processor$fn__54083$combined_pre_process__54084$combined_pre_process_STAR___54085.invoke(query_processor.clj:209)" "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__52528$fn__52533.invoke(resolve_database_and_driver.clj:35)" "driver$do_with_driver.invokeStatic(driver.clj:75)" "driver$do_with_driver.invoke(driver.clj:71)" "query_processor.middleware.resolve_database_and_driver$resolve_database_and_driver$fn__52528.invoke(resolve_database_and_driver.clj:34)" "query_processor.middleware.fetch_source_query$resolve_card_id_source_tables$fn__48563.invoke(fetch_source_query.clj:346)" "query_processor.middleware.store$initialize_store$fn__48751$fn__48752.invoke(store.clj:11)" "query_processor.store$do_with_store.invokeStatic(store.clj:44)" "query_processor.store$do_with_store.invoke(store.clj:38)" "query_processor.middleware.store$initialize_store$fn__48751.invoke(store.clj:10)" "query_processor.middleware.normalize_query$normalize$fn__52800.invoke(normalize_query.clj:22)" "query_processor.middleware.constraints$add_default_userland_constraints$fn__49833.invoke(constraints.clj:53)" "query_processor.middleware.process_userland_query$process_userland_query$fn__52739.invoke(process_userland_query.clj:145)" "query_processor.middleware.catch_exceptions$catch_exceptions$fn__53111.invoke(catch_exceptions.clj:167)" "query_processor.reducible$async_qp$qp_STAR___44972$thunk__44974.invoke(reducible.clj:100)" "query_processor.reducible$async_qp$qp_STAR___44972.invoke(reducible.clj:106)" "query_processor.reducible$async_qp$qp_STAR___44972.invoke(reducible.clj:91)" "query_processor.reducible$async_qp$qp_STAR___44972.invoke(reducible.clj:88)" "query_processor.reducible$sync_qp$qp_STAR___44983.doInvoke(reducible.clj:126)" "query_processor$process_userland_query.invokeStatic(query_processor.clj:331)" "query_processor$process_userland_query.doInvoke(query_processor.clj:327)" "query_processor$fn__54130$process_query_and_save_execution_BANG___54139$fn__54140.invoke(query_processor.clj:339)" "query_processor$fn__54130$process_query_and_save_execution_BANG___54139.invoke(query_processor.clj:335)" "query_processor$fn__54174$process_query_and_save_with_max_results_constraints_BANG___54183$fn__54184.invoke(query_processor.clj:351)" "query_processor$fn__54174$process_query_and_save_with_max_results_constraints_BANG___54183.invoke(query_processor.clj:347)" "pulse$execute_dashboard_subscription_card$fn__78046$fn__78047.invoke(pulse.clj:64)" "query_processor.card$run_query_for_card_async.invokeStatic(card.clj:211)" "query_processor.card$run_query_for_card_async.doInvoke(card.clj:169)" "query_processor.dashboard$run_query_for_dashcard_async.invokeStatic(dashboard.clj:173)" "query_processor.dashboard$run_query_for_dashcard_async.doInvoke(dashboard.clj:145)" "pulse$execute_dashboard_subscription_card$fn__78046.invoke(pulse.clj:54)" "server.middleware.session$do_with_current_user.invokeStatic(session.clj:292)" "server.middleware.session$do_with_current_user.invoke(session.clj:281)" "pulse$execute_dashboard_subscription_card.invokeStatic(pulse.clj:53)" "pulse$execute_dashboard_subscription_card.invoke(pulse.clj:48)" "pulse$execute_dashboard$iter__78058__78062$fn__78063.invoke(pulse.clj:90)" "email.messages$assoc_attachment_booleans$iter__59298__59302$fn__59303.invoke(messages.clj:531)" "email.messages$render_message_body$fn__59291.invoke(messages.clj:514)" "email.messages$render_message_body.invokeStatic(messages.clj:513)" "email.messages$render_message_body.invoke(messages.clj:511)" "email.messages$render_pulse_email.invokeStatic(messages.clj:540)" "email.messages$render_pulse_email.invoke(messages.clj:537)" "pulse$fn__78193.invokeStatic(pulse.clj:300)" "pulse$fn__78193.invoke(pulse.clj:289)" "pulse$results__GT_notifications$iter__78223__78227$fn__78228.invoke(pulse.clj:352)" "pulse$send_notifications_BANG_.invokeStatic(pulse.clj:472)" "pulse$send_notifications_BANG_.invoke(pulse.clj:471)" "pulse$send_pulse_BANG_.invokeStatic(pulse.clj:500)" "pulse$send_pulse_BANG_.doInvoke(pulse.clj:480)" "task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82271$fn__82289$fn__82290.invoke(send_pulses.clj:56)" "models.task_history$fn__42158$do_with_task_history__42163$fn__42164.invoke(task_history.clj:113)" "models.task_history$fn__42158$do_with_task_history__42163.invoke(task_history.clj:108)" "task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82271$fn__82289.invoke(send_pulses.clj:52)" "task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82271.invoke(send_pulses.clj:51)" "task.send_pulses$fn__82259$send_pulses_BANG___82268.invoke(send_pulses.clj:38)" "task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82269.invoke(send_pulses.clj:45)" "task.send_pulses$fn__82259$send_pulses_BANG___82268.invoke(send_pulses.clj:38)" "task.send_pulses.SendPulses$fn__82325.invoke(send_pulses.clj:96)" "models.task_history$fn__42158$do_with_task_history__42163$fn__42164.invoke(task_history.clj:113)" "models.task_history$fn__42158$do_with_task_history__42163.invoke(task_history.clj:108)" "task.send_pulses.SendPulses.execute(send_pulses.clj:82)"], :card_id 126, :card-error true, :context :pulse, :error "You do not have permissions to run this query.", :row_count 0, :running_time 0, :preprocessed {:constraints {:max-results 10000, :max-results-bare-rows 2000}, :type :query, :middleware {:js-int-to-string? false, :ignore-cached-results? false, :process-viz-settings? true, :add-default-userland-constraints? true}, :user-parameters [{:type :date/all-options, :value "2022-01-01~2022-12-31", :name "Fecha de estancia", :slug "fecha_de_estancia", :id "f3627bb8", :sectionId "date", :target [:dimension [:field 1811 nil]]}], :info {:executed-by 16, :context :pulse, :card-id 126, :card-name "Reservas canceladas 7 días por agencia", :dashboard-id 1}, :database 2, :query {:aggregation [[:aggregation-options [:distinct [:field 1826 nil]] {:name "count"}]], :breakout [[:field 54 {:join-alias "Agency"}]], :filter [:and [:>= [:field 1836 {:temporal-unit :default}] [:relative-datetime -7 :day]] [:< [:field 1836 {:temporal-unit :default}] [:relative-datetime 0 :day]] [:= [:field 1805 nil] [:value "CANCELLED" {:base_type :type/PostgresEnum, :effective_type :type/PostgresEnum, :coercion_strategy nil, :semantic_type :type/Category, :database_type "reservation_status", :name "status"}]] [:= [:field 1810 nil] [:value true {:base_type :type/Boolean, :effective_type :type/Boolean, :coercion_strategy nil, :semantic_type :type/Category, :database_type "bool", :name "occupancy"}]] [:>= [:field 1811 {:temporal-unit :default}] [:absolute-datetime #t "2022-01-01T00:00Z[GMT]" :default]] [:< [:field 1811 {:temporal-unit :default}] [:absolute-datetime #t "2023-01-01T00:00Z[GMT]" :default]]], :order-by [[:desc [:aggregation 0 nil]] [:asc [:field 54 {:join-alias "Agency"}]]], :source-table 115, :joins [{:alias "Reservation", :strategy :left-join, :condition [:and [:= [:field 1817 nil] [:field 1385 {:join-alias "Reservation"}]] [:= [:field 1826 nil] [:field 1389 {:join-alias "Reservation"}]]], :fields [[:field 1389 {:join-alias "Reservation"}] [:field 1385 {:join-alias "Reservation"}] [:field 1384 {:temporal-unit :default, :join-alias "Reservation"}] [:field 1399 {:temporal-unit :default, :join-alias "Reservation"}] [:field 1382 {:join-alias "Reservation"}] [:field 1393 {:join-alias "Reservation"}] [:field 1388 {:join-alias "Reservation"}] [:field 1401 {:join-alias "Reservation"}] [:field 1380 {:join-alias "Reservation"}] [:field 1394 {:join-alias "Reservation"}] [:field 1381 {:join-alias "Reservation"}] [:field 1400 {:join-alias "Reservation"}] [:field 1398 {:join-alias "Reservation"}] [:field 1395 {:join-alias "Reservation"}] [:field 1402 {:join-alias "Reservation"}] [:field 1406 {:temporal-unit :default, :join-alias "Reservation"}] [:field 1396 {:temporal-unit :default, :join-alias "Reservation"}] [:field 1390 {:join-alias "Reservation"}] [:field 1403 {:join-alias "Reservation"}] [:field 1391 {:join-alias "Reservation"}] [:field 1407 {:join-alias "Reservation"}] [:field 1405 {:temporal-unit :default, :join-alias "Reservation"}] [:field 1397 {:temporal-unit :default, :join-alias "Reservation"}] [:field 1386 {:join-alias "Reservation"}] [:field 1392 {:join-alias "Reservation"}] [:field 1383 {:join-alias "Reservation"}] [:field 1387 {:join-alias "Reservation"}] [:field 1404 {:join-alias "Reservation"}]], :source-table 137} {:alias "Hotel", :strategy :left-join, :condition [:= [:field 1817 nil] [:field 678 {:join-alias "Hotel"}]], :fields [[:field 678 {:join-alias "Hotel"}] [:field 677 {:join-alias "Hotel"}] [:field 679 {:join-alias "Hotel"}] [:field 680 {:join-alias "Hotel"}] [:field 676 {:temporal-unit :default, :join-alias "Hotel"}] [:field 683 {:temporal-unit :default, :join-alias "Hotel"}] [:field 682 {:join-alias "Hotel"}] [:field 681 {:join-alias "Hotel"}] [:field 2687 {:join-alias "Hotel"}]], :source-table 61} {:alias "Agency", :strategy :left-join, :condition [:and [:= [:field 1817 nil] [:field 55 {:join-alias "Agency"}]] [:= [:field 1830 nil] [:field 59 {:join-alias "Agency"}]]], :fields [[:field 55 {:join-alias "Agency"}] [:field 59 {:join-alias "Agency"}] [:field 54 {:join-alias "Agency"}] [:field 58 {:join-alias "Agency"}] [:field 49 {:join-alias "Agency"}] [:field 62 {:join-alias "Agency"}] [:field 52 {:join-alias "Agency"}] [:field 57 {:join-alias "Agency"}] [:field 61 {:join-alias "Agency"}] [:field 51 {:temporal-unit :default, :join-alias "Agency"}] [:field 50 {:temporal-unit :default, :join-alias "Agency"}] [:field 60 {:join-alias "Agency"}] [:field 53 {:join-alias "Agency"}] [:field 56 {:join-alias "Agency"}] [:field 2689 {:join-alias "Agency"}] [:field 2688 {:join-alias "Agency"}]], :source-table 6}]}, :async? false}, :ex-data {:type :missing-required-permissions, :required-permissions #{"/db/2/schema/servigroup/table/115/query/" "/db/2/schema/servigroup/table/137/query/" "/db/2/schema/servigroup/table/6/query/" "/db/2/schema/servigroup/table/61/query/"}, :actual-permissions #{"/download/db/2/native/" "/collection/root/read/" "/collection/19/read/" "/download/db/2/" "/collection/5/read/" "/collection/22/" "/application/subscription/" "/collection/12/read/" "/collection/18/read/" "/collection/17/read/"}, :permissions-error? true}, :data {:rows [], :cols []}}
at metabase.pulse.render$fn__57877$render_pulse_card_body__57882$fn__57886.invoke(render.clj:137)
at metabase.pulse.render$fn__57877$render_pulse_card_body__57882.invoke(render.clj:133)
at metabase.pulse.render$fn__57916$render_pulse_card__57921$fn__57922.invoke(render.clj:169)
at metabase.pulse.render$fn__57916$render_pulse_card__57921.invoke(render.clj:157)
at metabase.pulse.render$fn__57945$render_pulse_section__57950$fn__57954$fn__57957.invoke(render.clj:201)
at metabase.pulse.render$fn__57945$render_pulse_section__57950$fn__57954.invoke(render.clj:199)
at metabase.pulse.render$fn__57945$render_pulse_section__57950.invoke(render.clj:196)
at metabase.email.messages$render_result_card.invokeStatic(messages.clj:466)
at metabase.email.messages$render_result_card.invoke(messages.clj:463)
at metabase.email.messages$render_message_body$fn__59291$fn__59292.invoke(messages.clj:514)
at clojure.core$mapv$fn__8535.invoke(core.clj:6979)
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$mapv.invokeStatic(core.clj:6970)
at clojure.core$mapv.invoke(core.clj:6970)
at metabase.email.messages$render_message_body$fn__59291.invoke(messages.clj:514)
at metabase.email.messages$render_message_body.invokeStatic(messages.clj:513)
at metabase.email.messages$render_message_body.invoke(messages.clj:511)
at metabase.email.messages$render_pulse_email.invokeStatic(messages.clj:540)
at metabase.email.messages$render_pulse_email.invoke(messages.clj:537)
at metabase.pulse$fn__78193.invokeStatic(pulse.clj:300)
at metabase.pulse$fn__78193.invoke(pulse.clj:289)
at clojure.lang.MultiFn.invoke(MultiFn.java:239)
at metabase.pulse$results__GT_notifications$iter__78223__78227$fn__78228.invoke(pulse.clj:352)
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$send_notifications_BANG_.invokeStatic(pulse.clj:472)
at metabase.pulse$send_notifications_BANG_.invoke(pulse.clj:471)
at metabase.pulse$send_pulse_BANG_.invokeStatic(pulse.clj:500)
at metabase.pulse$send_pulse_BANG_.doInvoke(pulse.clj:480)
at clojure.lang.RestFn.invoke(RestFn.java:439)
at metabase.task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82271$fn__82289$fn__82290.invoke(send_pulses.clj:56)
at metabase.models.task_history$fn__42158$do_with_task_history__42163$fn__42164.invoke(task_history.clj:113)
at metabase.models.task_history$fn__42158$do_with_task_history__42163.invoke(task_history.clj:108)
at metabase.task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82271$fn__82289.invoke(send_pulses.clj:52)
at metabase.task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82271.invoke(send_pulses.clj:51)
at metabase.task.send_pulses$fn__82259$send_pulses_BANG___82268.invoke(send_pulses.clj:38)
at metabase.task.send_pulses$fn__82259$send_pulses_BANG___82268$fn__82269.invoke(send_pulses.clj:45)
at metabase.task.send_pulses$fn__82259$send_pulses_BANG___82268.invoke(send_pulses.clj:38)
at metabase.task.send_pulses.SendPulses$fn__82325.invoke(send_pulses.clj:96)
at metabase.models.task_history$fn__42158$do_with_task_history__42163$fn__42164.invoke(task_history.clj:113)
at metabase.models.task_history$fn__42158$do_with_task_history__42163.invoke(task_history.clj:108)
at metabase.task.send_pulses.SendPulses.execute(send_pulses.clj:82)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

It says something related to permissions but that user can see the whole dashboard. Where do I have to give permission to this user for sending e-mails? or is it a bug which have to be solved? Because I see this issue in the backlog of Cypress Testing.

Thanks!

Regards!

@Adriana1 Yes, the users has view-permissions to the dashboard (and questions), but does not have data-permissions, which the issue/bug is all about. You will have to give data-permissions.

We don't want to give admin permissions to everybody :frowning: I have these options:
image

They have "Sin autoservicio", and the next one is "Sin restricciones" which is the access that administrators have. Is there any way I can give them data-access but not full-access without restrictions??

Is this issue to be solved in coming releases? Thanks!

@Adriana1
I think you are misunderstanding the difference between what admins can do and what data-permissions do. Would recommend that you read through the following article: https://www.metabase.com/learn/permissions/data-permissions
You can give granular data-permissions to specific tables.
I cannot give you a timeline for any issues, particularly permission issues.