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.

Power of Automation · Build It With Me

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 — copy a SharePoint folder to another site
2SharePoint sites, bridged
1click for users to start
0sign-in screens
~10minutes to deploy

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.

🌉 In one line: Folder Bridge is a "Copy this folder over there" button for SharePoint — across sites, as yourself, with a receipt.
The idea

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.

Before you start

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).
⚠️ You don't need to be a developer. You run one script, sign in once, and click Allow the first time you open the app. No code.
The "aha" moment

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.

🔑 The permission model, simply: the copy runs as the signed-in user via their own SharePoint connection — least privilege, no elevated service account, no secrets in the browser.
The build

Deploy it in 5 steps

The whole thing is one script. Here's the friendly walk-through.

1

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.

2

Unzip the package & open a terminal

Extract the zip to a fresh folder and open PowerShell inside it.

cd C:\folder-bridge
3

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.

4

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.

5

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.

♻️ Deploying to a second tenant? Run the same script. If it finds an app already there, it doesn't overwrite it — it spins up a fresh one with a timestamped name. Paste the portal URL, sign in, done.
See it in action

The app, screen by screen

Here's exactly what you'll see. Three moments: set up the copy, watch it run, read the receipt.

apps.powerapps.com/play/folder-bridge
FB
Folder BridgeCopy a SharePoint folder to another site
🌙 Dark
Source
Site URL
https://contoso.sharepoint.com/sites/Marketing
Document library
Campaign Assets
Folder path (blank = whole library)
2026 Launch
Destination
Site URL
https://contoso.sharepoint.com/sites/Archive
Document library
Documents
Folder path (blank = library root)
Marketing 2026

Screen 1 — Paste a site URL and the library list loads on its own. Pick source and destination, then choose your options.

Copying…
Copying 76/118: q4-hero-final.png64%
✔ Copy completed successfully — 114 files copied, 4 folders created.

Screen 2 — A real percentage bar tracks every file, then a green banner confirms the result.

Report
StatusNamePath
Folder createdSocial KitSocial Kit
Copiedlaunch-plan.docxlaunch-plan.docx
Copiedbanner-1200.pngSocial Kit/banner-1200.png
Copiedpress-release.pdfpress-release.pdf

Screen 3 — Every file and folder shows up with its status and path. One click exports the whole thing to CSV.

The honest part

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.

Symptom · sign-in failed inside Power Apps

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.

Symptom · "not implemented" errors everywhere

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.

Symptom · "Source file not set"

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.

Symptom · files copied, but flattened

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.

Symptom · deploy 404'd on the connection

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.

A note for recruiters & hiring managers

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.

Power Platform & Code AppsReact/TypeScript app deployed via pac CLI, wired to live data through the SharePoint connector.
Reverse-engineering under ambiguityMapped an undocumented connector by reading failures — found which operations were real and how each wanted its input.
Identity & least privilegeNo secrets in the browser; every action runs as the user via their own delegated connection.
Zero-touch deliveryOne PowerShell script provisions identity, links data, builds, and publishes — and self-recovers on collisions across tenants.
Product senseLive progress, a clear completion message, a per-file report + CSV, dropdowns, and an accessible light/dark UI.
CommunicationDiagnosed layered failures, then wrote it all up so a beginner can ship it in ten minutes.

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 code
Get it

Grab 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. 🎇

Power of Automation · Power Platform & Azure Automation
© 2026 Kerolos · Built for beginners, tested in production.
Folder Copy — Promo
SharePoint utility

Folder Copy

Copy a whole SharePoint folder — every file and subfolder — to anywhere in your tenant. In a few clicks.

The old way

Nested menus. "Copy to" panels.
Then you wait.

copying…
02:41
still going…
One screen

Source Destination

Source folder
2026 Contracts
/Shared Documents/Legal
Destination
Archive 2026
/sites/Records/Documents
01

Browse and pick

Drill through your libraries and folders — no URLs to memorize.

02

Any size, any depth

Powered by SharePoint's copy engine — with live progress the whole way.

03

Runs as you

Uses your own permissions — no app registration, no extra setup.

Done
0 items copied
Copy SharePoint folders, the easy way.
Folder Copy
Self-hosted on SharePoint · Power of Automation
SharePoint utility
Power of Automation
0.0s / 0.0s
Tip: to export an MP4 for LinkedIn or your blog, screen-record the frame while it plays (e.g. Win + Alt + R on Windows, Cmd + Shift + 5 on Mac).

Comments

Popular posts from this blog

Bridging the Impossible: Connecting Jira On-Prem to Power Automate & Copilot Studio — The Solution Nobody Built Until Now"

How I Automated My Entire SharePoint Tenant with 150 MCP Tools and Claude Desktop

The Impossible Bridge II: One Server, Two AIs, Every SharePoint List I Built the SharePoint Integration Microsoft Hasn't The First SharePoint MCP That Talks to Copilot and Claude