# FluentCRM Developer Guide
FluentCRM Core Complete GuideWelcome to the complete developer guide for FluentCRM - the self-hosted email marketing automation plugin for WordPress. This comprehensive guide will take you from understanding the basics to building sophisticated integrations and custom functionality.
# What is FluentCRM?
FluentCRM is a Self-Hosted Email Marketing Automation Plugin for WordPress that helps businesses manage their customer relationships, email campaigns, and marketing automation workflows. Unlike cloud-based solutions, FluentCRM runs entirely on your WordPress site, ensuring data privacy, unlimited contacts, and no monthly fees.
# Why Extend FluentCRM?
FluentCRM is designed to be highly extensible, allowing developers to customize and extend its functionality far beyond what the plugin offers out-of-the-box. Whether you're a business owner looking to customize your CRM or a developer hired to create specific integrations, FluentCRM provides the tools you need.
# 🔧 Built for Customization
- Extensive hook system - 100+ action and filter hooks for custom functionality
- Modular architecture - Clean separation allows safe modifications and additions
- RESTful API - Complete programmatic access to all CRM data and functions
- WordPress-native - Follows WordPress coding standards and best practices
# 🏗️ Flexible Extension Points
- Custom automations - Create triggers, actions, and benchmarks for unique workflows
- Third-party integrations - Connect with external services and platforms
- Custom profile sections - Add specialized data views and functionality
- API extensions - Build custom endpoints for mobile apps or external systems
# 💼 Business Benefits
- No vendor lock-in - Your customizations stay with you, not dependent on external services
- Unlimited scalability - Extend functionality as your business needs grow
- Cost-effective - One-time development instead of ongoing SaaS fees
- Complete control - Modify any aspect to match your specific business processes
# FluentCRM Versions
# FluentCRM Core (Free)
The free version includes powerful core functionalities:
- ✅ Contact Management - Unlimited contacts and custom fields
- ✅ Email Campaigns - Beautiful drag-and-drop email builder
- ✅ Basic Automations - Simple trigger-based workflows
- ✅ List Management - Organize contacts with lists and tags
- ✅ Form Integration - Works with popular form plugins
- ✅ WooCommerce Integration - Basic e-commerce tracking
- ✅ Developer API - Full access to hooks and REST API
# FluentCRM Pro (Premium)
The premium version adds advanced marketing features:
- 🚀 Advanced Automations - Complex multi-path workflows
- 🚀 Email Sequences - Drip campaigns and nurture sequences
- 🚀 Advanced Segmentation - Smart tags and dynamic lists
- 🚀 Deep Integrations - 50+ third-party integrations
- 🚀 Revenue Tracking - Advanced e-commerce analytics
- 🚀 A/B Testing - Split test campaigns and sequences
- 🚀 Advanced Reporting - Detailed performance analytics
# Core Development Concepts
# 📊 Data Architecture
FluentCRM follows WordPress conventions with a clean, normalized database structure:
Core Tables & Relationships:
- 🧑💼 Contacts ( - fc_subscribers) - Central hub for all contact data- Stores contact information, status, custom fields
- Links to all other CRM activities and data
 
- 📋 Lists ( - fc_lists) - Organize contacts into categories- Marketing segments, customer groups, product interests
- Many-to-many relationship with contacts
 
- 🏷️ Tags ( - fc_tags) - Flexible labeling system- Behavioral triggers, preferences, lifecycle stages
- Dynamic filtering and automation targeting
 
- 📧 Campaigns ( - fc_campaigns) - One-time email broadcasts- Newsletter campaigns, promotions, announcements
- Track opens, clicks, and engagement metrics
 
- 🤖 Funnels ( - fc_funnels) - Automation workflows- Multi-step email sequences and nurture campaigns
- Trigger-based automated customer journeys
 
# 🔄 Automation Workflow
The three-component automation system:
- Triggers - Events that start workflows (form submission, purchase, etc.)
- Actions - Tasks performed automatically (send email, add tag, etc.)
- Benchmarks - Goals that define completion (purchase made, link clicked, etc.)
# 🔌 Extension Points
Multiple ways to extend FluentCRM:
- WordPress Hooks - 100+ actions and filters for custom functionality
- REST API - Complete programmatic access to all features
- Module System - Add new triggers, actions, and profile sections
- Smart Codes - Dynamic content placeholders for personalization
- Custom Automations - Create workflows as per your business needs
# Directory Structure
Understanding FluentCRM's organized codebase:
fluent-crm/
├── app/                    # Core application logic
│   ├── Api/               # REST API endpoints and utilities
│   ├── Functions/         # Global helper functions
│   ├── Hooks/            # WordPress action/filter handlers
│   ├── Http/             # Request handling and routing
│   │   ├── Controllers/   # API and admin controllers
│   │   ├── Policies/     # Permission and access control
│   │   └── routes.php    # Route definitions
│   ├── Models/           # Database models and relationships
│   │   ├── Subscriber.php # Contact/subscriber model
│   │   ├── Campaign.php  # Email campaign model
│   │   ├── Funnel.php   # Automation workflow model
│   │   └── ...          # Additional models
│   ├── Services/         # Business logic and services
│   │   ├── Funnel/      # Automation engine services
│   │   ├── Libs/        # Third-party integrations
│   │   └── Helper.php   # Core helper utilities
│   └── views/           # PHP template files
│
├── assets/              # Frontend assets
│   ├── admin/          # Admin interface assets
│   ├── public/         # Public-facing assets
│   └── images/         # Image resources
│
├── boot/               # Plugin initialization
├── config/             # Configuration files
├── database/           # Database migrations and schema
│   ├── migrations/     # Database migration files
│   └── DBMigrator.php # Migration handler
│
└── fluent-crm.php     # Plugin entry point
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Development Environment Setup
# Prerequisites
- WordPress 5.0+ - Modern WordPress installation
- PHP 7.4+ - Recent PHP version with required extensions
- MySQL 5.6+ - Database with InnoDB support
- Basic WordPress Development - Understanding of hooks, plugins, and themes
# Development Tools
- Code Editor - VS Code, PhpStorm, or your preferred editor
- Local Environment - Laravel Herd, XAMPP, WAMP, or Docker
- Version Control - Git for tracking changes (optional but recommended)
- API Testing - Postman or Insomnia for REST API development
# Getting Started Checklist
- 📖 Read the Fundamentals - [ ] Understand the database schema
- [ ] Review core models
- [ ] Explore global functions
 
- 🔍 Explore the Hooks - [ ] Browse action hooks
- [ ] Study filter hooks
- [ ] Try helper classes
 
- 🏗️ Build Your First Extension - [ ] Create a custom trigger
- [ ] Build a custom action
- [ ] Add a profile section
 
- 🌐 API Integration - [ ] Set up REST API access
- [ ] Test contact management
- [ ] Explore webhook integration
 
# Community & Support
# 📚 Learning Resources
- Official Documentation (User) (opens new window) - User guides and tutorials
- Developer Hooks Reference - Complete hook documentation
- REST API Documentation - Comprehensive API guide
- Developer Changelog - Latest updates and breaking changes
# 💬 Community
- WPManageNinja Community (opens new window) - Official community
- Facebook Community (opens new window) - Active user discussions
- Official Support (opens new window) - Technical support
# 🚀 Next Steps
Ready to start building? Choose your path:
- Build Automations - Create powerful workflows
- Extend the API - Add custom endpoints
- Database Deep Dive - Master the data structure
- Hook Integration - Leverage WordPress hooks