Frappe Crm Pro Pack

Google Meet meetings, call follow-ups, lead scoring and a role-aware Sales Dashboard with Excel export for Frappe CRM. No changes to CRM's code.

Install Frappe Crm Pro Pack

bench get-app https://github.com/sidrajputt/frappe-crm-pro-pack

Tags

  • crm
  • erpnext
  • follow-up
  • frappe
  • frappe-app
  • frappe-crm
  • google-calendar
  • google-meet
  • lead-scoring
  • sales-dashboard

Add the Frappe Gems badge to your README

Maintain Frappe Crm Pro Pack? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=sidrajputt%2Ffrappe-crm-pro-pack)](https://frappegems.com/gems/apps/sidrajputt/frappe-crm-pro-pack)

About Frappe Crm Pro Pack

CRM Pro Pack for Frappe CRM

Google Meet and Google Calendar meetings, call follow-ups, lead scoring, stale-lead alerts and a role-aware Sales Dashboard with Excel export - in one app, with no changes to Frappe CRM's own code.

License: MIT Frappe v15 Frappe CRM 1.x Python 3.10+

CRM Pro Pack is a free, open-source plugin (a normal Frappe app) that turns Frappe CRM into a complete sales-follow-up tool. Sales teams schedule Google Meet meetings from a lead, log every call attempt with its outcome, get reminded about the next follow-up, and managers see who is calling whom on a Sales Dashboard they can download as Excel. Admins connect Google once, and nobody else ever signs in to Google.

It installs like any other Frappe app (bench get-app, bench install-app) and works by adding to CRM's screens from the outside, so you never fork or patch Frappe CRM.

Contents

What it does

Meetings with Google Meet and Google Calendar

  • Schedule from a lead. A Google-Calendar-style scheduler (Agenda, Month, Week, Day) inside CRM, and a Schedule Meeting button on every Lead.
  • Google Meet links and invitations. The meeting is created on the company calendar with a Meet link; guests get a Google invitation and see it in their own calendar.
  • Choose your guests. CRM team members, contacts or any email address. The lead's contact, you and the lead owner are pre-selected.
  • You decide who is told. Send invitations or not when you schedule, change or cancel, and a Notify guests button sends a note (email and/or CRM notification) any time.
  • Reminders. In-app notifications and email shortly before a meeting (30 minutes by default, optionally a day before too).
  • Meeting outcomes. Record whether the meeting was Held, a No Show or needs Rescheduling, with notes and an optional next follow-up.
  • Not only Google. A Manual Link provider takes any Zoom, Teams or other URL and emails guests a calendar file. More providers can be plugged in - see docs/ADDINGAPROVIDER.md.

Call follow-ups with attempts, outcomes and next steps

  • One form for every call. Quick-fill templates, a call outcome (Did Not Pick, Did Not Connect, Interested, Not Interested, Meeting Scheduled, Ask for Detail, Call Back Later), the lead status (change it right there), a remark, and the next follow-up date and time with quick buttons.
  • Attempt counting. "Call attempt 1, 2, 3" counts the calls in a row that did not reach the person, and starts again after a call that did.
  • The next follow-up is the outcome. Logging a newer follow-up closes the older open one.
  • Reminders to the follow-up owner when one is due, in-app and by email.
  • Automatic escalation. After N unreached calls in a row (default 3) a note goes on the lead's timeline and the lead owner and Sales Managers are notified. Optionally the lead moves to a status you choose, such as "Unreachable".
  • Follow-up queue with Overdue, Today and Upcoming, for you or (managers) for everyone.
  • WhatsApp after a missed call (optional): when a call is logged as Did Not Pick or Did Not Connect, offer a WhatsApp message through CRM's own WhatsApp integration.
  • Follow-up templates you edit yourself, for one-tap logging.

Lead intelligence

  • Lead score from 0 to 100 (Hot, Warm, Cold) built from connected calls, the latest outcome, meetings held or coming up, and how recently anyone touched the lead.
  • Stale-lead alerts. Open leads with no activity for N days (default 7) notify their owner once per quiet spell.
  • Columns for the Leads list and Kanban cards: Next Follow-up, Last Call Outcome, Last Follow-up Remark, Call Attempt, Next Meeting and Lead Score, so the essentials show without opening the lead.

Built into CRM's own screens

  • Tabs on the Lead page: Meetings and Follow-ups, next to Activity, Emails, Comments, Calls, Tasks, Notes and Attachments.
  • Header buttons: Schedule Meeting and Add Follow Up on the Lead page; Meetings, Follow-ups and Sales Dashboard on the Leads list; floating buttons on the Kanban view.
  • On the Lead timeline: every meeting, reschedule, cancellation and follow-up is posted as a comment.
  • Optional: hide the Deals menu entry and the Convert to Deal button, if your team only works with leads.
  • CRM dashboard charts: meetings and follow-ups charts you can add to CRM's own dashboard.

Compatibility

Component Supported Notes
Frappe Framework v15 (developed and tested on) Every Frappe API the app uses also exists on v16 and the v17 development branch, so newer versions are allowed but not yet tested.
Frappe CRM 1.x (main branch) CRM 1.x is the version that runs on Frappe v15. CRM 2.0 needs Frappe 16 or newer and is best-effort.
Python 3.10 - 3.12
Database MariaDB Reports use MariaDB SQL. PostgreSQL is not supported.
Browser Current Chrome, Edge, Firefox, Safari

Leads only: meetings and follow-ups attach to CRM Leads. Deals are not extended.

Installation

You need a bench with Frappe v15 and Frappe CRM 1.x installed on the site. If CRM is not installed yet:

cd ~/frappe-bench
bench get-app crm --branch main                     # Frappe CRM 1.x, the line for Frappe v15
bench --site your-site.com install-app crm

Then install CRM Pro Pack:

bench get-app https://github.com/sidrajputt/frappe-crm-pro-pack --branch main
bench --site your-site.com install-app crm_addons
bench --site your-site.com migrate
bench restart

The app's Python package is called crm_addons. If the assets were not linked, run bench build --app crm_addons, and hard-refresh the browser (Ctrl/Cmd + Shift + R) after installing or updating.

Update: bench update --apps crm_addons (or git pull in apps/crm_addons), then bench --site your-site.com migrate and bench restart.

Uninstall: bench --site your-site.com uninstall-app crm_addons. This removes the scripts, custom fields, dashboard charts and workspace it added.

Everything is set up by the install itself and re-checked on every migrate (it never overwrites what an admin changed) - see How it works.

First-time setup

About ten minutes, once:

  1. Open CRM Addons Settings in Desk (search for it, or use the CRM Pro Pack workspace). It shows a live checklist of what is connected and what is missing.
  2. Meetings with Google Meet: follow docs/ADMIN_GUIDE.md to connect one company Google account. The settings page shows the exact redirect URI for your site and a Test Google connection button. Skip this step to start with Manual Link meetings.
  3. Reminders and emails: enable the scheduler (bench --site your-site.com enable-scheduler) and set up an outgoing Email Account on the site.
  4. Give people the CRM roles: Sales User for the team, Sales Manager for managers.

Follow-ups, scoring, the Sales Dashboard and the in-app notifications need no external setup.

Using it

You want to Do this
Schedule a meeting Open a Lead and click Schedule Meeting, or open its Meetings tab
Log a call Open a Lead and click Add Follow Up, or open its Follow-ups tab
See what is due On the Leads list or Kanban view click Follow-ups
See all meetings On the Leads list click Meetings
See team numbers Click Sales Dashboard (Leads list, Kanban view or CRM's Dashboard page)
Change or cancel a meeting Open the meeting, then Edit or Cancel meeting
Tell guests something Open the meeting, then Notify guests
Add columns to the list Leads list, Columns setting: Next Follow-up, Last Call Outcome, Lead Score and more

Sales Dashboard

A full-screen dashboard in its own browser tab (open it from the Sales Dashboard button, or go to /sales-dashboard). It follows the roles: sales users see only their own numbers; managers see the whole team and can pick one person.

  • Date range dropdown with presets (today, yesterday, last 7 and 30 days, this and last week, this and last month, this quarter, this year) and a calendar for a custom range. Everything is compared with the previous period.
  • KPI cards: calls today, follow-ups due today and overdue, calls, connect rate, follow-ups added, leads added, meetings held, leads converted to deals, average time to first call, stale leads.
  • Daily activity for calls, follow-ups or leads added, split by result or by person, and a call outcomes donut.
  • Lead funnel (added, contacted, reached on a call, meeting booked, converted), calls by hour with the best time to call, and attempts to connect.
  • Team performance table for managers (click a column to sort) and call outcomes by person.
  • Pipeline by status with average age, leads by source, lead temperature, meetings by outcome.
  • Follow-up queue, recent calls and upcoming meetings, each opening the lead.
  • Export to an Excel workbook (a sheet per section plus the full call log) or the call log as CSV. Light theme by default, dark theme on a toggle.

Roles and permissions

Role Meetings Follow-ups Sales Dashboard
System Manager, Sales Manager, Administrator See and edit all See and edit all Whole team, or one person
Sales User Meetings they created, organise or were invited to; edit only their own Their own Their own numbers only

Sales users can only schedule on leads they are allowed to see in CRM. The dashboard and its export enforce the same rules on the server, so a sales user cannot see another person's numbers by changing the address.

Settings reference

All settings are in CRM Addons Settings (Desk).

Setting Default What it does
Default Provider Google Meet Meeting provider for new meetings (Google Meet or Manual Link)
Default Duration 30 min Length of a new meeting
Add a video meeting by default On Pre-ticks the video meeting box
Company Google Calendar (auto-selected if only one is connected) The calendar all meetings are created on
Use each user's own Google Calendar Off Use a person's own calendar when they have connected one
In-app notifications for meetings On Notify the team when a meeting is scheduled, changed or cancelled
Reminders before a meeting On, 30 min Reminder time, plus an optional early reminder (for example 1440 = a day before)
Email reminders to team / external guests On / Off Who gets reminder emails
Enable follow-ups On Turns the follow-up feature on or off
Remind the follow-up owner On Notification (and email) when a follow-up is due
Escalate after N missed calls 3 (0 = off) Timeline note and notification after N calls in a row that did not reach the lead
Lead status to set when escalated (none) Optional status to move the lead to
Score Leads from their activity On The 0-100 Lead Score
Alert the owner after N days without activity 7 (0 = off) Stale-lead notification
Default WhatsApp message after a missed call (a friendly text) Offered when What

Related Sales & CRM apps for Frappe & ERPNext

  • Crm — Fully featured, open source CRM
  • Flow — Frappe Flow — native AI agents, tools, and triggers for Frappe
  • Enhanced Kanban View — Frappe Kanban boards with Link field columns, validation dialogs, and automatic synchronization. Inspired by Bitrix24's workflow system.
  • Sales Kpi — Sales KPI app for ERPNext
  • Crm Override — An example Frappe app that demonstrates how to override Frappe UI based apps.
  • Eseller Suite — A comprehensive frappe app designed to help selling partners thrive on various online platforms like Amazon and Flipkart. With powerful tools for optimization, analytics, and automation, sellers can boost sales, optimize listings, and stay ahead of the competition effortlessly.
  • Meeting Management — Meeting Management app for Frappe and ERPNext with agendas, attendees, minutes of meetings, and action item tracking.
  • Sales Prediction — AI-powered sales forecasting in ERPNext(Frappe Application) using Prophet