Systems Library / Sales Automation / How to Automate New Rep Onboarding Materials
Sales Automation sales enablement

How to Automate New Rep Onboarding Materials

Generate personalized onboarding content for new sales reps using AI.

Jay Banlasan

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

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

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

Related Systems