Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

EspoCRM

Open-source PHP CRM for leads, sales pipelines, cases and email with a REST API, self-hosted or in EspoCRM Cloud

Visit website Save

EspoCRM is an AGPLv3 CRM with accounts, leads, opportunities, cases, email and campaigns, an Entity Manager for custom entities and a REST API. It runs on PHP with MySQL, MariaDB or PostgreSQL, via Docker, or in EspoCRM Cloud.

Pricing
Freemium
Deployment
Self-hosted
Platforms
Web
3,571stars1,030forks
0views
Updated

What is EspoCRM?

EspoCRM is an open-source CRM for managing leads, contacts, accounts, sales opportunities, marketing campaigns and support cases. It is developed by EspoCRM, Inc., which lists an address in Austin, Texas on its contact page. According to the about page, the team was formed in 2008 by Oleksii Avramenko, Yurii Kuznietsov and Taras Machyshyn, worked on CRM customization services and released the first version of EspoCRM in 2014, initially on SourceForge. The source code is developed in the espocrm/espocrm repository on GitHub with three branches: fix for the next maintenance release, master for development and stable for the last stable release. Contributors sign a CLA before pull requests are merged.

Architecturally, EspoCRM is a web application with a single-page frontend built on the project's own framework, partly written in TypeScript, and a REST API backend in PHP. Metadata plays a central role: entity types, fields, layouts and relationships are defined as JSON metadata described by a JSON Schema, and customizations made in the administration panel are stored in the custom directory. The README lists the requirements as PHP 8.3 to 8.5 and MySQL 8.0 or later, MariaDB 10.6 or later, or PostgreSQL 15 or later. The project is licensed under the GNU AGPLv3; source file headers state version 3 or any later version and, under Section 7(b), require the Appropriate Legal Notices in the user interface to retain the word EspoCRM.

The software can be downloaded as a ZIP package from the website or from GitHub releases and installed manually on a web server, installed with a script that sets up a Docker-based stack with Nginx and MariaDB on Ubuntu, Debian or Linux Mint, or run from the official espocrm/espocrm Docker image with Docker Run, Docker Compose, Traefik or Caddy, as described in the Docker documentation. EspoCRM, Inc. also sells EspoCRM Cloud, a hosted service with servers in the United States or Germany, and paid extensions such as the Advanced Pack and Sales Pack, which are licensed separately under the company's Extension License Agreement.

The latest release is 10.1.1, published on November 10, 2026, which fixes emails not being imported for a group email account with a selected group folder. It follows 10.1.0 from November 9, 2026, which added an OAuth 2.0 server so remote applications can access the API on behalf of regular and admin users, and job processing with workers and a RabbitMQ implementation. Version 10.1.0 also added Markdown bodies for knowledge base articles, a full-width page option, PKCE support for OAuth accounts, a string\replaceMany formula function, a UI action to inactivate all authentication tokens and a config parameter that controls whether administrators can manage extensions. It migrated to Doctrine DBAL 4 and dropped support for MariaDB 10.3 to 10.5. The 9.3 line still receives maintenance releases, with 9.3.11 published on October 23, 2026.

Documentation for administrators, users and developers is published at docs.espocrm.com, and questions and bug reports go to the community forum or GitHub issues. An online demo is available on the website. Translations are maintained on POEditor and merged into the repository before minor releases. Other self-hosted CRMs listed on iThub include Krayin CRM, Twenty, Frappe CRM and erxes.

Inside the application

EspoCRM screenshots

Explore the interface. Open a screenshot to view it at full size.

EspoCRM Leads list view with statuses New, Assigned, In Process and Converted and the navigation menu
EspoCRM screenshot 1

README screenshot of the Leads list with status labels, emails and assigned users. Names and addresses are fictional demo data with .crm domains.

EspoCRM BPMN flowchart for a drip email campaign with timers, email tasks and a gateway on lead conversion
BPM drip campaign

Documentation figure of a Business Process Management flowchart (Advanced Pack) that sends emails with seven-day waits and branches on lead conversion.

EspoCRM Layout Manager editing the Accounts detail layout with Overview and Details panels and available fields
Layout Manager

Documentation screenshot of the Layout Manager for the Accounts detail view, with panels, rows and a list of available fields.

Source: official EspoCRM project page.

