{"id":"workspaces","type":"module","title":"Workspaces (Outbound Bid Cockpit)","status":"ga","audience":["bid-manager","consultant","signatory","issuer-author"],"scope":"both","tier_min":"basic","aliases":["4","bid-cockpit"],"summary":"One persistent cockpit that carries a single opportunity from \"we should bid\" to a submitted EOI: requirements, a searchable data room, AI document generation, meeting capture and issuer outreach.","keywords":["workspace","bid","eoi","data-room","checklist","recordings","outreach","onlyoffice","timeline"],"body":{"what_it_is":"Klarum's **outbound bid/proposal cockpit**: one persistent place where a firm\ndevelops a single procurement opportunity from \"we should bid on this\" to a\nsubmitted Expression of Interest (EOI). The richest module, a tabbed\nworkspace fusing requirement tracking, a searchable document data room, AI\ndocument generation, meeting transcription, and issuer outreach, all\nfirm-scoped and role-gated. Each workspace carries lifecycle state\n(`selected` to `in_progress` to `under_review` to `submitted | lost`),\nurgency, deadline, a bid manager + team, a completeness score, and optional\nlinks to a canonical tender and an issuer. The detail view exposes **seven\ntabs**: Overview, Items (Checklist), Data room, Documents, Generated EOI,\nRecordings, Conversation.\n","what_it_helps_users_do":"Run a whole bid in one place; know what the tender requires (auto-extracted\ninto a checklist); assemble and search a per-bid data room (drag in\nPDFs/DOCX from disk, Drive, or SharePoint, everything parsed, chunked,\nembedded, searchable); generate a submission-ready EOI drafted from real\nreference projects; capture and mine meetings (transcript, summary, action\nitems, speaker counts to checklist tasks); reach out to the issuer\n(AI-drafted email with gap analysis, one-click send via Gmail/Outlook); and\nsee the whole pipeline (list grouped by stage + a drag-to-reschedule timeline\ncanvas).\n"},"engines":[],"integrations":[{"id":"onlyoffice-document-server","type":"integration","title":"OnlyOffice Document Server","summary":"Rich-document editing and inline viewing of the generated EOI, with JWT-gated callbacks.","category":"editor"},{"id":"gotenberg-libreoffice","type":"integration","title":"Gotenberg and LibreOffice","summary":"DOCX to PDF conversion for generated documents, with LibreOffice as the fallback path.","category":"rendering"},{"id":"aws-transcribe","type":"integration","title":"AWS Transcribe and S3","summary":"Speech-to-text with diarization for up to 10 speakers and automatic language identification across nine languages.","category":"speech"},{"id":"aws-s3-workspace","type":"integration","title":"Amazon S3","summary":"Object storage for workspace attachments and generated documents.","category":"storage"},{"id":"word-agent-sidecar","type":"integration","title":"word-agent sidecar","summary":"In-editor AI selection rewrite, streamed over SSE from the sidecar on port 8095.","category":"ai-sidecar"}],"capabilities":[{"id":"workspace-tab-overview","type":"capability","title":"Overview tab","summary":"At-a-glance command panel: urgency banner, tender facts, activity feed, editable notes, team, issuer context, embedded checklist mirror, timeline canvas and automations panel.","status":"ga","scope":null,"keywords":["overview","activity","notes","team"],"body":{"what_it_is":"At-a-glance command panel: urgency banner, Tender facts panel, Activity\nfeed, editable Notes\n(sync-conflict-resolved, persisted on edit),\nTeam panel, Issuer context, embedded checklist mirror, embedded Timeline\ncanvas, Automations panel. It folds in the former standalone Timeline and\nWorkflow tabs.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-items","type":"capability","title":"Items (Checklist) tab","summary":"The workspace-scoped twin of the global Items inbox. Nothing writes directly: every origin stages an item_proposal, deduped by normalised title, promoted on accept.","status":"ga","scope":null,"keywords":["checklist","proposals","dedupe","extract-from-tender"],"body":{"what_it_is":"The workspace's requirement/task checklist (`substrate-checklist.tsx`), a\nworkspace-scoped twin of the global Items inbox. Create items inline;\n**\"extract from tender\"** auto-suggests requirement items; **apply an\nitems template** (issuer-matched ranked first, then firm defaults); save\ncurrent items as a template.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-requirements","type":"capability","title":"Requirements tab (conditional)","summary":"A split view of the tender's extracted requires_* claims against the verbatim evidence spans in the source text. One reusable panel: the issuer authors, the supplier reads read-only.","status":"ga","scope":"both","keywords":["requirements","claims","evidence","dual-purpose"],"body":{"what_it_is":"A split view of the tender's extracted `requires_*` claims (left) against\nthe verbatim evidence spans in the source text (right). Conditional:\nshown only when the workspace has a linked `tender_id`.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-source","type":"capability","title":"Source tab (conditional)","summary":"The tender notice as the buyer published it, fetched once per tender, sanitised server-side and rendered in a sandboxed frame - with the live page always one click away.","status":"ga","scope":"both","keywords":["notice","source-page","provenance","sandboxed","ted"],"body":{"what_it_is":"The buyer's own notice, inside the workspace. Conditional: shown only\nwhen the workspace has a linked `tender_id`, and placed directly after\nRequirements so an extracted claim can be checked against the source\nwording without leaving the app.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-notebook","type":"capability","title":"Notebook tab","summary":"The workspace's quantitative surface: an ordered chain of model, assistant, transform and document cells that pipe into each other, every run recorded and every figure citable.","status":"ga","scope":null,"keywords":["notebook","cells","piping","model-runs","citations","exports"],"body":{"what_it_is":"The workspace's quantitative surface, composed rather than fired one\nmodel at a time. A workspace holds several **notebooks** (an accordion -\npricing, compliance and capacity are separate arguments), each an\nordered list of **cells**. Four kinds: **model** runs a registered model\nfrom the `model_defs` registry on inputs grounded from the tender;\n**assistant** asks Klara to read this tender and answer against a\ndeclared output contract, so the answer is typed data rather than prose;\n**transform** is arithmetic between cells with no model and no language\nmodel; **document** renders the chain into a deliverable (declared, not\nyet runnable).\n","what_it_helps_users_do":null}},{"id":"workspace-tab-data-room","type":"capability","title":"Data room tab","summary":"Per-bid document repository plus collaboration substrate with Files, References, Decisions and Q&A sub-tabs, over semantic search of org knowledge.","status":"ga","scope":null,"keywords":["data-room","references","decisions","qa"],"body":{"what_it_is":"Per-bid document repository + collaboration substrate, sub-tabs **Files /\nReferences / Decisions / Q&A**. Decisions and Q&A give an auditable bid\nmemory.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-documents","type":"capability","title":"Documents tab","summary":"Disk-first attachments manager plus the freeform workspace brief the agent system prompt reads verbatim, capped at 8000 characters.","status":"ga","scope":null,"keywords":["attachments","brief","s3","chunking"],"body":{"what_it_is":"Disk-first attachments manager + workspace brief. Edit the freeform\n**Workspace brief** (up to 8000 chars, read verbatim by the agent system\nprompt); drag-drop upload (PDF/DOCX/txt/md/csv up to 100 MB) or import\nfrom Drive/SharePoint; per-file parse status; download the data room as a\n`.zip`.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-generated-eoi","type":"capability","title":"Generated EOI tab","summary":"One-click generation of a world_bank_v1-templated EOI from org references and tender context, with per-section RAG, docxtpl assembly and PDF conversion.","status":"ga","scope":null,"keywords":["eoi","rag","docxtpl","gotenberg","streaming"],"body":{"what_it_is":"AI generation of the actual Expression of Interest. One-click\n**Generate** a `world_bank_v1`-templated EOI from firm references +\ntender context; view inline (OnlyOffice viewer); open the multi-section\nparallel-drafting editor; \"Open in Word\" / download `.docx`; promote as a\nreusable org template.\n","what_it_helps_users_do":null}},{"id":"workspace-tab-recordings","type":"capability","title":"Recordings tab","summary":"Meeting capture, transcription and AI summarisation, with a three-pane viewer and a one-click conversion of action items into workspace items.","status":"ga","scope":null,"keywords":["transcribe","diarization","summary","action-items"],"body":{"what_it_is":"Meeting capture, transcription, AI summarisation. Upload audio/video or\nrecord in-browser; list with status, speaker count, tags, summary; 3-pane\nviewer (player, editable transcript, AI analysis).\n","what_it_helps_users_do":null}},{"id":"workspace-tab-conversation","type":"capability","title":"Conversation tab","summary":"AI-assisted issuer outreach in two columns: a deterministic gap analysis of filled versus required EOI fields, and a tone-selectable AI-drafted email.","status":"ga","scope":null,"keywords":["outreach","gap-analysis","email","tone"],"body":{"what_it_is":"AI-assisted issuer outreach, two columns - Gap Analysis (Have / Missing +\nissuer contact email) and Draft (tone-selectable Formal/Neutral/Casual\nAI-drafted email, autosave, Send via the org's primary connector: a true\nsend via Outlook, or a Gmail *draft*).\n","what_it_helps_users_do":null}},{"id":"workspace-completeness","type":"capability","title":"Completeness and lifecycle","summary":"Every workspace carries a lifecycle stage, urgency, deadline, bid manager, team and a completeness score, which is what the list groups and the analytics funnel measures.","status":"ga","scope":null,"keywords":["lifecycle","completeness","urgency"],"body":{"what_it_is":"Each workspace carries lifecycle state (`selected` to `in_progress` to\n`under_review` to `submitted | lost`), urgency, deadline, a bid manager +\nteam, a completeness score, and optional links to a canonical tender and\nan issuer. The bid's **result** is a separate field from its stage: a\ncaptured win / loss / undecided outcome, which also mirrors to the\nlinked record. A loss additionally moves the stage to `lost`; a win has\nno corresponding stage, so the stage is left alone and only the outcome\nrecords it.\n","what_it_helps_users_do":null}}]}