Skip to main content

Excel Task Pane Guide

The Konsolidat task pane is an Office.js add-in that provides pipeline orchestration directly from Excel — login, monitor sync status, and trigger data refreshes without leaving your workbook.

Overview

The task pane appears as a sidebar panel in Excel, connected to your Frappe/Konsol server. It lets you:

  • Log in with Frappe credentials
  • View the latest pipeline run status (Queued, Extracting, Transforming, Success, Failed)
  • Trigger a new pipeline run (Airbyte sync + dbt build)
  • Monitor progress with auto-polling

Installation

Sideloading for Development

  1. Locate excel-addin/manifest.xml in the Konsolidat repository
  2. In Excel: Insert → My Add-ins → Upload My Add-in
  3. Select the manifest file
  4. The "Konsolidat" button appears on the Home tab

Manifest Details

PropertyValue
Add-in IDa1b2c3d4-e5f6-7890-abcd-ef1234567890
Version1.1.0.0
TypeTaskPaneApp
Source URLhttp://localhost:8069/assets/konsol/excel-addin/index.html
PermissionReadWriteDocument

The task pane assets are served from Frappe's static assets directory.

Production Deployment

For production, update manifest.xml:

  1. Change the source URL to your production Frappe server
  2. Add your production domain to AppDomains
  3. Deploy via Microsoft 365 Admin Center or SharePoint App Catalog

Using the Task Pane

Login

  1. Click "Konsolidat" on the Home ribbon tab
  2. Enter your Frappe email and password
  3. Click Login

The task pane uses Frappe's session authentication (same credentials as Frappe Desk).

View Pipeline Status

After login, the status card shows the latest Pipeline Run:

  • Status: Queued, Extracting, Transforming, Success, or Failed
  • Created: Timestamp of the run
  • Rows Synced: Number of records from Airbyte
  • dbt Result: Build outcome (pass/fail)

Trigger a Pipeline Run

Click Trigger Pipeline to start a new run. This:

  1. Creates a Pipeline Run record in Frappe
  2. Triggers Airbyte sync (D365 → ClickHouse)
  3. Runs dbt build after sync completes
  4. Updates the status card

The task pane auto-polls every 5 seconds while the pipeline is running (status = Queued, Extracting, or Transforming).

Logout

Click the Logout button to end your Frappe session.

Architecture

sequenceDiagram
participant User
participant TaskPane as Task Pane (Office.js)
participant Frappe as Frappe / Konsol

User->>TaskPane: Click "Konsolidat"
TaskPane->>Frappe: GET /api/method/frappe.auth.get_logged_user
alt Not logged in
TaskPane->>User: Show login form
User->>TaskPane: Enter credentials
TaskPane->>Frappe: POST /api/method/login
end
TaskPane->>Frappe: GET /api/resource/Pipeline Run?limit=1&order_by=creation desc
Frappe-->>TaskPane: Latest run status
User->>TaskPane: Click "Trigger Pipeline"
TaskPane->>Frappe: POST /api/method/konsol.pipeline...trigger_pipeline
loop While status in [Queued, Extracting, Transforming]
TaskPane->>Frappe: GET /api/resource/Pipeline Run (poll every 5s)
end
Frappe-->>TaskPane: Final status (Success/Failed)

API Endpoints Used

MethodEndpointPurpose
POST/api/method/loginAuthenticate
GET/api/method/frappe.auth.get_logged_userCheck session
POST/api/method/logoutEnd session
GET/api/resource/Pipeline RunFetch latest run status
POST/api/method/konsol.pipeline.doctype.pipeline_run.pipeline_run.trigger_pipelineStart new run

Troubleshooting

SymptomCauseFix
Task pane is blankFrappe not running at manifest URLStart Frappe on http://localhost:8069
Login failsWrong credentials or CORS issueCheck credentials; verify browser console for errors
"Trigger Pipeline" no responsePipeline Run doctype missingRun bench migrate
Status stuck on "Queued"Background workers not runningEnsure bench start includes the worker process
Task pane not appearing in ribbonManifest not loadedRe-sideload the manifest via Insert → My Add-ins

Relationship to the VBA Module and Custom Functions

The same add-in declares a shared runtime (SharedRuntime requirement in manifest.xml), so one long-lived browser runtime hosts both the task pane and the =K.* custom functions. The session cookie established when you sign in through the task pane is therefore visible to the =K.EPM() family of functions — they call Frappe with credentials: "include" and reuse that same cookie. (The legacy VBA module is a separate path that maintains its own XMLHTTP session.)

FeatureVBA ModuleAdd-in (Task Pane + =K.* Functions)
Query financial dataYes (=EPM() formulas)Yes (=K.EPM() / =K.EPM_BUDGET / =K.EPM_VARIANCE / =K.EPM_DEBIT / =K.EPM_CREDIT)
Write back valuesYes (=EPM() save flow)Yes (=K.EPMSAVE())
Refresh valuesYes, manual (Ctrl+Shift+R)Yes, auto-recalculating (live fetch, no manual refresh)
Trigger pipelineNoYes (task pane)
Monitor sync statusNoYes (task pane)
Login requiredYes (EPM_Login)Yes — sign in once in the task pane; the shared cookie then authenticates the functions
SessionSeparate (XMLHTTP cookies)Shared cookie across task pane and =K.* functions (shared runtime)

Because the =K.* custom functions depend on the cookie set at task-pane login, sign in through the task pane first; the functions return a "Not logged in" error (HTTP 401/403) until you do.

Use the task pane to trigger and monitor data refreshes, and the =K.* custom functions (or the legacy VBA =EPM() formulas) to query and write back the results.

Next Steps