# 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