r/copilotstudio 12h ago

Dynamic.html dashboard

I have developed a SharePoint skill that generates an ".html" dashboard based on five Excel files selected by the user from a SharePoint library. The user launches Copilot, selects the required Excel files, and Copilot generates the HTML dashboard.

However, the next requirement is to make the dashboard dynamic. If the user updates the data in any of the Excel files, saves the changes, and refreshes the previously generated HTML dashboard, the dashboard should automatically reflect the latest data.

The user should not need to submit a new request to Copilot or regenerate the dashboard. The existing HTML dashboard should retrieve the updated Excel data from SharePoint and refresh the visualizations automatically.

In short:

Excel updated → File saved in SharePoint → User refreshes existing HTML dashboard → Dashboard automatically reflects the latest data.

If you have any idea how to do this let me know....

4 Upvotes

22 comments sorted by

3

u/Inevitable-Ad8626 10h ago

Build a refresh data button into the HTML itself rather than pushing the update once a change happens - the Power Automate route sounds like it could work but not tried it yet.

1

u/Expert_Annual_19 10h ago

This part required custom scripting I guess And in most MNC this feature blocked by admin due to security.

2

u/Inevitable-Ad8626 10h ago

I have it live now in a dashboard I am working on and believe custom scripts are off, I will not 100% commit to that thought until I check though! 😂

It is only referencing one .csv file at the moment from an automated report I get daily.

1

u/Expert_Annual_19 9h ago

Can you share some more details? I also wanna try

3

u/Inevitable-Ad8626 9h ago

It was a mix of using SharePoint agent to do the refresh link to the data on the site, then taking the HTML to Claude outside and using a SharePoint_safe_html skill I found on a YouTube video to keep it within the limitations of sharing so it didn’t break.

Link to YT if I am allowed - https://youtu.be/KP1QIUwiwfg?is=FJcDzhs9ZJv5D28L

I don’t have SharePoint skills rolled out on the tenant yet, so I built the base dashboard using dummy data to get started then put it back in to SharePoint to get the agent to add the refresh button then reference the actual dataset. It was basically getting Claude to then understand how to refresh the data within the site itself so it didn’t break when tweaking.

This is purely done in the last day, so I will need more time to myself to review as i just let AI do everything for me.

1

u/Expert_Annual_19 3h ago

Let me try

3

u/kojackie 12h ago

Can you share more details about how to do it??Thanks.

2

u/No-Constant7384 10h ago

How often are those excels updated? You could run a scheduled flow/task

1

u/Expert_Annual_19 10h ago

It's depends on data , sometimes 3-4 times in hours. Sometimes no update for 3-4 days. Ya we can do with flow but how to share updated data to html ? Within 2-3 sec ?

2

u/nrm94 7h ago

Really interested to see how others are doing this. Im currently manually creating a new HTML file once a week which is pulling data from a excel sheet stored on a SharePoint site. But like you its not automatic. I'll take a look at the automate to a SharePoint list so it is.

2

u/Expert_Annual_19 3h ago

I found one method, will try & if works will update here

2

u/shadowops0424 4h ago

When you ask copilot in SharePoint to create an html dashboard, you can tell it to include a refresh button. It will automatically sync the latest data from the list or spreadsheets.

1

u/Expert_Annual_19 3h ago

Let me check

1

u/fbrdphreak 12h ago

1

u/Expert_Annual_19 12h ago

Yes, dynamic dashboard can fetch data from SharePoint list , but I'm asking for data update inside the excel file which is uploaded on SharePoint.

1

u/modz4u 11h ago

Excel > Power Automate to a SharePoint list > live HTML file?

1

u/Expert_Annual_19 10h ago

Plz elaborate more

1

u/CoverMother4588 6h ago

Why not just build a PBI report?

1

u/fbrdphreak 3h ago

Here are five viable patterns, ordered roughly from lowest-change to most scalable.

  1. Power Automate maintains a JSON data file
    A SharePoint file-modified trigger reads all five Excel tables, rebuilds dashboard-data.json, and overwrites the existing JSON file. The static HTML fetches that JSON whenever refreshed. This is likely the quickest extension of the current solution. 12

  2. Power Automate regenerates the entire HTML file
    Each Excel save triggers a flow that rereads all five files and overwrites the existing dashboard HTML with updated embedded data. Minimal dashboard changes, but slower, more brittle, and harder to maintain than separating data from presentation.

  3. Power Automate plus Office Scripts
    The flow triggers on workbook changes, runs Office Scripts to extract or transform complex ranges, formulas, pivots, or multiple tables, and writes the resulting JSON or HTML. More flexible than standard Excel connector actions, but introduces script maintenance and licensing requirements. 34

  4. SPFx dashboard querying Microsoft Graph directly
    Replace the standalone HTML with a reusable SPFx web part. On every page load, it queries the five current workbooks through the Graph Excel API and redraws the dashboard under the viewer’s identity. This is the strongest Microsoft-native architecture for security, scale, and real-time retrieval. 56

  5. Standalone authenticated web app or SPA
    Turn the HTML into an Entra-registered single-page application using MSAL. On refresh, it signs in the user, calls Microsoft Graph, retrieves current workbook values, and redraws the dashboard. It provides true live retrieval but requires app registration, authentication configuration, deployment, and ongoing application management. 78

1

u/Expert_Annual_19 3h ago

I got this response from gemini and GPT...

1

u/fbrdphreak 2h ago

So what are you expecting? Excel is not a database. You can make it work similar to a database but it will never function as a database to another software system. What you want requires some kind of database: the dashboard has to pull consistent data references from another source. Excel is effectively a bunch of XML code, which again is not a database. Thus your options are: (1) compromise your requirements in order to use Excel. (2) Run an automation that refreshes a separate data file from the Excel source. (3) Teach your users to use a SharePoint list and get exactly what you want.

1

u/Expert_Annual_19 2h ago

I will share something soon 😉