Scopey
Scopey agent guide - generate Synthreo-format Statements of Work (SOWs) automatically using structured JSON and Word templates, triggered via form or Custom GPT.
Overview
Section titled “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.
Once the minimum required information is available, Scopey generates a full, structured SOW document and delivers it to the user via a downloadable Word file stored in Azure Blob Storage.
What Scopey Does
Section titled “What Scopey Does”Scopey takes a description of an AI solution and produces a fully formatted Statement of Work document. The SOW covers all standard sections including overview, objectives, scope, responsibilities, timeline, assumptions, and success criteria.
Scopey is designed to be generation-first. It does not conduct a lengthy interview or wait for perfect inputs. As soon as it has the minimum information it needs, it uses domain knowledge, standard Synthreo patterns, and documented assumptions to fill in any remaining sections.
Prerequisites
Section titled “Prerequisites”Before using Scopey, confirm the following:
- You have access to either the Scopey form interface or a Custom GPT that has the Scopey tool configured.
- Azure Blob Storage is configured in the Synthreo Builder environment and Scopey has write access to the target storage container.
- The SOW Word template (
.docx) is uploaded to the correct location in the Builder environment. This template defines the formatting, branding, and section structure for all generated documents. - If using the Custom GPT integration, the tool endpoint for Scopey is registered and the Custom GPT system prompt is configured appropriately.
Trigger Methods
Section titled “Trigger Methods”Scopey supports two trigger methods:
Form-Based Trigger
Section titled “Form-Based Trigger”The user fills out a form with the project details. Once submitted, Scopey evaluates the inputs and proceeds to generate the SOW. The completed document is returned to the user through the agent interface.
This method is suitable for:
- Pre-sales teams generating SOWs for new opportunities
- Account managers capturing project scope for a known client
- Internal teams documenting work for a defined engagement
Custom GPT Tool Integration
Section titled “Custom GPT Tool Integration”Scopey can be registered as a tool in a Custom GPT. In this mode, the Custom GPT collects information conversationally and then calls the Scopey tool when ready. Scopey receives the structured input, generates the SOW, uploads it to Azure Blob Storage, and returns the download URL to the Custom GPT for delivery to the user.
This method is suitable for:
- Interactive scoping sessions where the user and the GPT refine the project description together
- Scenarios where stricter input validation is needed before generation
- Teams that prefer a conversational interface over a static form
How the Agent Decides to Generate
Section titled “How the Agent Decides to Generate”Scopey evaluates incoming input against a minimum threshold before proceeding.
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, Scopey 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 - for example when no organization name and no solution description are present at all.
Enforcing Required Details in Custom GPT Scenarios
Section titled “Enforcing Required Details in Custom GPT Scenarios”By default, Scopey generates 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
Section titled “End-to-End Flow”The Scopey 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
Section titled “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.
SOW Sections Generated
Section titled “SOW Sections Generated”Scopey produces a complete Statement of Work containing the following sections:
- Overview - high-level description of the engagement and the AI solution being delivered
- Objectives - specific goals the solution is designed to achieve
- Scope - what is included and what is explicitly excluded from the engagement
- Responsibilities - what Synthreo delivers vs. what the client or MSP is responsible for
- Timeline - estimated phases and milestones
- Assumptions - conditions assumed to be true for the engagement to proceed as described
- Success Criteria - measurable indicators that define successful delivery
Updating the Word Template
Section titled “Updating the Word Template”The Word template defines how the final document looks. To update branding, formatting, or section layout:
- Modify the
.docxtemplate file to reflect the new design. The template uses Jinja-style placeholders that correspond to the SOW JSON fields. - Upload the updated template to the correct location in the Builder environment.
- Test Scopey with a sample input to confirm the new template renders correctly.
Updating the template does not require changes to the agent logic or the system prompt.
Troubleshooting
Section titled “Troubleshooting”Issue: The generated document is missing one or more sections.
Check:
- Review the SOW JSON in the validation step. If a required field is empty or missing, the section may be omitted from the rendered document.
- Confirm the Word template contains the correct placeholder for the missing section.
- If the input was minimal, Scopey may have noted the section as an assumption or left it for review. Check the Assumptions section of the generated document.
Issue: The document is not delivered or the Azure Blob URL is not returned.
Check:
- Confirm Azure Blob Storage is configured correctly in the Builder environment.
- Verify Scopey has write access to the target storage container.
- Check the agent run log for errors during the document upload step.
Issue: The Custom GPT is calling Scopey too early before all inputs are collected.
Check:
- Review the Custom GPT system prompt. Add explicit instructions requiring the GPT to collect all necessary fields (organization name, solution description, and any additional required sections) before invoking the Scopey tool.
- The validation logic resides in the Custom GPT’s system prompt, not in Scopey itself.
Issue: The generated document does not match the expected branding or formatting.
Check:
- Confirm the correct Word template is loaded in the Builder environment.
- Review the template file for broken placeholders or formatting issues introduced during a previous edit.
Q: Can Scopey generate SOWs for non-Synthreo engagements?
A: Scopey is designed to generate Synthreo-format SOWs. The Word template and SOW structure reflect Synthreo’s standard engagement format. If a different format is needed, the Word template would need to be updated to match the alternative structure.
Q: Can the same Scopey agent use multiple templates?
A: The agent is configured with a single active template at a time. To support multiple templates, separate Scopey agent instances would be configured, each pointed at a different template file.
Q: What happens if Scopey receives very minimal input?
A: Scopey uses domain knowledge and standard Synthreo engagement patterns to fill in sections where input is missing. It documents what it has assumed in the Assumptions section. The user can then review and revise the document before finalizing.
Q: Where is the generated document stored?
A: The generated .docx file is uploaded to Azure Blob Storage. In Form Agent mode, the document is returned directly to the user through the agent interface. In Tool Agent mode, the Azure Blob URL is returned to the calling Custom GPT for delivery.