(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon

How to Create an Email Insights Assistant with Copilot in Power BI

João Barros 03 de November de 2026 4 min read

This tutorial shows how to configure Copilot in Power BI to automatically generate insights and send a summary by email to a list of recipients. It is useful for those who want to distribute periodic analyses without manually creating reports each time.

Prerequisites

  • Account with Power BI Pro or Premium permissions and access to Copilot
  • Report published to the Power BI Service with an up-to-date dataset
  • Email connector configured (Exchange/Outlook or Power Automate flow)
  • Permissions to create Power Automate flows connected to Power BI

Step 1: Define the Objective of the Insights Assistant

Before configuring Copilot, clarify what kind of insights you intend to send (e.g., weekly sales change, top 5 customers, anomalies). This helps to write effective prompts and prepare the report with the necessary metrics.

Step 2: Prepare the Report and Mark Relevant Visuals

Open your report in Power BI Desktop or Service and ensure that the visuals you want Copilot to use have clear titles and visible KPIs. Copilot uses labels and names to reference elements.

// Best practices (examples of measure names in Power BI DAX)
TotalSales = SUM(Sales[Amount])
SalesWoVAT = CALCULATE([TotalSales], Sales[VATExempt] = TRUE)
WeeklyChange = DIVIDE([TotalSales] - CALCULATE([TotalSales], DATEADD(Date[Date], -7, DAY)), CALCULATE([TotalSales], DATEADD(Date[Date], -7, DAY)))

Step 3: Create a Copilot Prompt to Generate the Summary

In the Power BI Service, open Copilot for the report and write a prompt that asks for a concise summary focused on the selected visuals. Be specific: period, format (list, paragraphs), and whether you want sentences ready for email.

Prompt example:
"Generate an email-ready summary with the main insights from last week: weekly change of TotalSales, top 3 products by revenue, and any anomalies in regions. Short text in 5-7 sentences ready to copy into the email body. Use headings for each section." 

Step 4: Validate and Adjust Copilot's Output

Ask Copilot for variations of the same prompt until you get the desired tone and level of detail. Check especially the cited values (consistency with the report) and ask it to include date and context in the text to avoid ambiguity.

Step 5: Automate Sending with Power Automate

Create a flow in Power Automate that runs weekly, calls Copilot (via Power BI/HTTP connector) or generates text using the 'Execute Paginated Report' / 'Refresh and run' action and then embeds the generated text in the email body.

// Logical structure of the flow (Power Automate pseudocode)
Trigger: Recurrence (weekly)
Action: Power BI - Refresh dataset (optional)
Action: HTTP/Invoke Copilot prompt endpoint OR Power BI - Export to PDF/Run query
Action: Parse output (extract Copilot/query text)
Action: Office 365 Outlook - Send an email (To: list) Body: @{outputs('Copilot_text')}

Step 6: Handle Errors and Validations

Implement checks in the flow: if the output is empty, send an error notification instead of the insights email. Log each run to audit changes in the text generated by Copilot.

// Simple condition example in Power Automate
Condition: length(outputs('Copilot_text')) > 50
  True: Send email with @{outputs('Copilot_text')}
  False: Send email to admin "Error: summary not generated"

Verify the Result

Run the flow manually and confirm that the email arrives with the summary generated by Copilot. Compare the values and sentences with the report visuals to ensure there are no discrepancies. Also check the flow history and dataset refresh logs.

Conclusion

After validation, you can adjust the prompt to customize tone, frequency, and recipients. To evolve, attach report PDFs or segment sends by groups. Tip: keep a tested prompt example for reproducibility — what is the first summary you want to automate in your organization?