Key capabilities

  • Core CRM entities The default entity types include Accounts, Contacts, Leads and Opportunities, with Opportunities carrying stages, probability, expected close dates and amounts for forecasting. Leads track source, status and conversion into contacts, accounts and opportunities. Sales pipelines show opportunities across customizable stages.
  • Activities and calendar Meetings, calls and tasks are linked to contacts, accounts, leads and opportunities and appear in Activities and History panels. A shared calendar shows scheduled events, and a working time calendar defines working days and hours. Custom entity types of the Event type can also be shown on the calendar once enabled in settings.
  • Email EspoCRM syncs personal and group mailboxes, links incoming emails to CRM records, sends email from inside the application and stores reusable templates. Mass email is used for campaigns sent to target lists. Release 10.1.1 fixed email import for group email accounts with a selected group folder.
  • Customer support Cases organize, prioritize and resolve customer requests. A customer portal provides self-service access with its own layouts and roles, and the knowledge base serves articles to customers and staff; since 10.1.0 article bodies can be written in Markdown.
  • Marketing Campaigns plan, send and analyze marketing activity, and Web-to-Lead collects leads from web forms or through the API. Target lists group recipients for mass email, and the MailChimp Integration extension syncs target lists with MailChimp.
  • Stream, Kanban and dashboards The Stream is a feed of posts, comments and record updates that users can follow per record. Kanban boards are available for entity types with a status field once enabled, and dashboards hold configurable dashlets on multiple tabs per user.
  • Entity Manager The Entity Manager creates new entity types of the Base, Base Plus, Event, Person or Company type and adds or changes fields and relationships of existing ones. New custom names get a c prefix to avoid conflicts with future versions, and customizations can be copied from one instance to another.
  • Layout Manager The Layout Manager defines list, detail, small list and detail, bottom panel, side panel, search filter, mass update and Kanban layouts per entity type. Different detail layouts can be assigned to teams and portals.
  • Formula and dynamic logic Formula scripts calculate field values or perform actions when records are saved, and failed scripts print a problem excerpt and position since 10.1.0. Dynamic logic shows, hides, requires or locks fields based on conditions without code.
  • Roles, teams and authentication Users are organized in teams, and roles define access to scopes and fields. Authentication options documented for the API include API keys, HMAC, Basic authentication and, since 10.1.0, a built-in OAuth 2.0 server; the repository also contains OIDC login and back-channel logout support.
  • REST API and OpenAPI Every action available in the UI can be performed through the REST API under api/v1/, with client implementations for PHP and Node.js. Since v9.3, the /api/v1/OpenApi endpoint returns an OpenAPI specification for the instance, including custom entity types and fields, to admins and API users with the OpenAPI scope.
  • Webhooks Webhooks send a POST request to a URL every time a subscribed event occurs. According to the webhooks documentation, they are created via API by API users with the Webhooks scope or by administrators, each with a specific event and URL, and requests can be verified with a signature.
  • Import, export and PDF Data can be imported from CSV files and exported to CSV or Excel. Print to PDF generates documents from records with templates.
  • Advanced Pack extension (paid) The Advanced Pack is an official paid add-on that adds Reports with list, grid and joint grid types and charts, trigger-based and scheduled Workflows, and Business Process Management with BPMN 2.0 flowcharts. It is licensed under the Extension License Agreement and is included in all EspoCRM Cloud plans.
  • Sales Pack and other paid extensions The Sales Pack adds products, price books, quotes, sales orders, invoices, credit notes, purchases, subscriptions and inventory management. Further official extensions cover project management with Gantt charts, VoIP for 3CX, Twilio, Asterisk, Starface and Binotel, a meeting scheduler, Google, Outlook, Zoom, Stripe and MailChimp integrations and AI features. The MCP extension, which turns EspoCRM into an MCP server for AI agents, and a Real Estate extension are distributed for free.
  • Installation on your own server EspoCRM installs as a PHP application with a web-based installation wizard following the installation guide, and a cron job configured afterwards for scheduled jobs. The installation script downloads with wget and runs as root, optionally with Let's Encrypt or an own TLS certificate, and the Docker image runs the application, a daemon and a WebSocket container next to MariaDB. Release 10.1.0 added worker-based job processing with RabbitMQ.
  • EspoCRM Cloud The pricing page lists Basic at $15 per user per month with a minimum of 3 users, 3 GB storage per user and 100,000 records; Enterprise at $25 per user per month with a minimum of 5 users, 10 GB per user and 10,000,000 records; and Ultimate at $69 per user per month with a minimum of 10 users, 400 GB storage, unlimited records, a dedicated IP, a private server and an own domain. All plans include all extensions and API access, and a 30-day free trial is offered.
Advertisements

Where EspoCRM fits

Managing a sales pipeline

Leads are captured manually, through Web-to-Lead forms or by API, assigned to users and teams and converted into contacts, accounts and opportunities. Opportunities move through stages on a list or Kanban board, with probability and close dates feeding forecasts on dashboards. With the paid Advanced Pack, reports group pipeline data in grid reports and charts that can be placed on dashboards.

Customer support with a portal and knowledge base

Cases arrive by email through group mailboxes or are created by staff and customers. A portal gives customers access to their own cases and to knowledge base articles, with portal-specific roles and layouts, and replies are tracked in the case stream.

Building a custom business application

Administrators add entity types, fields and relationships in the Entity Manager, arrange forms and lists in the Layout Manager and add calculations with Formula and conditions with dynamic logic. Developers extend the system through metadata described by JSON Schema, dependency injection and custom views, as documented in the developer documentation, and package their work as extensions.

Automating processes with workflows and BPM

The paid Advanced Pack adds workflow rules triggered by record changes or schedules, which send emails, update fields or create records, and a BPMN 2.0 process editor with timers, gateways and sub-processes. The documentation includes a drip email campaign example that sends a sequence of emails with waiting periods and branches on whether a lead has converted. On EspoCRM Cloud these features are part of every plan.

Integrating EspoCRM with other systems

External applications use API users with an API key or HMAC authentication, or the OAuth 2.0 server added in 10.1.0, and can read the instance's OpenAPI specification from /api/v1/OpenApi. Webhooks push record events to other services, and the free MCP extension exposes CRM data to AI agents through configurable MCP endpoints.

Self-hosting with Docker

The installation script sets up EspoCRM with Nginx and MariaDB on Ubuntu, Debian or Linux Mint, including Let's Encrypt certificates. Alternatively, the official image is started with Docker Compose next to a MariaDB container and a daemon container for scheduled jobs, with volumes for data and custom directories so customizations survive upgrades.

Install

wget -N https://github.com/espocrm/espocrm-installer/releases/latest/download/install.sh && sudo bash install.sh

Reviews of EspoCRM

No reviews yet

Be the first to share your experience with EspoCRM.

Loading review form…

Alternatives to EspoCRM

Compare EspoCRM with these tools →