Sales Automation
sales enablement
How to Automate New Rep Onboarding Materials
Generate personalized onboarding content for new sales reps using AI.
Jay Banlasan
The AI Systems Guy
This system automates sales rep onboarding materials by generating personalized learning paths based on each new hire's role and background.
What You Need Before Starting
- Python 3.8+
- CRM API access
- pandas installed
- SMTP or Slack for notifications
Step 1: Build Your Knowledge Base
Collect and organize data for onboarding.
import sqlite3
import json
def init_onboarding_db():
conn = sqlite3.connect("onboarding.db")
conn.execute("""CREATE TABLE IF NOT EXISTS onboarding_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 onboarding content.
import anthropic
def generate_onboarding(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 onboarding 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 onboarding_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 onboarding_items ORDER BY effectiveness_score DESC LIMIT ?", (limit,)).fetchall()
What to Build Next
Add knowledge checks. Quiz new reps and flag gaps for their manager.
Related Reading
- Creating an Automated Onboarding Sequence - automated onboarding sequence
- Building Automated Client Onboarding Emails - automated client onboarding emails guide
- AI in Training and Onboarding - ai training onboarding automation
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