A Microsoft Word Task Pane Add-in by Uninova B.V. that automatically replaces {{ID}} placeholders throughout a Word document with the document's SharePoint Document ID.
- Retrieves the document ID from SharePoint Online via REST API
- Falls back to custom XML metadata embedded in the document when SharePoint is unavailable
- Replaces
{{ID}}placeholders in:- Document body (paragraphs)
- Shapes and text boxes
- Primary headers (all sections)
- Primary footers (all sections)
- Displays real-time status and a count of replacements made
- Hosted on GitHub Pages — no server setup needed for end users
- The user opens a Word document and clicks DocuTagger in the Home ribbon.
- The add-in attempts to resolve the document ID in order:
- SharePoint Online — if the document URL contains
sharepoint.com, it calls_api/web/GetFileByServerRelativeUrl()and reads theOData__dlc_DocIdfield. - Custom XML fallback — searches the document's embedded custom XML parts for a
_dlc_DocIdvalue.
- SharePoint Online — if the document URL contains
- Once the ID is resolved, the add-in uses the Word JavaScript API to find every
{{ID}}occurrence and replaces it with the actual document ID. - Status is shown directly in the task pane.
- Microsoft Word (desktop or online)
- A SharePoint Online site (for automatic ID retrieval) or a Word document with a
_dlc_DocIdcustom XML part - To sideload the add-in: admin access or the ability to upload a custom manifest in your Microsoft 365 tenant
Sideload the add-in by uploading manifest.xml to your Word environment:
Word Desktop (Windows/Mac):
- Go to Insert → Add-ins → My Add-ins → Upload My Add-in
- Browse to
manifest.xmland click Upload - The DocuTagger button appears in the Home tab ribbon
SharePoint App Catalog (organization-wide):
- Upload
manifest.xmlto your tenant's SharePoint App Catalog - The add-in will be available to all users in the organization
Once loaded, open any Word document containing {{ID}} placeholders and click the DocuTagger button.
npm install --global http-server
npm install --global office-addin-dev-certs
npx office-addin-dev-certs installnpm run dev-serverOr serve the src/ directory directly:
http-server src/ --cors -p 3000Update the SourceLocation URL in manifest.xml to point to your local server (e.g., https://localhost:3000/taskpane.html), then sideload the manifest as described above.
npm run build:dev # development build
npm run build # production buildnpm run watchnpm run lint # check for issues
npm run lint:fix # auto-fix issuesUse the launch configurations in .vscode/launch.json to debug against Word Desktop (Edge Chromium, port 9229).
The add-in is hosted on GitHub Pages at:
https://justsparknl.github.io/DocuTagger/src/taskpane.html
Pushing to the master branch updates the hosted add-in automatically. End users do not need to re-sideload after updates — the task pane always loads the latest version from GitHub Pages.
DocuTagger/
├── src/
│ ├── taskpane.html # Task pane UI and all add-in logic (single-file app)
│ ├── taskpane.css # Task pane styles (Fluent UI)
│ ├── visiedosis_logo.png # Add-in icon
│ └── visiedosis.png # Branding image
├── manifest.xml # Office Add-in manifest (ID, URLs, permissions)
├── .vscode/
│ ├── launch.json # Word Desktop debug configurations
│ ├── tasks.json # npm build/debug tasks
│ └── settings.json # ESLint settings
├── LICENSE # Apache License 2.0
└── README.md
Key fields in manifest.xml:
| Field | Value |
|---|---|
| Add-in ID | d6776528-5e24-45c6-884e-92d17858b3ab |
| Version | 1.0.0.1 |
| Provider | Uninova B.V. |
| Default locale | nl-NL (Dutch) |
| Hosted URL | https://justsparknl.github.io/DocuTagger/src/taskpane.html |
| Permissions | ReadWriteDocument |
| Support URL | https://www.uninova.nl/ |
To point the add-in at a different host, update the SourceLocation and Taskpane.Url entries in manifest.xml.
Licensed under the Apache License 2.0.