<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Databricks dashboard email with attachment in Warehousing &amp; Analytics</title>
    <link>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175200#M2804</link>
    <description>&lt;P&gt;&lt;SPAN&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/229230"&gt;@yanchr&lt;/a&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I validated this using &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Lakeflow Jobs Dashboard tasks, the Jobs REST API and the Databricks Terraform provider&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;. Here are the options I have tried and the findings:&lt;/SPAN&gt;&lt;/P&gt;&lt;H3&gt;&lt;SPAN&gt;1: Lakeflow Jobs Dashboard task (simplest approach)&lt;/SPAN&gt;&lt;/H3&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Option A : Configure through UI&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The Dashboard task UI provides attachment configuration directly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Navigate to &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Jobs &amp;amp; Pipelines → Job → Tasks → Dashboard task&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You can configure:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Subscribers:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Recipients who should receive the dashboard email.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Dashboard filters:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Apply specific filter values before generating the dashboard snapshot.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Include pages:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Select dashboard pages to attach as PDF.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Include data:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Select widgets and export their data as CSV, TSV, or Excel.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;What I validated:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Using an existing dashboard task, I verified that the UI exposes &lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;Include pages&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;Include data&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt;, with page/widget selection and CSV, TSV, and Excel format options.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The UI also correctly displayed attachment settings previously configured through the Jobs API.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Option B : Configure through Databricks Asset Bundles (YAML)&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;The equivalent bundle configuration is:&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;resources:
  jobs:
    dashboard_email_job:
      name: dashboard-email-with-attachments
      tasks:
        - task_key: dashboard_snapshot
          dashboard_task:
            dashboard_id: ${var.dashboard_id}
            warehouse_id: ${var.warehouse_id}
            subscription:
              subscribers:
                - user_name: user@example.com
              attachment:
                data_attachment:
                  widgets:
                    - page_id: page_99999
                      widget_id: bar_99999
                  file_format: FILE_FORMAT_CSV&lt;/LI-CODE&gt;&lt;P&gt;Mention that &lt;STRONG&gt;FILE_FORMAT_EXCEL&lt;/STRONG&gt; and &lt;STRONG&gt;FILE_FORMAT_TSV&lt;/STRONG&gt; are alternative values.&lt;/P&gt;&lt;H3&gt;&lt;SPAN&gt;2: Jobs REST API (tested end-to-end)&lt;/SPAN&gt;&lt;/H3&gt;&lt;P&gt;&lt;SPAN&gt;For programmatic config, the Jobs API supports attachments under:&amp;nbsp;&lt;STRONG&gt;dashboard_task.subscription.attachment&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here's a minimal example:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;{
  "name": "dashboard-email-with-attachments",
  "tasks": [
    {
      "task_key": "send_dashboard",
      "dashboard_task": {
        "dashboard_id": "YOUR_DASHBOARD_ID",
        "warehouse_id": "YOUR_WAREHOUSE_ID",
        "subscription": {
          "paused": false,
          "subscribers": [
            {
              "user_name": "user@example.com"
            }
          ],
          "attachment": {
            "page_attachment": {
              "page_selection": "PAGE_SELECTION_SUBSET",
              "page_ids": ["YOUR_PAGE_ID"]
            },
            "data_attachment": {
              "file_format": "FILE_FORMAT_CSV",
              "widgets": [
                {
                  "page_id": "YOUR_PAGE_ID",
                  "widget_id": "YOUR_WIDGET_ID"
                }
              ],
              "include_applied_filters": true
            }
          }
        }
      }
    }
  ]
}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;Submit the payload using:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;curl -X POST \
  "$DATABRICKS_HOST/api/2.2/jobs/create" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @job.json&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;You can then verify the saved configuration using:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;databricks jobs get &amp;lt;job-id&amp;gt; --output json&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;My Actual test results:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Jobs API accepted the PDF page and CSV widget attachment configuration.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;GET response retained both attachment objects.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Dashboard task execution completed with &lt;STRONG&gt;Success&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Email delivery was confirmed.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;The received email contained both a PDF attachment and a tabular-data attachment&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="data_pulse_0-1793439656917.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/32807i3681023AB9831C59/image-size/medium?v=v2&amp;amp;px=400" role="button" title="data_pulse_0-1793439656917.png" alt="data_pulse_0-1793439656917.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="data_pulse_1-1793439696495.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/32808i9B4A2D023BBA06B2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="data_pulse_1-1793439696495.png" alt="data_pulse_1-1793439696495.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;H3&gt;&lt;SPAN&gt;3:&lt;/SPAN&gt;&lt;SPAN&gt;Terraform : Native Attachment Support (v1.140.0)&lt;/SPAN&gt;&lt;/H3&gt;&lt;P&gt;&lt;SPAN&gt;I also tested the Databricks Terraform provider versions &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;v1.109.0 and v1.137.0&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Both terraform validate and terraform plan failed with:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Error: Unsupported block type
