Folder Bridge The little app that copies a whole SharePoint folder — subfolders, files, and all — from one site to another. Runs as you. No sign-in screen. No flows.
Folder Bridge
Here's a thing SharePoint makes weirdly hard: copying a folder from one site to another. You can drag files around inside a library all day, but the moment you want to move a whole folder — with its subfolders and everything inside — across to a different site, you're suddenly writing scripts, or copying things one painful piece at a time.
So I built Folder Bridge: a tiny app that lives right inside Power Apps. You pick a source site and a destination site, choose a folder (or a whole library), and click Copy. It brings everything across — subfolders and all — shows you a live progress bar, and hands you a tidy report of every file it moved. And the nicest part: there's no login screen. It quietly runs as whoever opened it, using their own permissions.
What it does, in plain English
Open the app. Paste a source site address — the library list loads by itself. Pick the library, optionally type a folder path (or leave it blank to grab the whole library). Do the same for the destination. Tick "include subfolders," choose what happens if a file already exists (keep both, replace, or skip), and press Copy folder.
Behind that one button, the app walks the source, rebuilds the folder structure on the other side, and copies every file into place — then gives you a per-file report you can export to CSV. That's it. No Power Automate flow to build, no custom connector to wire, no admin center.
What you'll need
If you have a Microsoft 365 tenant and a Windows machine, you're most of the way there:
- A Power Platform environment with the Code Apps feature turned on.
- The pac CLI and Node.js installed — the deploy script uses them.
- A SharePoint connection in your environment (a 60-second, one-time click — I'll show you).
- The deployment package — the zip with the app and the one deploy script (link at the bottom).
Why there's no login screen
The first version of this app had a proper sign-in button. It worked great on my laptop — and then failed completely once it lived inside Power Apps. That failure turned out to be the best thing that happened to the project.
Power Apps already knows who you are. So instead of the app managing its own logins, it borrows the identity you're already signed in with and talks to SharePoint through the built-in connector — as you. That means every copy respects your real permissions: you can only copy what you're actually allowed to see. For a security-minded org, that's exactly the behavior you want, and it happens automatically.
Deploy it in 5 steps
The whole thing is one script. Here's the friendly walk-through.
Create a SharePoint connection (one time)
In your browser go to make.powerapps.com, pick your environment (top-right), then Connections → + New connection → SharePoint → Create. Sign in. That's the only manual step — everything else is scripted.
Unzip the package & open a terminal
Extract the zip to a fresh folder and open PowerShell inside it.
cd C:\folder-bridge
Run the one command
This provisions the app identity, links the connection, builds, and publishes — all on its own.
.\scripts\Deploy-CodeApp.ps1
At the first prompt, paste your environment ID or just paste the whole make.powerapps.com URL — the script pulls the IDs out of it for you. Sign in as an admin when the window pops up, then let the green lines roll by.
Open the app & click Allow
The script prints a play URL. Open it. The first time, Power Apps asks you to Allow the SharePoint connection — that's the one-time consent, not a login. Click it.
Copy your first folder
Paste a source site, pick a library, paste a destination site, tick Include subfolders, and press Copy folder. Watch the bar fill, then read your report.
The app, screen by screen
Here's exactly what you'll see. Three moments: set up the copy, watch it run, read the receipt.
Screen 1 — Paste a site URL and the library list loads on its own. Pick source and destination, then choose your options.
Screen 2 — A real percentage bar tracks every file, then a green banner confirms the result.
| Status | Name | Path |
|---|---|---|
| Folder created | Social Kit | Social Kit |
| Copied | launch-plan.docx | launch-plan.docx |
| Copied | banner-1200.png | Social Kit/banner-1200.png |
| Copied | press-release.pdf | press-release.pdf |
Screen 3 — Every file and folder shows up with its status and path. One click exports the whole thing to CSV.
Lessons I learned the hard way
This did not work on the first try. The connector I was building on turned out to be full of surprises. Here's what broke and what fixed it — so you skip the pain.
The app can't manage its own login here
My original login button worked standalone but died inside the Power Apps frame. Fix: drop the custom login entirely and run through the platform's SharePoint connector, as the signed-in user. Less code, better security.
Half the connector's operations are ghosts
Several tidy-looking operations (list folder, list root, create folder) returned "not implemented" at runtime. Fix: use only the operations that actually work — enumerate with the "get files" call, and copy with the copy calls. Verify, don't assume.
Files copy by ID, not by path
Passing a file's path to the copy call failed every time. Fix: grab each item's identifier from the listing and copy by ID. The same turned out to be true for folders.
The folder path hides in a different field
Subfolders vanished because I was reading the wrong path field — it only returned the library name. Fix: read the field that carries the full path, strip the library prefix, and rebuild each subfolder on the far side.
The connection ID is simpler than it looks
The tooling wants the plain connection GUID — no prefixes, no dashes added. My script was "helpfully" mangling it. Fix: use the ID exactly as listed, and auto-detect it if the first attempt misses.
What this project actually demonstrates
If you found this while sourcing talent, here's the honest read: this isn't a tutorial I copied. It's a net-new integration I designed, debugged, and shipped — a cross-site SharePoint folder copier that runs entirely as the signed-in user inside a Power Apps Code App, with a one-command, multi-tenant deploy.
More than the checklist: I take a vague, "this is annoyingly hard" problem and turn it into something that works, is documented, and a beginner can deploy quickly. That's the engineer I am.
Kerolos — Senior Infrastructure & Security Engineer. Open to conversations with teams building on the Microsoft stack.
Let's talk on LinkedIn → See the codeGrab the package
The app, the one-shot deploy script with every fix above baked in, and a beginner-friendly setup guide — all in the repo.
⬇️ Get it on GitHub 📖 More from Power of Automation
Happy Fourth of July!
Shipped with sparklers — thanks for reading, and go copy some folders. 🎇
© 2026 Kerolos · Built for beginners, tested in production.
Folder Copy
Copy a whole SharePoint folder — every file and subfolder — to anywhere in your tenant. In a few clicks.
Nested menus. "Copy to" panels.
Then you wait.
Source → Destination
Browse and pick
Drill through your libraries and folders — no URLs to memorize.
Any size, any depth
Powered by SharePoint's copy engine — with live progress the whole way.
Runs as you
Uses your own permissions — no app registration, no extra setup.
Win + Alt + R on Windows, Cmd + Shift + 5 on Mac).
Comments
Post a Comment