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.