Onboarding Manager

A custom Frappe/ERPNext application for managing customer onboarding and support with automated workflows, SLA tracking, and performance dashboards.

Install Onboarding Manager

bench get-app https://github.com/m-abu-1/onboarding_manager

Add the Frappe Gems badge to your README

Maintain Onboarding Manager? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=m-abu-1%2Fonboarding_manager)](https://frappegems.com/gems/apps/m-abu-1/onboarding_manager)

About Onboarding Manager

Onboarding Manager

A custom Frappe/ERPNext application for managing customer onboarding and support with automated workflows, SLA tracking, and performance dashboards.

🚀 Features

  • Customer Onboarding Management

    • 6-stage onboarding workflow (New Lead → Go-Live)
    • Automated health score calculation (Green/Yellow/Red)
    • Checklist-based progress tracking
    • Workload-balanced consultant assignment
  • Support Ticket System

    • Priority-based SLA tracking (Critical/High/Medium/Low)
    • Automatic escalation at 80% SLA threshold
    • Resolution time tracking
    • Customer satisfaction ratings
  • Consultant Performance

    • Monthly performance metrics
    • Automated rating calculation
    • SLA compliance tracking
    • Weekly/monthly reports
  • Dashboards

    • Executive summary with KPIs
    • Onboarding funnel visualization
    • Ticket volume and SLA trends
    • At-risk customer alerts

📦 Installation

For Frappe Cloud

  1. Push this app to a GitHub repository
  2. In Frappe Cloud, go to your site → Apps → Add App
  3. Enter your GitHub repository URL
  4. Install and migrate

For Local Development

# Navigate to your bench directory
cd frappe-bench

# Get the app from GitHub
bench get-app https://github.com/YOUR_USERNAME/onboarding_manager.git

# Install on your site
bench --site YOUR_SITE install-app onboarding_manager

# Run migrations
bench --site YOUR_SITE migrate

🎯 Quick Start

1. Generate Mock Data

bench --site YOUR_SITE execute onboarding_manager.commands.generate_mock_data.run

This creates: - 5 Consultant users - 30 Customer records - 30 Customer Onboarding records (across all stages) - 50 Support Tickets (with varied priorities/statuses) - Performance records for each consultant

2. Access the App

Navigate to: https://YOUR_SITE/app/onboarding

3. Key DocTypes

DocType URL Path
Customer Onboarding /app/customer-onboarding
Support Ticket /app/support-ticket
Consultant Performance /app/consultant-performance

📊 API Endpoints

# Executive Summary
frappe.call("onboarding_manager.api.dashboard_data.get_executive_summary")

# Onboarding Funnel
frappe.call("onboarding_manager.api.dashboard_data.get_onboarding_funnel_data")

# At-Risk Customers
frappe.call("onboarding_manager.api.dashboard_data.get_at_risk_customers")

# Ticket Metrics
frappe.call("onboarding_manager.onboarding_manager.doctype.support_ticket.support_ticket.get_ticket_metrics")

🔐 Roles

Role Permissions
System Manager Full access to all DocTypes
Onboarding Manager Full access, can approve Go-Live
Onboarding Consultant Create/edit assigned records only

⏰ Scheduled Jobs

Frequency Task
Hourly Check for SLA breaches, send alerts
Daily Update customer health scores
Weekly Calculate consultant metrics
Monthly Generate performance reports

📁 Directory Structure

onboarding_manager/
├── hooks.py                 # App hooks and scheduler
├── modules.txt              # Module definition
├── requirements.txt         # Python dependencies
├── onboarding_manager/
│   ├── api/
│   │   └── dashboard_data.py    # Dashboard API endpoints
│   ├── commands/
│   │   └── generate_mock_data.py  # Mock data generator
│   ├── onboarding_manager/
│   │   └── doctype/
│   │       ├── customer_onboarding/
│   │       ├── onboarding_checklist_item/
│   │       ├── support_ticket/
│   │       └── consultant_performance/
│   ├── public/
│   │   ├── css/onboarding_manager.css
│   │   └── js/onboarding_manager.js
│   └── workspace/
│       └── onboarding/
└── README.md

🎮 Demo Scenario

  1. New Customer Flow

    • Create a new Customer Onboarding for "TechStart Inc"
    • System auto-assigns to least-loaded consultant
    • Checklist items are pre-populated
  2. Progress Tracking

    • Mark checklist items as completed
    • Watch stage auto-advance based on completion
    • Health score updates based on timeline
  3. Support Ticket

    • Create a ticket linked to the onboarding
    • SLA timer starts based on priority
    • Escalation triggers if approaching breach
  4. Dashboard Review

    • Press Ctrl+Shift+E for executive summary
    • View onboarding funnel to spot bottlenecks
    • Check consultant performance metrics

📈 Success Metrics

Metric Target Current
Avg Onboarding Days ≤14 days Calculated
SLA Breach Rate ≤5% Calculated
Customer Health Green ≥80% Calculated

🛠 Development

# Start development server
bench start

# Watch for changes
bench watch

# Run tests
bench --site YOUR_SITE run-tests --app onboarding_manager

📄 License

MIT License

🤝 Support

For issues and feature requests, please create an issue in the GitHub repository.

Related Developer Tools apps for Frappe & ERPNext

  • Frappe — Low code web framework for real world applications, in Python and Javascript
  • Frappe Docker — Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
  • Builder — Craft beautiful websites effortlessly with an intuitive visual builder and publish them instantly
  • Bench — CLI to manage Multi-tenant deployments for Frappe apps
  • Frappe Ui — A set of components and utilities for rapid UI development
  • Press — Full service cloud hosting for the Frappe stack - powers Frappe Cloud
  • Gameplan — Open Source Discussions Platform for Remote Teams
  • Doppio — A Frappe app (CLI) to magically setup single page applications and Vue/React powered desk pages on your custom Frappe apps.