Sales Automation
sales enablement
How to Build an AI Sales Training Content Generator
Generate role-play scenarios and training content from real deal data.
Jay Banlasan
The AI Systems Guy
This ai sales training content generator creates role-play scenarios and quizzes from real deal data. Training based on your actual wins and losses, not generic scripts.
What You Need Before Starting
- Python 3.8+
- Claude or GPT API key
- CRM with deal history
- LMS or document storage
Step 1: Build Your Knowledge Base
Collect and organize data for training.
import sqlite3
import json
def init_training_db():
conn = sqlite3.connect("training.db")
conn.execute("""CREATE TABLE IF NOT EXISTS training_items (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT, content TEXT, category TEXT,
effectiveness_score REAL DEFAULT 0,
created_at TEXT, updated_at TEXT
)""")
conn.commit()
return conn
Step 2: Collect Source Data
Pull data from your CRM, call recordings, and deal notes.
def gather_source_data(crm_client, date_range="last_90_days"):
deals = crm_client.get_deals(date_range=date_range, include=["notes", "activities"])
sources = []
for deal in deals:
sources.append({
"deal_name": deal["name"],
"outcome": deal["status"],
"notes": deal.get("notes", ""),
"activities": deal.get("activities", []),
})
return sources
Step 3: Generate with AI
Use Claude to synthesize data into actionable training content.
import anthropic
def generate_training(source_data):
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-20250514", max_tokens=2000,
messages=[{"role": "user",
"content": f"Analyze this sales data and generate training content.\n\n{json.dumps(source_data[:20], indent=2)}"}])
return message.content[0].text
Step 4: Distribute to Team
Push updates to your sales team via Slack or email.
import requests
def distribute_update(content, slack_webhook, team_emails):
requests.post(slack_webhook, json={"text": f"New update:\n{content[:500]}"})
for email in team_emails:
send_email(email, "Sales Enablement Update", content)
Step 5: Track Effectiveness
Measure which content actually helps close deals.
def track_effectiveness(conn, item_id, deal_outcome):
if deal_outcome == "won":
conn.execute("UPDATE training_items SET effectiveness_score = effectiveness_score + 1 WHERE id = ?", (item_id,))
conn.commit()
def get_top_performers(conn, limit=10):
return conn.execute("SELECT title, effectiveness_score FROM training_items ORDER BY effectiveness_score DESC LIMIT ?", (limit,)).fetchall()
What to Build Next
Track which training scenarios improve rep performance the most.
Related Reading
- Building an AI Content Brief Generator - ai content brief generator guide
- AI in Training and Onboarding - ai training onboarding automation
- AI in Education and Training Businesses - ai education training business
Want this system built for your business?
Get a free assessment. We will map every system your business needs and show you the ROI.
Get Your Free Assessment