Twenty CRM - классная опенсорс CRM и мой skill к ней.
Где-то пару месяцев назад переехали с платной CRM (год были на PipeDrive, до этого был Hubspot) на TwentyCRM на своем сервере. Уже успел много кому порекомендовать, но решил написать пост-обзор с некоторыми деталями и заодно поделиться своим скилом.
Для начала зачем? Ну как минимум это дешевле (стоимость VPS - это баксов 10, вместо $25-80 за каждого юзера - выходит в копеечку за год), а во-вторых она оказалась лучше примерно во всем что
мне нужно от CRM.
Это не первая опенсорсная CRM, но, пожалуй, единственная, которая ощущается как взрослый, качественный продукт с отличным дизайном. Первое, что замечаешь - скорость, прям летает. Современный стек (TS, pg), легко настроить под себя data model, есть SDK и развитый API. Причем все это активно пилится: недавно вышла 2.0, где аппы можно строить
прямо поверх CRM без правки кода, и строилось это так чтобы было удобно развивать кодинговыми агентами.
49k звезд, #1 опенсорсный CRM на гитхабе.
Но минус балл за то что нет своего CLI и скилла. Хотя сделать свой оказалось несложно.
За счет развитого API у меня ушло совсем немного времени, чтобы собрать вокруг Twenty ровно то, что мне нужно для работы из Claude Code / Codex.
Сначала я сделал CLI на базе их REST-api и
ocli - это, кстати, опенсонс от
@evilfreelancer и
@neuraldeep. Получилось супер-просто, создаешь профиль с ссылкой на готовую Swager спеку и получаешь готовый CLI-тул. Кайф.
Потом завернул его в
Skill - ставится одной командой:
npx skills add nobilix/twenty-crm-skill
Что он дает агенту: читать и менять данные в CRM - люди, компании, сделки, таски, заметки, кастомные объекты, CRUD всего этого.
Еще он подстраивается под любую схему. Завели кастомные поля или целые коллекции под свой процесс? Скилл подхватит их и подстроится под вашу дата-модель.
Со скилом стали чаще пользоваться CRM. Раньше вести ее было лень: прошла встреча - иди ищи контакт, кликай, записывай. Теперь просто пишу в чате "пообщались с тем-то, вот что надо отметить" - агент занесет сам, если надо залезет в транскипт
Granola по MCP. Или "кто у нас был с похожим кейсом, напомни и поставь follow-up" - найдет и поставит таску с напоминанием. По сути разговариваешь с CRM, а не кликаешь по ней.
Вообще такое решение рекомендую всем, у кого есть готовый REST API с OpenAPI/Swagger: делаете CLI wrapper + тонкий
SKILL.md вместо своей обертки. Быстро, надежно, нечего сапортить. Ocli классный, но если ищите альтернативы - есть еще, например
https://rest.sh и другие. OpenAI
предлагает поручить агенту написать свой CLI, но мне такой вариант кажется очень хардкодным - под чуть другую схему надо менять код и делать ребилд, но в целом - тоже решение.
А возвращаясь к самой CRM - как по мне отличный баланс простоты, скорости и dev experience: гибкая
data model с кастомными объектами и полями без кода,
вьюхи на любой вкус (таблица/канбан/календарь), визуальные
workflow-автоматизации по триггерам (в том числе LLM-блоки) и развитый
API (REST + GraphQL). Ну и встроенные
AI-фичи очень активно развиваются.
Надеюсь, кому-нибудь будет полезен обзор, скилл или сам подход.
🔥 ➕ 🔁
@nobilix
Обсуждение 12
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram