# Open source HubSpot alternatives for AI agents

8 alternatives to HubSpot. 6 have an interface an agent can drive. 8 are open source.

Page: alternatives/hubspot.html

## NextCRM

MIT Next.js CRM with projects, invoicing, documents and a built-in 127-tool MCP server.

- Listing: apps/pdovhomilja--nextcrm-app.html
- JSON: apps/pdovhomilja--nextcrm-app.json
- License: MIT
- Agent interface: MCP server, from the builder
- Reach: 7 of 10 jobs
- Last activity: 2026-09-02
- Effort: config-only
- Agent cannot reach: Create and send invoices; Read and send email from the built-in client; Manage users, roles and LLM keys
- Use it when: I want one app for CRM, projects and invoices that our agent can drive through MCP, and I am fine with a small project
- Use it when: I want a permissive-license CRM I can rebrand for a client
- Gotcha: Login is passwordless email OTP: without an email provider you read the code from the database
- Gotcha: Roadmap still lists 'fix all TypeScript any types' and testing expansion; single maintainer
- Gotcha: Invoices are not reachable over MCP yet
- Gotcha: Bundled Postgres and MinIO ship with placeholder passwords

## EspoCRM

AGPL PHP CRM with a documented REST API, OpenAPI spec and official SDKs in seven languages.

- Listing: apps/espocrm--espocrm.html
- JSON: apps/espocrm--espocrm.json
- License: AGPL-3.0
- Agent interface: API, from the builder
- Reach: 7 of 10 jobs
- Last activity: 2026-09-03
- Effort: config-only
- Agent cannot reach: Workflows and BPM; Reports
- Use it when: I need a mature CRM on a cheap PHP host with a REST API our agent can use today
- Use it when: I want to add our own entities and fields without maintaining a fork
- Gotcha: Workflows, BPM and reports are paid extensions
- Gotcha: AGPL-3.0 and a CLA for contributions
- Gotcha: Cron must run for email, workflows and scheduled jobs

## Frappe CRM

AGPL CRM on the Frappe Framework; every DocType is reachable through the framework's REST API.

- Listing: apps/frappe--crm.html
- JSON: apps/frappe--crm.json
- License: AGPL-3.0
- Agent interface: API, from the builder
- Reach: 5 of 9 jobs
- Last activity: 2026-09-03
- Effort: config-only
- Agent cannot reach: Kanban and custom views
- Use it when: I already run ERPNext and want a clean sales pipeline that invoices through it
- Use it when: I want unlimited users on a simple CRM and our agent updating deals through a REST API we already know
- Gotcha: Needs a Frappe bench: Python, MariaDB, Redis, Node; not a single container
- Gotcha: Branch main is v1.x stable; develop is v2 unstable
- Gotcha: AGPL-3.0
- Gotcha: CRM Enrichment Settings suggests an enrichment feature; provider not documented in README

## Mautic

Self-hosted marketing automation: contacts, segments, campaigns, and email, with an official REST API.

- Listing: apps/mautic--mautic.html
- JSON: apps/mautic--mautic.json
- License: GPL-3.0
- Agent interface: API, from the builder
- Reach: 9 of 10 jobs
- Last activity: 2026-09-03
- Effort: config-only
- Use it when: I want HubSpot-style drips and segments on my own server, with contacts I own
- Use it when: I need my agent to add leads, tag them into segments, and trigger campaigns over an API
- Gotcha: GPL-3.0 (GitHub shows NOASSERTION; composer.json says GPL-3.0)
- Gotcha: The REST API is disabled by default and must be switched on in Configuration > API Settings
- Gotcha: Segments, campaigns, and email sends depend on cron jobs; without them nothing moves
- Gotcha: README warns against running from the GitHub source in production; use the mautic.org package or Composer
- Gotcha: Requires PHP and MySQL versions matching the release's supported versions page

## Relaticle

Self-hosted Laravel CRM with a 37-tool MCP server, REST API and 22 custom field types.

