Scopey
Overview
Scopey is the document-generation agent used to produce Synthreo-format Statements of Work (SOWs). It can be triggered either through a form-based interface or as a tool from a Custom GPT, and is designed to generate complete SOW documents quickly using structured JSON and Word templates.
How the Agent Decides to Generate
Scopey is designed to be generation-first, not interview-driven.
Once input is received (either from a form submission or a tool call), the agent evaluates whether it has the minimum information required to proceed.
The agent will immediately generate a full SOW when both of the following are true:
- At least one organization name is known (MSP or customer)
- There is any description of what the AI solution should do, even a short or high-level one
This is intentionally a low bar. When the minimum is met, the agent does not wait for perfect inputs and does not attempt to collect every section interactively. Instead, it uses domain knowledge, standard Synthreo patterns, and documented assumptions to fill in the remaining sections.
The agent only pauses for clarification when it is genuinely blocked from proceeding.
Enforcing Required Details in Custom GPT Scenarios
By default, Scopey is designed to generate a complete SOW as soon as the minimum required information is available. This favors speed and reduces unnecessary back-and-forth.
For Custom GPT tool integrations, this behavior can be tightened if stricter control is needed.
If a user wants to ensure that all sections or specific details are explicitly provided before generation, this should be enforced in the Custom GPT’s system prompt, not in Scopey itself.
In these scenarios:
- The Custom GPT is responsible for collecting all required inputs upfront.
- The Custom GPT should block tool invocation until the required sections are present.
- Scopey then operates purely as a generation and document-production engine, rather than a discovery agent.
This approach allows teams to:
- enforce stricter completeness rules for certain templates,
- require full detail for complex or regulated projects, and
- maintain flexibility without changing Scopey’s core logic.
Scopey’s internal pipeline remains unchanged. The difference is entirely driven by how the Custom GPT is instructed to gather and validate inputs before calling the tool.
End-to-End Flow Overview
The Scopey Tool Agent follows a structured pipeline regardless of how it is triggered.
-
Input Received
Input is received either from a form submission or as a tool call from a Custom GPT. -
SOW JSON Generation
The LLM generates a complete SOW in structured JSON format based on the provided context and Synthreo best practices. -
Readiness Evaluation
A readiness check evaluates the LLM output and determines whether the agent can proceed to generation or needs to gather more information. -
Validation
If the agent is ready, the SOW JSON is validated to ensure required fields, correct structures, and template compatibility. -
Document Generation
The validated JSON is rendered into a Word document using the configured SOW template. -
Delivery
The generated document is uploaded to Azure Blob Storage.- In Tool Agent mode, the Azure Blob URL is returned to the calling Custom GPT.
- In Form Agent mode, the document is returned to the user through the agent interface.
Document Generation and Templates
Once the SOW JSON has been validated, Scopey generates the final document using a Python-based document rendering step.
This step uses docxtpl, a Python library that renders Word documents from structured data by applying a Jinja-style template to a .docx file.
In this stage:
- The validated SOW JSON is converted into a template context.
- A predefined Word template is loaded.
- Each section of the SOW (overview, objectives, scope, responsibilities, timeline, assumptions, success criteria) is rendered into the document.
- The final
.docxfile is generated and saved.
The Word template acts as the source of truth for document structure and formatting, while the JSON defines the content. This separation allows teams to:
- update formatting or branding without changing agent logic,
- reuse the same agent across different SOW templates, and
- enforce consistency across generated documents.
After generation, the document is uploaded to Azure Blob Storage and made available to the user.