Main features
- Leads, accounts, contacts and opportunities with sales pipelines
- Calendar of meetings, calls and tasks
- IMAP email sync for personal and shared mailboxes, with templates
- Mass email campaigns, target lists and web-to-lead forms
- Support cases with a customer portal and knowledge base
- Custom entities, fields and relationships without code
- Formula scripting and dynamic field logic
- Roles and teams for access control
- Import, CSV and Excel export, and PDF templates
- REST API and webhooks
What EspoCRM does
EspoCRM is a general-purpose CRM written in PHP. Its free core covers the classic sales objects (leads, accounts, contacts and opportunities moving through pipeline stages), a shared calendar of meetings, calls and tasks, and an activity stream on every record. It also goes beyond sales: support teams get cases, a customer self-service portal and a knowledge base, and marketing gets target lists, mass email campaigns and web-to-lead forms.
Email is handled over IMAP and SMTP. Administrators can connect group mailboxes, such as a shared support address, and each user can add a personal mailbox, so messages are linked to the right contacts and accounts automatically.
Customization and extensions
EspoCRM presents itself as a platform as much as a CRM. The entity manager lets administrators add custom entities, fields and relationships from the interface, dynamic logic shows or locks fields depending on other values, and the built-in Formula language calculates fields or runs actions. Everything is reachable through a REST API, and webhooks notify outside services of changes.
Several features that other CRMs include are sold separately as extensions. The Advanced Pack adds reports, workflow rules and BPMN business process automation; the Sales Pack adds products, price books, quotes, sales orders, invoices and inventory. Google and Outlook calendar and contacts sync, VoIP telephony, project management and a meeting scheduler are also paid. These extensions are under EspoCRM’s proprietary extension license, which grants use on a single instance for a set period, so the open source part is a capable CRM core rather than the full product. An MCP extension for AI agents is distributed free.
Self-hosting EspoCRM
EspoCRM runs on a standard PHP stack: PHP 8.3 to 8.5 with a list of required extensions, and MySQL 8.0+, MariaDB 10.6+ or PostgreSQL 15+. A cron entry must call cron.php every minute to process scheduled jobs and fetch email, or you can run the provided daemon instead. Installation can be done manually on a web server, with an installer script, or with Docker, where the documentation gives Docker Compose examples that run the application, a MariaDB database and a daemon container, with optional WebSocket support and Traefik or Caddy as a reverse proxy.
Because it needs no special databases or queues, EspoCRM is one of the easier CRMs in this category to host, including on shared or low-cost servers.
Hosted version
EspoCRM Cloud is run by the company behind the project and includes all paid extensions. Customers can choose servers in the United States or in Germany, and a 30-day free trial is available on the main plans.
Limitations
Teams that need reports, automation or quoting will find these in paid extensions, and they should budget for that when comparing it with other options. Google and Microsoft 365 integration is also paid; the free core relies on IMAP. Developers working on the frontend have to learn EspoCRM’s own JavaScript framework.
Who it suits
EspoCRM fits small and mid-sized organizations that want one self-hosted system for sales contacts, support cases and newsletters, on hosting they already know how to run. It is a good match where a PHP and MySQL server is easier to maintain than containers and queues. Compare it with the other options in the CRM guide.
License details
AGPL-3.0-or-later. Section 7(b) term: the legal notices must keep showing the word EspoCRM. Reports, workflows, quotes and several integrations are paid extensions under a proprietary license.
Technical details
Self-hosting needs
- MySQL
- MariaDB or PostgreSQL
- Cron
Built with
- PHP
- JavaScript
- TypeScript
GitHub topics
- calendar
- contacts
- crm
- crm-platform
- crm-system
- customer-portal
- customer-support
- customizable
- documents
- email-marketing
- kanban
- leads
- open-source
- php
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.