Alex Sales Assistant - Full Scaffold

By Sean Weldon

Atlas Development Log — Alex Sales Assistant Scaffold

Overview

Reviewed an architecture plan for "Alex" - an AI sales co-pilot - and provided architectural suggestions before scaffolding the complete implementation. Created a production-ready structure with CRM abstraction, multi-tool orchestration, voice-matched email drafting, and both Slack bot and webhook entry points.


1. Objectives

Success looks like: A runnable sales assistant scaffold that can be tested in CLI mode and deployed to Slack, with clear extension points for CRM integrations and customization.


2. Key Developments

Technical Progress:

System / Agent Improvements:

Integrations Added:


3. Design Decisions

Orchestration Layer

CRM Abstraction

Voice Matching Structure

Mock CRM for Development


4. Challenges & Solutions

LinkedIn Data Access

Configuration Consistency


5. Code Changes

File Change
agency/agents/sales-assistant/agent/__init__.py Package exports
agency/agents/sales-assistant/agent/alex.py Main Slack interface with command parsing
agency/agents/sales-assistant/agent/orchestrator.py Multi-tool workflow coordination
agency/agents/sales-assistant/agent/memory.py Conversation context persistence
agency/agents/sales-assistant/agent/config.py YAML config loader with lazy init
agency/agents/sales-assistant/agent/prompts.py LLM system prompts for each capability
agency/agents/sales-assistant/tools/__init__.py Tool exports
agency/agents/sales-assistant/tools/analyzer.py Lead scoring and briefing generation
agency/agents/sales-assistant/tools/strategist.py Deal analysis and recommendations
agency/agents/sales-assistant/tools/drafter.py Voice-matched email generation
agency/agents/sales-assistant/tools/scheduler.py Calendar integration and time finding
agency/agents/sales-assistant/tools/researcher.py Company/contact enrichment
agency/agents/sales-assistant/tools/crm/base.py Abstract CRM interface
agency/agents/sales-assistant/tools/crm/hubspot.py HubSpot API v3 adapter
agency/agents/sales-assistant/tools/crm/mock.py Development mock with sample data
agency/agents/sales-assistant/config/pipeline.yaml LLM and pipeline settings
agency/agents/sales-assistant/config/scoring.yaml Lead scoring criteria and weights
agency/agents/sales-assistant/config/strategies.yaml Sales playbook and objection handling
agency/agents/sales-assistant/config/calendar.yaml Scheduling preferences
agency/agents/sales-assistant/templates/your_voice/* Voice matching configuration
agency/agents/sales-assistant/templates/email_templates/* 5 email template types
agency/agents/sales-assistant/main.py Slack bot + CLI entry point
agency/agents/sales-assistant/webhooks.py FastAPI webhook receiver
agency/agents/sales-assistant/requirements.txt Python dependencies
agency/agents/sales-assistant/README.md Documentation
agency/agents/sales-assistant/.env.example Environment template
agency/agents/sales-assistant/.gitignore Git ignores

6. Next Steps


7. Session Notes

The scaffold follows patterns from youtube_scout (YAML config, pipeline stages, Anthropic LLM) while adding new patterns appropriate for an interactive agent:

Build order recommendation: Drafter (highest immediate value) → Strategist → Researcher → Analyzer → Scheduler (save calendar APIs for last, they're fiddly).