Plugins & Modules
Every feature in the CRM is built as a self-contained module. Contractors start with the core and turn on exactly the features they need — nothing more. Modules can be enabled with one click and disabled just as easily. The platform adapts to the contractor's business, not the other way around.
This architecture also drives the pricing model: core is the baseline, modules are add-ons. A solo pest control operator has a very different setup than a 20-person roofing company — both run on the same platform, configured differently.
Core vs. Module
| Core (Always On) | Module (Opt-In) | |
|---|---|---|
| What it is | The foundation every contractor needs — contacts, projects, basic invoicing, tasks | Features that serve specific business types, workflows, or scale |
| Can it be turned off? | No — it's always running | Yes — toggle on or off at any time |
| Data impact | Always stored and indexed | Data only exists when module is active; archived (not deleted) when disabled |
| Billing | Included in base subscription | Some modules included by tier; others are paid add-ons |
| UI impact | Always visible in nav and dashboard | Appears in nav and dashboard only when enabled |
Core Modules
These ship with every account and cannot be disabled. They're the skeleton everything else plugs into.
| Module | What It Does |
|---|---|
| Contacts | Contact book, activity feed, relationship history. The root record that everything else attaches to. |
| Projects | Job records, status tracking, timeline. Every module that touches a job attaches to a project. |
| Invoices & Estimates | Create, send, and track invoices and estimates. Linked to projects and contacts. |
| Tasks | Cross-project task list. Populated manually or auto-generated by other modules (transcription, AI agent, missed calls). |
| Scheduling | Appointment calendar, dispatch, and time windows. Required by customer portal, technician tracker, and recurring services. |
| iPhone App | Mobile access to contacts, projects, tasks, and calls. Modules extend what's available in the app when enabled. |
Plugin Dependency Rules
Plugins can depend on both Core modules (always available) and other Plugins (opt-in). This forms a directed dependency graph — the platform resolves the full chain before any toggle takes effect.
| Rule | Behavior |
|---|---|
| Enable cascade | Enabling a plugin auto-enables every dependency in its chain — a confirmation modal lists everything that will turn on |
| Disable cascade | Disabling a plugin auto-disables every plugin that depends on it — warning shown before the cascade executes |
| Dependency types | Core deps are always available; Plugin deps must be enabled first — both declared in the plugin manifest |
| Circular deps | Not allowed — manifest validator rejects cycles at install time |
| Deep chains | A dep's deps are also resolved. Enabling Ad Manager triggers: Content Distribution → AI Video Production → Photo Field Capture |
Plugin Manifest (pseudo-spec)
plugin: ad-manager
version: 1.0
requires:
core: # always available, no auto-enable needed
- contacts
- projects
plugins: # opt-in plugins that must be active first
- content-distribution # which itself requires ai-video-production
data_tables:
- ad_campaigns
- ad_performance_log
archive_on_disable: true # data archived, never deleted
Plugin Catalog
Field Operations
| Plugin | Badge | What It Does | Core Deps | Plugin Deps |
|---|---|---|---|---|
| Photo Field Capture | ADD-ON | GPS photo capture → auto project creation. EXIF extraction, reverse geocoding, contact matching. | Projects, Contacts | — |
| Video Transcription | ADD-ON | AI transcribes field videos into tasks, notes, and timeline entries. Auto-attaches to the correct project via GPS. | Projects, Tasks | — |
| Auto Time Tracking | ADD-ON | GPS geofence auto-starts and stops time tracking when contractor arrives and leaves a job site. No clock-in button. | Projects, iPhone App | — |
AI & Automation
| Plugin | Badge | What It Does | Core Deps | Plugin Deps |
|---|---|---|---|---|
| Digital Receptionist | ADD-ON | AI-powered IVR that answers calls 24/7, qualifies leads, books appointments, and logs everything to the CRM. | Contacts, Scheduling | — |
| AI Inspection Reports | ADD-ON | Generates inspection reports from photo sets. Identifies damage, scope, and materials automatically. | Projects | Photo Field Capture |
| Relationship Intelligence | ADD-ON | AI extracts personal details from calls and conversations — birthdays, family context, preferences. Surfaces reminders at the right moment. | Contacts | — |
| Job Costing | ADD-ON | Track materials, labor, and overhead per job. Auto-calculates profit margin. Receipt photo capture feeds this automatically. | Projects | — |
Payments & Documents
| Plugin | Badge | What It Does | Core Deps | Plugin Deps |
|---|---|---|---|---|
| Card on File & Payments | ADD-ON | $1 card authorization during onboarding, card-on-file processing, and payment collection tied to invoices. | Invoices & Estimates | — |
| Contracts & E-Signature | ADD-ON | Contract templates, inline e-signature, status tracking, and automatic population from project and contact data. | Projects, Contacts | — |
| Change Orders | ADD-ON | Mid-project scope changes — addendums and reductions — with customer signature required before work continues. | Projects | Contracts & E-Signature |
Customer Experience
| Plugin | Badge | What It Does | Core Deps | Plugin Deps |
|---|---|---|---|---|
| Customer Portal | ADD-ON | Self-service web portal for customers — invoices, estimates, contracts, payments, schedule, and project history. | Contacts, Projects, Invoices & Estimates, Scheduling | — |
| Technician Tracker | ADD-ON | Live GPS map visible to the customer when technician is dispatched. Real-time ETA and arrival notifications. | Scheduling, iPhone App | Customer Portal |
| Recurring Services | ADD-ON | Subscription-style service plans — pest control, maintenance, cleaning. Auto-schedules visits and invoices per plan cadence. | Scheduling, Invoices & Estimates | — |
Marketing & Growth
| Plugin | Badge | What It Does | Core Deps | Plugin Deps |
|---|---|---|---|---|
| Review & Testimonial Funnel | ADD-ON | Post-project survey → guided review flow → gift card rewards → vacation incentive for video testimonial. | Projects, Contacts | — |
| AI Video Production | ADD-ON | Gemini storyboard + Claude narrative + Higgsfield render. Turns every completed project into a shareable video. | Projects | Photo Field Capture |
| Content Distribution | ADD-ON | Auto-publishes project videos and photos to the contractor's website portfolio, Facebook, YouTube, Instagram, and Google Business. | — | AI Video Production |
| Follow-Up & Nurture | ADD-ON | Automated email nurture sequences with AI-matched content. SMS reminders, booking prompts, and day-of updates. | Contacts, Scheduling | — |
| Ad Manager | ADD-ON | Detects high-performing content and promotes it as paid ads on Meta and Google. One-click launch from the CRM. | — | Content Distribution (resolves full chain) |
| Referral Program | ADD-ON | Automated referral tracking and rewards. Customers who refer new business are credited automatically. | Contacts | Follow-Up & Nurture |
Team & Communication
| Plugin | Badge | What It Does | Core Deps | Plugin Deps |
|---|---|---|---|---|
| Team Push-to-Talk | ADD-ON | Walkie-talkie-style voice messaging between crew members. Auto-transcribed and linked to the active project. | iPhone App, Projects | — |
| Team GPS Tracking | ADD-ON | Live location of all crew members on a map. Useful for dispatching, ETA estimates, and job site oversight. | iPhone App, Scheduling | — |
The Plugin Settings UI
Contractors manage all modules from a single settings screen. Each module shows its current state, what it depends on, and a one-click toggle to enable or disable.
When a plugin has unsatisfied dependencies, its toggle is locked with a red indicator explaining which plugin must be enabled first. A cascade warning appears when disabling a plugin would also disable dependent plugins downstream.
Cascade warning example:
⚠ Disabling AI Video Production will also disable: Content Distribution → Ad Manager (both depend on this plugin)
Cascade enable example:
✓ Enabling Ad Manager will also enable: Content Distribution → AI Video Production → Photo Field Capture (full chain resolved)
Full Dependency Chain
| Plugin | Core Deps | Plugin Deps |
|---|---|---|
| Photo Field Capture | Projects, Contacts | — |
| Video Transcription | Projects, Tasks | — |
| Auto Time Tracking | Projects, iPhone App | — |
| Digital Receptionist | Contacts, Scheduling | — |
| AI Inspection Reports | Projects | Photo Field Capture |
| Relationship Intelligence | Contacts | — |
| Job Costing | Projects | — |
| Card on File & Payments | Invoices & Estimates | — |
| Contracts & E-Signature | Projects, Contacts | — |
| Change Orders | Projects | Contracts & E-Signature |
| Customer Portal | Contacts, Projects, Invoices & Estimates, Scheduling | — |
| Technician Tracker | Scheduling, iPhone App | Customer Portal |
| Recurring Services | Scheduling, Invoices & Estimates | — |
| Review & Testimonial Funnel | Projects, Contacts | — |
| AI Video Production | Projects | Photo Field Capture |
| Content Distribution | — | AI Video Production |
| Ad Manager | — | Content Distribution (resolves full chain) |
| Follow-Up & Nurture | Contacts, Scheduling | — |
| Referral Program | Contacts | Follow-Up & Nurture |
| Team Push-to-Talk | iPhone App, Projects | — |
| Team GPS Tracking | iPhone App, Scheduling | — |
How Plugins Compose
Plugins are designed to compose. Enabling one often unlocks the full value of another — the system surfaces these chains so contractors understand what they're getting before they toggle anything.
| Composition Chain | What You Unlock |
|---|---|
| Photo Field Capture → AI Inspection Reports | Field photos become structured inspection reports automatically |
| AI Inspection Reports → Estimates (Core) | Inspection scope feeds directly into estimate line items |
| Contracts + Card on File → Onboarding Flow | 3-step onboarding (invoice → card hold → signature) becomes available |
| AI Video Production → Content Distribution → Ad Manager | Full pipeline: completed job → polished video → published ad |
| Review Funnel + AI Video Production | Customer video testimonial feeds into the Higgsfield project video render |
| Customer Portal + Technician Tracker | Live GPS map becomes visible to the customer on the portal |
| Recurring Services + Customer Portal | Customers can view, pause, and cancel their own service plans |
| Digital Receptionist + Follow-Up & Nurture | New leads from inbound calls auto-enroll in nurture sequences |
| Follow-Up & Nurture + Referral Program | Satisfied customers auto-receive referral invites at the right moment in nurture |
Module Data Lifecycle
When a module is disabled, its data is archived — never deleted. If the contractor re-enables the module later, all historical data comes back. This protects against accidental data loss and lets contractors pause features seasonally without losing their history.
| Event | What Happens to Data |
|---|---|
| Module enabled (first time) | Tables created, nav items appear, features activate |
| Module disabled | Data archived and hidden from UI — not deleted |
| Module re-enabled | All prior data restored, picks up where it left off |
| Account cancelled | Full data export available for 90 days; then permanently deleted |
Third-Party Plugins (Future)
The module architecture is designed to eventually support third-party plugins — integrations built by vendors or contractors themselves. A contractor could install a plugin for their specific accounting software, their region's permit portal, or a niche tool their trade depends on.
- Plugin API — documented interface for building modules against the core data model
- Plugin marketplace — curated directory of approved third-party modules
- Sandboxing — third-party plugins run in isolated context; no access to data outside their declared scope
- Revenue share — third-party plugin authors earn a percentage of subscription revenue from contractors using their plugin
Open Questions
- How are modules implemented technically — feature flags, separate microservices, route-level code splitting, or something else?
- When a module is disabled mid-use (e.g., a contractor turns off Recurring Services), do in-progress recurring jobs continue until their natural end date or terminate immediately?
- Is the plugin toggle per-account (whole contractor org) or per-user (individual team member)?
- How are module-specific settings stored — per-module config tables, or a generic key-value store?
- What's the pricing model — tiered plans that bundle modules, or fully à la carte per module per month?
- Do third-party plugins have access to contact PII, or only anonymized project data?
- Should there be a "recommended starter bundle" that pre-enables the most commonly used modules for a new contractor?