- Listing: apps/relaticle--relaticle.html
- JSON: apps/relaticle--relaticle.json
- License: AGPL-3.0
- Agent interface: MCP server, from the builder
- Reach: 6 of 9 jobs
- Last activity: 2026-09-02
- Effort: config-only
- Agent cannot reach: Add or change custom fields; Manage teams, workspaces and members
- Use it when: I want a CRM our agent can read and write through MCP from day one, hosted on our own server
- Use it when: I want to run a white-label CRM for a client with billing and marketing pages switched off
- Gotcha: PHP 8.5 and PostgreSQL 17 minimums are newer than most hosts ship
- Gotcha: MCP rate limit 120 calls per minute per user, 25 records per page
- Gotcha: One workspace per MCP connector until revoked
- Gotcha: AGPL-3.0

## Twenty

Open-source CRM with an in-product MCP server: per-object CRUD, workflows, metadata, views and webhooks over OAuth.

- Listing: apps/twentyhq--twenty.html
- JSON: apps/twentyhq--twenty.json
- License: AGPL-3.0 core with marked enterprise files
- Agent interface: MCP server, from the builder
- Reach: 8 of 10 jobs
- Last activity: 2026-09-03
- Effort: config-only
- Agent cannot reach: Connect email and calendar accounts; Publish an app to the workspace
- Use it when: I want a CRM our agent can query, update and reshape (new objects, fields, workflows) without a wrapper
- Use it when: I want to version our CRM's data model as code and ship it to a workspace
- Gotcha: Env var names above come from the self-host docs and the .mcp.json dev config (PG_DATABASE_URL); confirm the current list at docs.twenty.com
- Gotcha: The root .mcp.json is developer tooling (postgres, playwright, context7), not the product MCP
- Gotcha: Metadata and workflow tools require loading a skill first or the agent misbuilds
- Gotcha: AGPL core; enterprise files are marked and not free

## Krayin CRM

MIT Laravel CRM for leads, contacts, quotes and email, configured through .env and packages.

- Listing: apps/krayin--laravel-crm.html
- JSON: apps/krayin--laravel-crm.json
- License: MIT
- Agent interface: No agent interface
- Reach: Not recorded
- Last activity: 2026-09-01
- Effort: config-only
- Use it when: I need a free CRM on our own server with leads, quotes and inbound email, and the team knows PHP
- Use it when: I want a permissive license so we can bundle a customized CRM for clients
- Gotcha: No built-in API: routes/api.php is the Laravel stub (one auth:api /user route); the official krayin/rest-api package was last pushed 2025-09-01
- Gotcha: Default branch is 2.2; README installs from the main tag
- Gotcha: Needs 3 GB RAM and MySQL 8.0.32+; PostgreSQL not supported

## Comp AI CRM

Self-hosted CRM where a scheduled research agent keeps the records, tuned by four markdown skill files.

- Listing: apps/trycompai--crm.html
- JSON: apps/trycompai--crm.json
- License: MIT
- Agent interface: Screen only
- Reach: 2 of 7 jobs
- Last activity: 2026-09-02
- Effort: config-only
- Agent cannot reach: Research and enrich a contact or company; Read pipeline records; Write facts and activities to a record; Talk to the agent about a contact; Schedule a re-check on a person
- Use it when: I want a CRM that fills itself in from our inboxes instead of nagging reps to log calls
- Use it when: I want to change what the research agent is allowed to look at and write, without rewriting the app
- Gotcha: No API tokens: every request needs an identity-provider session, so an outside agent has no documented way in
- Gotcha: Three separate deployments must agree on DATABASE_URL and BETTER_AUTH_SECRET or you get a redirect loop
- Gotcha: Microsoft client secrets expire (6 months default) and mail sync fails silently when they do
- Gotcha: Default branch is release, not main

## Questions

### Is there an open source alternative to HubSpot?

Yes. All 8 listings here are open source: NextCRM (MIT), EspoCRM (AGPL-3.0), Frappe CRM (AGPL-3.0), Mautic (GPL-3.0), Relaticle (AGPL-3.0), Twenty (AGPL-3.0 core with marked enterprise files), Krayin CRM (MIT), Comp AI CRM (MIT).

### Which HubSpot alternatives have an MCP server?

NextCRM, Relaticle and Twenty have MCP servers from their builders.

### Which HubSpot alternative can an agent do the most with?

Mautic: 9 of 10 recorded jobs reachable. Jobs differ by listing, so read each list before you choose.
