There was a Power BI report at Huawei that had to reach a few inboxes every Monday, and for a long stretch the way it got there was pure hand work. Someone opened the report, exported it page by page to PDF, dropped the pages into a branded deck so it looked official instead of like a raw screenshot, typed a few lines at the top saying what moved that week, then attached a copy of the underlying numbers for the people who like to poke at the data themselves. Send. Close the laptop. Do the whole thing again next Monday.
The report never changed. Only the week did. And once the shape of the output is frozen while fresh data keeps flowing through it, the work has quietly turned from analysis into couriering. I have rebuilt this same Monday ritual for Upwork clients in my evenings, and it is almost always the same few pieces glued together by a person who deserves to be doing something better with that half hour.
The click that exports the report is the one part of the job a computer should own.
What that weekly export really costs
The obvious cost is the twenty minutes. The real cost is everything around it. Someone has to be at their desk on the right morning, the pages have to come out in the right order with none forgotten, the brand deck has to be opened and refreshed so it still looks like your company, and then the summary, which is the part that actually gets read, gets typed in a rush because the meeting is at ten. Because a person does it, it happens only when that person remembers, and it quietly stops the week they are on leave.
So before reaching for any tool, write the manual version down once, honestly, the same way I do before I automate any Excel report. For this Monday ritual it is usually six moves: pull the report, render it to PDF, wrap it in the brand, write the short summary, attach the raw numbers for the hands on people, and send. Six moves, frozen shape, fresh data. That last part is the tell that a machine should own it.
The question is never whether it can be automated. It is which of these six a computer can do without you in the room, and once you look closely the answer is all of them.
The pieces of a one button export
Four pieces sit behind the button. The first is a way to fetch the report without a human logging in. Power BI has a REST API, and the endpoint you want is the one that exports a report to a file, PDF in this case, rendered on Power BI's own servers so it looks exactly like the report does on screen. You call it, it hands back a file. No opening the app, no clicking through the export menu.
The second piece is how that call is allowed to happen at 7am while you sleep. You do not want your own login sitting inside a script. Instead you register a small app identity, called a service principal, which is just a user that is a program rather than a person. You give it read access to the one workspace that holds this report and nothing else, and Power BI trusts it to fetch that report on a schedule.
The third piece is a small Python step that ties it together. It asks the API for the PDF, waits for the render to finish, then wraps the raw pages in your branded cover so the file arrives looking official. In the same run it pulls the underlying table and writes a clean Excel copy, because some readers always want to filter the numbers for themselves, and handing them that upfront saves a round of "can you send me the data". The fourth piece is the summary on top, and it deserves its own section.
The line that actually gets read
Most people open the PDF, read the top, and decide in ten seconds whether they need the rest. So the most valuable page is the one that usually gets typed last and in a hurry. That is the page to hand to a model. Feed it this week's key numbers and last week's, with a tight instruction: describe what moved, guess the likely reason in one line, and name the one thing to keep an eye on. Three plain sentences, no jargon, no adjectives it cannot back up. This is really a small version of turning data into a story, which I wrote about in turning raw numbers into something a person actually reads.
The fear here is fair. A model told to reason freely will happily invent a number that sounds right. The fix is boring and it holds: it only ever describes numbers you handed it, you tell it to describe and never to calculate, and a person glances at the block before it sends. That last glance is thirty seconds against twenty minutes, and it keeps a real human on the hook for anything that ships with your name on it.
The Excel copy riding along is the quiet hero. The people who trust a dashboard least are often the sharpest ones, the analysts who want to sort it themselves, and giving them the clean table in the same email means the PDF can stay simple for everyone else. If the report itself feels noisy before any of this, that is a design problem further upstream, and it is worth building a dashboard that earns its export first.
Build it once, or hand it over
The money question is mostly arithmetic. If this export costs one person fifteen minutes a week, you can live with it, and honestly you probably should, because a paid build repays itself slowly at that size. But the moment it becomes a standing tax across a few reports and a few people, or it silently breaks whenever the one person who knows the steps is away, a one time build pays for itself inside a month and then keeps paying every Monday after.
I am not going to paste the whole script here, and not to keep a secret. The runnable version is mostly the ten percent tuned to your setup, your tenant and workspace, the auth your IT team will actually approve, the exact brand on the cover, the prompt shaped around your numbers. That part cannot be copied off the internet because it is shaped around your specific report. The clean first habit behind it is the same one I lean on for Excel report robots. There is a short prep list that makes the build fast: which report and workspace, whether you have the capacity the export API needs, one finished PDF made by hand so I can match the brand, and the two or three numbers that matter most for the summary.
If you want an honest read on whether your Monday ritual is worth automating, start a project and tell me which report you keep rebuilding, even if my answer turns out to be that fifteen minutes a week is fine and you should keep it.
So the whole thing, in order. Write the six manual moves down and see that a computer can do every one. Let the REST API render the PDF, let a service principal fetch it while you sleep, let a small Python step brand it and drop a clean Excel copy beside it, and let a tightly reined model write the three lines that actually get read, with your glance before it sends. The report keeps arriving every Monday, and nobody has to be awake for it.
If your ritual clearly needs the machine and you would rather not wire it yourself, the done for you version is the one I build around your real report, tuned to your tenant and your brand and yours to keep. And if you want the tools I ship along the way, the membership here includes every product I release, now and later, licensed to you forever. The click was never the job, and it was never worth someone's Monday.