Case studyFeatured
Project Status Excel Add-in
Office add-in that pulls utilisation and schedule data from Dialogue Time directly into Excel. One click replaces manual exports and keeps the project status workbook current.
Full-stackIntegrationInternal toolsOffice 365
Office.jsNode.jsExpressAzure AD / MSALDockerApache
Client
Dialogue One A/S
Industry
Consulting / Internal tools
Role
Full-stack developer
Timeframe
2021
Location
Copenhagen, Denmark
Published
Sep 1, 2021
Context
Analysts exported data from Dialogue Time and imported it into a macro workbook to generate project status reports. This manual process was slow, error-prone, and broke whenever the source data changed. We needed a way to pull live data directly into Excel without leaving the workbook.
Approach
- Office add-in with SSO: Built on the Office Add-in Node.js SSO template. Users authenticate once via Azure AD, and the add-in handles token exchange silently.
- MSAL on-behalf-of flow: The backend validates Office JWT tokens, exchanges them for Graph and Dialogue Time API tokens, then fetches hours and schedule data.
- Excel automation: Office.js writes data directly into "Report" and "Schedule" worksheets, mapping API fields to the existing workbook structure.
- Containerised backend: Node/Express service deployed via Docker, fronted by Apache with SSL.
Highlights
- Single-click data refresh replaces multi-step export/import workflow.
- SSO means no extra login prompts. Users stay authenticated via Office.
- Field mapping preserves compatibility with existing macros and formulas.
- Deployed as a registered 365 Integrated App for organisation-wide access.
Impact
- Eliminated manual export/import steps entirely.
- Reduced report latency from hours to seconds.
- Fewer errors from automated field mapping and direct data insertion.
- Higher adoption because it works inside the tools analysts already use.