{"id":13405256,"url":"https://github.com/espocrm/espocrm","last_synced_at":"2026-02-05T12:03:31.817Z","repository":{"id":21156864,"uuid":"24459441","full_name":"espocrm/espocrm","owner":"espocrm","description":"EspoCRM – Open Source CRM Application","archived":false,"fork":false,"pushed_at":"2026-01-28T00:17:33.000Z","size":88010,"stargazers_count":2764,"open_issues_count":58,"forks_count":792,"subscribers_count":108,"default_branch":"master","last_synced_at":"2026-01-28T01:59:55.161Z","etag":null,"topics":["calendar","contacts","crm","crm-platform","crm-system","customer-portal","customer-support","customizable","documents","email-marketing","kanban","leads","open-source","php","platform","sales-automation","single-page-application","support"],"latest_commit_sha":null,"homepage":"https://www.espocrm.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/espocrm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-09-25T13:38:46.000Z","updated_at":"2026-01-27T15:09:43.000Z","dependencies_parsed_at":"2024-04-15T11:46:25.944Z","dependency_job_id":"207a554c-ce08-40a7-88bb-414b130006aa","html_url":"https://github.com/espocrm/espocrm","commit_stats":{"total_commits":18599,"total_committers":55,"mean_commits":338.1636363636364,"dds":"0.060594655626646565","last_synced_commit":"cd61a3029830e60a8fddc174f313e19129d610c7"},"previous_names":[],"tags_count":299,"template":false,"template_full_name":null,"purl":"pkg:github/espocrm/espocrm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espocrm%2Fespocrm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espocrm%2Fespocrm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espocrm%2Fespocrm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espocrm%2Fespocrm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/espocrm","download_url":"https://codeload.github.com/espocrm/espocrm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/espocrm%2Fespocrm/sbom","scorecard":{"id":150338,"data":{"date":"2025-08-11","repo":{"name":"github.com/espocrm/espocrm","commit":"f8f64412d99bd85b92c07cf52d847b4967e071e9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test-integration-pg.yml:1","Warn: no topLevel permission defined: .github/workflows/test-integration.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 9.1.8 not signed: https://api.github.com/repos/espocrm/espocrm/releases/235138995","Warn: release artifact 9.1.7 not signed: https://api.github.com/repos/espocrm/espocrm/releases/227340234","Warn: release artifact 9.1.6 not signed: https://api.github.com/repos/espocrm/espocrm/releases/225469753","Warn: release artifact 9.1.5 not signed: https://api.github.com/repos/espocrm/espocrm/releases/221746048","Warn: release artifact 9.1.4 not signed: https://api.github.com/repos/espocrm/espocrm/releases/221146167","Warn: release artifact 9.1.8 does not have provenance: https://api.github.com/repos/espocrm/espocrm/releases/235138995","Warn: release artifact 9.1.7 does not have provenance: https://api.github.com/repos/espocrm/espocrm/releases/227340234","Warn: release artifact 9.1.6 does not have provenance: https://api.github.com/repos/espocrm/espocrm/releases/225469753","Warn: release artifact 9.1.5 does not have provenance: https://api.github.com/repos/espocrm/espocrm/releases/221746048","Warn: release artifact 9.1.4 does not have provenance: https://api.github.com/repos/espocrm/espocrm/releases/221146167"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-integration-pg.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test-integration-pg.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-integration-pg.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test-integration-pg.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-integration-pg.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test-integration-pg.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-integration.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test-integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-integration.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test-integration.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-integration.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test-integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/espocrm/espocrm/test.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/test-integration-pg.yml:58","Warn: npmCommand not pinned by hash: .github/workflows/test-integration.yml:58","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   2 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T10:28:02.692Z","repository_id":21156864,"created_at":"2025-08-16T10:28:02.693Z","updated_at":"2025-08-16T10:28:02.693Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29121681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calendar","contacts","crm","crm-platform","crm-system","customer-portal","customer-support","customizable","documents","email-marketing","kanban","leads","open-source","php","platform","sales-automation","single-page-application","support"],"created_at":"2024-07-30T19:01:57.999Z","updated_at":"2026-02-05T12:03:31.768Z","avatar_url":"https://github.com/espocrm.png","language":"PHP","readme":"## EspoCRM\r\n\r\n[![PHPStan level 8](https://img.shields.io/badge/PHPStan-level%208-brightgreen)](#espocrm)\r\n\r\n[EspoCRM](https://www.espocrm.com) is a free, open-source CRM platform designed to help organizations build and maintain strong customer relationships.\r\nIt provides a wide range of tools to store, organize, and manage leads, contacts, sales opportunities, marketing campaigns,\r\nsupport cases, and more – all business information in a simple and intuitive interface.\r\n\r\n![Screenshot](https://user-images.githubusercontent.com/1006792/226094559-995dfd2a-a18f-4619-a21b-79a4e671990a.png)\r\n\r\n### Architecture\r\n\r\nEspoCRM is a web application with a frontend designed as a single-page application and a REST API\r\nbackend written in PHP.\r\n\r\n### Demo\r\n\r\nYou can try the CRM on an online [demo](https://www.espocrm.com/demo/).\r\n\r\n### Requirements\r\n\r\n* PHP 8.2 - 8.4;\r\n* MySQL 5.7 (and later), or MariaDB 10.2 (and later);\r\n* PostgreSQL 15 (and later).\r\n\r\nFor more information about server configuration, see [this article](https://docs.espocrm.com/administration/server-configuration/).\r\n\r\n### Why EspoCRM?\r\n\r\n* **Open-source transparency**. EspoCRM’s source code is open and accessible, so anyone can inspect it and see how data is being managed within the CRM.\r\n* **Customization freedom**. You can develop features, create custom entities, fields, relationships, buttons to make the CRM fit your specific needs.\r\n* **Clean user interface**. EspoCRM offers an uncluttered, minimalist, and fast user interface, which is easy to navigate and has a short learning curve.\r\n* **Straightforward REST API**. It can be easily integrated with other applications using a REST API.\r\n\r\n### Who is EspoCRM for?\r\n\r\n* **Startups, small \u0026 medium-sized businesses**. It’s an affordable solution that is flexible and fully customizable.\r\n* **Developers \u0026 tech enthusiasts**. You can extend functionalities, build extensions, and create custom integrations.\r\n* **Anyone seeking a free CRM**. If you're looking for a user-friendly and secure CRM platform, it can be a good option.\r\n\r\n### Installing stable version\r\n\r\nSee installation instructions:\r\n\r\n* [Manual installation](https://docs.espocrm.com/administration/installation/)\r\n* [Installation by script](https://docs.espocrm.com/administration/installation-by-script/)\r\n* [Installation with Docker](https://docs.espocrm.com/administration/docker/installation/)\r\n* [Installation with Traefik](https://docs.espocrm.com/administration/docker/traefik/)\r\n\r\n### Download\r\n\r\n[Download](https://www.espocrm.com/download/) the latest release from our website. You can also download the latest and previous release packages from GitHub [releases](https://github.com/espocrm/espocrm/releases).\r\n\r\n### Release notes\r\n\r\nRelease notes are available at GitHub [releases](https://github.com/espocrm/espocrm/releases).\r\n\r\n### Documentation\r\n\r\nSee the [documentation](https://docs.espocrm.com) for administrators, users and developers.\r\n\r\n### Bug reporting\r\n\r\nCreate a [GitHub issue](https://github.com/espocrm/espocrm/issues/new/choose) or post on our [forum](https://forum.espocrm.com/forum/bug-reports).\r\n\r\n### Development\r\n\r\nSee the [developer documentation](https://docs.espocrm.com/development/).\r\n\r\nWe highly recommend using an IDE for development. The backend codebase follows SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.\r\n\r\nMetadata plays an integral role in the EspoCRM application. All possible parameters are described with a JSON Schema, meaning you will have autocompletion in the IDE. You can also find the full metadata reference in the documentation.\r\n\r\n### Community \u0026 Support\r\n\r\nIf you have a question regarding some features, need help or customizations, want to get in touch with other EspoCRM users, or add a feature request, please use our [community forum](https://forum.espocrm.com/). We believe that using the forum to ask for help and share experience allows everyone in the community to contribute and use this knowledge later.\r\n\r\n### License\r\n\r\nEspoCRM is an open-source project licensed under [GNU AGPLv3](https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt).\r\n\r\n### Contributing\r\n\r\nBefore we can merge your pull request, you need to accept our CLA [here](https://github.com/espocrm/cla). See the [contributing guidelines](https://github.com/espocrm/espocrm/blob/master/.github/CONTRIBUTING.md).\r\n\r\nBranches:\r\n\r\n* *fix* – upcoming maintenance release; minor fixes should be pushed to this branch;\r\n* *master* – develop branch; new features should be pushed to this branch;\r\n* *stable* – last stable release.\r\n\r\n### Language\r\n\r\nIf you want to improve existing translation or add a language that is not available yet, you can contribute on our [POEditor](https://poeditor.com/join/project/gLDKZtUF4i) project. See instructions [here](https://www.espocrm.com/blog/how-to-use-poeditor-to-translate-espocrm/). It may be reasonable to let us know about your intention to join the POEditor project by posting on our forum or via the contact form on our website.\r\n\r\nChanges on POEditor are usually merged to the GitHub repository before minor releases.\r\n","funding_links":[],"categories":["PHP","Apps","CRM","Business","Backend \u0026 Infrastructure"],"sub_categories":["CRM","Video Conference","CRM (Salesforce alternatives)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fespocrm%2Fespocrm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fespocrm%2Fespocrm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fespocrm%2Fespocrm/lists"}