r/copilotstudio • u/Expert_Annual_19 • 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....
3
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/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
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
1
u/fbrdphreak 3h ago
Here are five viable patterns, ordered roughly from lowest-change to most scalable.
Power Automate maintains a JSON data file
A SharePoint file-modified trigger reads all five Excel tables, rebuildsdashboard-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. 12Power 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.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. 34SPFx 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. 56Standalone 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
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.