Blocks of type "attachment" are not expected here.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;But,&amp;nbsp;&lt;SPAN&gt;The latest tested provider, &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;v1.140.0 (published October 26, 2026)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, exposes native&amp;nbsp;&lt;STRONG&gt;page_attachment&lt;/STRONG&gt; and &lt;STRONG&gt;data_attachment&lt;/STRONG&gt; blocks under &lt;STRONG&gt;dashboard_task.subscription.attachment&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;supported Terraform structure:&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;resource "databricks_job" "dashboard_email" {
  name = "dashboard-email-with-attachments"

  task {
    task_key = "dashboard_snapshot"

    dashboard_task {
      dashboard_id = var.dashboard_id
      warehouse_id = var.warehouse_id
      subscription {
        paused = true
        subscribers {
          user_name = var.recipient_email
        }
        attachment {
          page_attachment {
            page_selection = "PAGE_SELECTION_SUBSET"
            page_ids       = ["page_99999"]
          }

          data_attachment {
            file_format             = "FILE_FORMAT_CSV"
            include_applied_filters = true
            widgets {
              page_id   = "page_99999"
              widget_id = "bar_99999"
            }
          }
        }
      }
    }
  }
}&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Validation:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; I successfully deployed the dashboard job using Terraform provider &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;v1.140.0&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; with native PDF/CSV attachment configuration. &lt;STRONG&gt;terraform validate, plan, and apply&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;all passed. The Jobs API confirmed the attachment settings were retained, the dashboard task run completed with &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;SUCCESS&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and email delivery also confirmed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Recommendation:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; For straightforward scheduled dashboard emails, use the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Lakeflow Jobs Dashboard task UI&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, which supports PDF page and widget-data attachments.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For declarative automation, &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Terraform provider v1.140.0 is a validated option&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, with successful deployment, execution, and email receipt confirmed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Jobs REST API&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; remains an alternative for programmatic configs or older Terraform provider versions that lack native attachment support.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;References:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/aws/en/jobs/tasks/dashboard" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Dashboard task for Lakeflow Jobs&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/api/jobs/v2/create-job" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Jobs REST API&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 31 Oct 2026 10:08:51 GMT</pubDate>
    <dc:creator>data_pulse</dc:creator>
    <dc:date>2026-10-31T10:08:51Z</dc:date>
    <item>
      <title>Databricks dashboard email with attachment</title>
      <link>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175035#M2802</link>
      <description>&lt;P&gt;I'm trying to manage a scheduled AI/BI dashboard email entirely through Terraform and the API. The goal is to send a monthly PDF snapshot of the dashboard, with specific filter values already applied, to a list of subscribers and specified attachments.&lt;BR /&gt;What I found:&lt;BR /&gt;The Lakeview API create subscription lets me add subscribers to a dashboard schedule. As far as I can tell, subscribers are all it exposes. I don't see a way to choose which filter values or parameters are included in the emailed snapshot.&lt;BR /&gt;Jobs API. Create job has a dashboard_task that takes dashboard_id, warehouse_id, subscription and filters. The Terraform provider exposes the same fields. So a job can refresh the dashboard, apply filters and notify subscribers.&lt;SPAN&gt;Is there a way to define custom attachments declaratively via the API/Terraform?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Oct 2026 16:20:23 GMT</pubDate>
      <guid>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175035#M2802</guid>
      <dc:creator>yanchr</dc:creator>
      <dc:date>2026-10-30T16:20:23Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks dashboard email with attachment</title>
      <link>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175181#M2803</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/229230"&gt;@yanchr&lt;/a&gt;, you've read the APIs right. The Lakeview schedule and subscription endpoints only cover the cron, the warehouse and who gets the email. There's no field there for filter values or attachments.&lt;/P&gt;&lt;P&gt;The dashboard task in Lakeflow Jobs is the place to do this, and it now covers attachments too. In the Jobs API, dashboard_task.subscription has an attachment object (still marked Beta) with two parts:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;page_attachment picks which pages go into the PDF. Without it you only get the first page.&lt;/LI&gt;&lt;LI&gt;data_attachment attaches the data behind up to 5 widgets as CSV, TSV or Excel, and can add the applied filter values as an extra file.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Filters go in dashboard_task.filters, keyed by each filter widget's URL identifier. Here's roughly what a monthly job looks like as a Jobs API payload:&lt;/P&gt;&lt;PRE&gt;{
  "name": "monthly-sales-snapshot",
  "schedule": {
    "quartz_cron_expression": "0 0 7 1 * ?",
    "timezone_id": "Europe/London"
  },
  "tasks": [
    {
      "task_key": "send_snapshot",
      "dashboard_task": {
        "dashboard_id": "&amp;lt;dashboard-id&amp;gt;",
        "warehouse_id": "&amp;lt;warehouse-id&amp;gt;",
        "filters": {
          "region": "EMEA",
          "product_line": "[\"Hardware\",\"Services\"]"
        },
        "subscription": {
          "custom_subject": "Monthly sales snapshot (EMEA)",
          "subscribers": [
            { "user_name": "someone@yourcompany.com" },
            { "destination_id": "&amp;lt;email-destination-id&amp;gt;" }
          ],
          "attachment": {
            "page_attachment": {
              "page_selection": "PAGE_SELECTION_SUBSET",
              "page_ids": ["overview", "regional_detail"]
            },
            "data_attachment": {
              "widgets": [
                { "page_id": "regional_detail", "widget_id": "sales_by_country" }
              ],
              "file_format": "FILE_FORMAT_EXCEL",
              "include_applied_filters": true
            }
          }
        }
      }
    }
  ]
}&lt;/PRE&gt;&lt;P&gt;A few things that are easy to miss:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;page_id and widget_id aren't the titles you see on the canvas. They're the name values in the dashboard's serialized_dashboard (from the Get dashboard API, or the .lvdash.json file if you keep it in source control).&lt;/LI&gt;&lt;LI&gt;Multi-select filters take a JSON array as a string, like "[\"a\",\"b\"]". Date filters take ISO 8601.&lt;/LI&gt;&lt;LI&gt;Dataset parameters can't be set directly in the task. Attach the parameter to a filter widget on the canvas, then set that filter in the task.&lt;/LI&gt;&lt;LI&gt;The warehouse has to be serverless or pro.&lt;/LI&gt;&lt;LI&gt;This subscriber list is separate from the dashboard's own schedules, so people won't get a second email unless they're in both.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;For Terraform: Declarative Automation Bundles already accept the attachment block in the dashboard task schema. The Terraform databricks_job resource generates its schema from the Go SDK, which has the field, but the provider docs don't mention it yet. Before relying on it, I'd upgrade to a recent provider and run terraform providers schema -json | grep page_attachment to confirm. If it isn't there in your version, you can keep the job in a bundle, or manage it with the Jobs API from your pipeline until the provider catches up.&lt;/P&gt;&lt;P&gt;Docs: dashboard task for jobs (&lt;A href="https://docs.databricks.com/aws/en/jobs/dashboard" target="_blank"&gt;https://docs.databricks.com/aws/en/jobs/dashboard&lt;/A&gt;) and the Jobs create API (&lt;A href="https://docs.databricks.com/api/workspace/jobs/create" target="_blank"&gt;https://docs.databricks.com/api/workspace/jobs/create&lt;/A&gt;), see dashboard_task.subscription.attachment.&lt;/P&gt;&lt;P&gt;Hope this saves you some digging. If it works for you, marking it as the solution helps the next person find it.&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2026 07:52:12 GMT</pubDate>
      <guid>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175181#M2803</guid>
      <dc:creator>Isaac_18</dc:creator>
      <dc:date>2026-10-31T07:52:12Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks dashboard email with attachment</title>
      <link>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175200#M2804</link>
      <description>&lt;P&gt;&lt;SPAN&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/229230"&gt;@yanchr&lt;/a&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I validated this using &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Lakeflow Jobs Dashboard tasks, the Jobs REST API and the Databricks Terraform provider&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;. Here are the options I have tried and the findings:&lt;/SPAN&gt;&lt;/P&gt;&lt;H3&gt;&lt;SPAN&gt;1: Lakeflow Jobs Dashboard task (simplest approach)&lt;/SPAN&gt;&lt;/H3&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Option A : Configure through UI&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The Dashboard task UI provides attachment configuration directly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Navigate to &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Jobs &amp;amp; Pipelines → Job → Tasks → Dashboard task&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;You can configure:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Subscribers:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Recipients who should receive the dashboard email.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Dashboard filters:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Apply specific filter values before generating the dashboard snapshot.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Include pages:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Select dashboard pages to attach as PDF.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Include data:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; Select widgets and export their data as CSV, TSV, or Excel.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;What I validated:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Using an existing dashboard task, I verified that the UI exposes &lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;Include pages&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;Include data&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt;, with page/widget selection and CSV, TSV, and Excel format options.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The UI also correctly displayed attachment settings previously configured through the Jobs API.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Option B : Configure through Databricks Asset Bundles (YAML)&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;The equivalent bundle configuration is:&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;resources:
  jobs:
    dashboard_email_job:
      name: dashboard-email-with-attachments
      tasks:
        - task_key: dashboard_snapshot
          dashboard_task:
            dashboard_id: ${var.dashboard_id}
            warehouse_id: ${var.warehouse_id}
            subscription:
              subscribers:
                - user_name: user@example.com
              attachment:
                data_attachment:
                  widgets:
                    - page_id: page_99999
                      widget_id: bar_99999
                  file_format: FILE_FORMAT_CSV&lt;/LI-CODE&gt;&lt;P&gt;Mention that &lt;STRONG&gt;FILE_FORMAT_EXCEL&lt;/STRONG&gt; and &lt;STRONG&gt;FILE_FORMAT_TSV&lt;/STRONG&gt; are alternative values.&lt;/P&gt;&lt;H3&gt;&lt;SPAN&gt;2: Jobs REST API (tested end-to-end)&lt;/SPAN&gt;&lt;/H3&gt;&lt;P&gt;&lt;SPAN&gt;For programmatic config, the Jobs API supports attachments under:&amp;nbsp;&lt;STRONG&gt;dashboard_task.subscription.attachment&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here's a minimal example:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;{
  "name": "dashboard-email-with-attachments",
  "tasks": [
    {
      "task_key": "send_dashboard",
      "dashboard_task": {
        "dashboard_id": "YOUR_DASHBOARD_ID",
        "warehouse_id": "YOUR_WAREHOUSE_ID",
        "subscription": {
          "paused": false,
          "subscribers": [
            {
              "user_name": "user@example.com"
            }
          ],
          "attachment": {
            "page_attachment": {
              "page_selection": "PAGE_SELECTION_SUBSET",
              "page_ids": ["YOUR_PAGE_ID"]
            },
            "data_attachment": {
              "file_format": "FILE_FORMAT_CSV",
              "widgets": [
                {
                  "page_id": "YOUR_PAGE_ID",
                  "widget_id": "YOUR_WIDGET_ID"
                }
              ],
              "include_applied_filters": true
            }
          }
        }
      }
    }
  ]
}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;Submit the payload using:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;curl -X POST \
  "$DATABRICKS_HOST/api/2.2/jobs/create" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @job.json&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;You can then verify the saved configuration using:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;databricks jobs get &amp;lt;job-id&amp;gt; --output json&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;My Actual test results:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Jobs API accepted the PDF page and CSV widget attachment configuration.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;GET response retained both attachment objects.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Dashboard task execution completed with &lt;STRONG&gt;Success&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Email delivery was confirmed.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;The received email contained both a PDF attachment and a tabular-data attachment&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="data_pulse_0-1793439656917.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/32807i3681023AB9831C59/image-size/medium?v=v2&amp;amp;px=400" role="button" title="data_pulse_0-1793439656917.png" alt="data_pulse_0-1793439656917.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="data_pulse_1-1793439696495.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/32808i9B4A2D023BBA06B2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="data_pulse_1-1793439696495.png" alt="data_pulse_1-1793439696495.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;H3&gt;&lt;SPAN&gt;3:&lt;/SPAN&gt;&lt;SPAN&gt;Terraform : Native Attachment Support (v1.140.0)&lt;/SPAN&gt;&lt;/H3&gt;&lt;P&gt;&lt;SPAN&gt;I also tested the Databricks Terraform provider versions &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;v1.109.0 and v1.137.0&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Both terraform validate and terraform plan failed with:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Error: Unsupported block type
