Lesson 2. Technical Specification (SOW)#
Goal: create a detailed technical specification for the project.
SOW Structure#
1. Project description
- agent name
- target audience
- problem and solution
2. Functional requirements
What the agent must be able to do (list of features).
Example (qualification bot):
- accept requests from leads (Telegram, web form)
- ask 6 questions in sequence
- validate answers (e.g., budget must be a number)
- determine lead "temperature" (cold / warm / hot) based on answers
- send data to CRM (Bitrix24, AmoCRM)
- send notification to sales rep (Telegram, email)
3. Use cases
Describe how users will interact with the agent.
Example:
Use Case 1: Lead fills out questionnaire
- Lead follows link to Telegram bot (from ad, website)
- Bot greets: "Hello! I'll help you find a car. Answer a few questions."
- Bot asks questions:
- "What's your budget? ($K)"
- "When do you plan to buy? (within a week / month / later)"
- "Ready to meet with a sales rep? (yes / no)"
- "What's your name?"
- "Phone number?"
- "Comment (if any)?"
- Lead answers questions
- Bot determines temperature:
- Hot: budget > $200K, purchase within a week, ready for meeting
- Warm: budget $100–200K, purchase within a month
- Cold: budget < $100K or purchase later
- Bot sends data to CRM (creates deal, sets temperature in field)
- Bot sends notification to sales rep (Telegram): "New lead: [Name], budget [X], temperature: [Hot]. Phone: [number]."
- Bot replies to lead: "Thank you! A sales rep will contact you within an hour."
4. Integrations
List of external services the agent will interact with.
Example:
- Telegram Bot API — for communicating with leads
- Bitrix24 API — for creating deals in CRM
- Google Sheets (optional) — for logging data
- OpenAI API (optional) — if free-text processing is needed (e.g., comments)
5. Logic and rules
Describe how the agent works.
Example (temperature determination):
IF (budget > 200000 AND purchase == "within a week" AND ready_for_meeting == "yes")
→ temperature = "Hot"
ELSE IF (budget >= 100000 AND purchase == "within a month")
→ temperature = "Warm"
ELSE
→ temperature = "Cold"
6. Data
What data the agent collects and stores.
Example:
| Field | Type | Required | Example |
|---|---|---|---|
| Name | text | yes | John Smith |
| Phone | text | yes | +1234567890 |
| Budget | number | yes | 2.5 ($K) |
| Purchase timeline | choice | yes | within a week |
| Readiness | choice | yes | yes / no |
| Comment | text | no | Interested in crossover |
| Temperature | choice | (auto) | Hot / Warm / Cold |
| Contact date | date | (auto) | 2026-02-03 10:15:00 |
7. Technical requirements
- platforms and tools
- performance (requests per minute)
- security (HTTPS, limited data access)
Example:
- Platform: Zapier (for chatbot/automation) or n8n (for more complex logic)
- Performance: up to 100 requests per hour (avg 2–3 per minute)
- Security: data transmitted via HTTPS, API keys stored in secret storage
8. Acceptance criteria
How to verify the agent works correctly.
Example:
- Bot responds to greeting (command
/start) - Bot asks all 6 questions in order
- Bot validates answers (budget is number, phone in correct format)
- Bot correctly determines temperature (hot / warm / cold)
- Data is sent to CRM (deal created with correct fields)
- Sales rep receives Telegram notification
- Lead receives confirmation ("A sales rep will contact you")
SOW Template#
# Technical Specification: [Agent Name]
## 1. Project Description
[Target audience, problem, solution]
## 2. Functional Requirements
[List of agent features]
## 3. Use Cases
[Use Case 1, Use Case 2, ...]
## 4. Integrations
[List of external services]
## 5. Logic and Rules
[Agent rules: conditions, formulas]
## 6. Data
[Table: data collected, types, required/optional]
## 7. Technical Requirements
[Platforms, performance, security]
## 8. Acceptance Criteria
[Checklist: how to verify the agent works]