Blocks of type "attachment" are not expected here.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;But,&amp;nbsp;&lt;SPAN&gt;The latest tested provider, &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;v1.140.0 (published October 26, 2026)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, exposes native&amp;nbsp;&lt;STRONG&gt;page_attachment&lt;/STRONG&gt; and &lt;STRONG&gt;data_attachment&lt;/STRONG&gt; blocks under &lt;STRONG&gt;dashboard_task.subscription.attachment&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;supported Terraform structure:&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;resource "databricks_job" "dashboard_email" {
  name = "dashboard-email-with-attachments"

  task {
    task_key = "dashboard_snapshot"

    dashboard_task {
      dashboard_id = var.dashboard_id
      warehouse_id = var.warehouse_id
      subscription {
        paused = true
        subscribers {
          user_name = var.recipient_email
        }
        attachment {
          page_attachment {
            page_selection = "PAGE_SELECTION_SUBSET"
            page_ids       = ["page_99999"]
          }

          data_attachment {
            file_format             = "FILE_FORMAT_CSV"
            include_applied_filters = true
            widgets {
              page_id   = "page_99999"
              widget_id = "bar_99999"
            }
          }
        }
      }
    }
  }
}&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Validation:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; I successfully deployed the dashboard job using Terraform provider &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;v1.140.0&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; with native PDF/CSV attachment configuration. &lt;STRONG&gt;terraform validate, plan, and apply&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;all passed. The Jobs API confirmed the attachment settings were retained, the dashboard task run completed with &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;SUCCESS&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and email delivery also confirmed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Recommendation:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; For straightforward scheduled dashboard emails, use the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Lakeflow Jobs Dashboard task UI&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, which supports PDF page and widget-data attachments.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For declarative automation, &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Terraform provider v1.140.0 is a validated option&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, with successful deployment, execution, and email receipt confirmed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Jobs REST API&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; remains an alternative for programmatic configs or older Terraform provider versions that lack native attachment support.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;References:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/aws/en/jobs/tasks/dashboard" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Dashboard task for Lakeflow Jobs&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/api/jobs/v2/create-job" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Jobs REST API&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 31 Oct 2026 10:08:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/warehousing-analytics/databricks-dashboard-email-with-attachment/m-p/175200#M2804</guid>
      <dc:creator>data_pulse</dc:creator>
      <dc:date>2026-10-31T10:08:51Z</dc:date>
    </item>
  </channel>
</rss>

