How mattey2026/twenty works
Twenty is an open-source, extensible CRM. Users work with CRM records and activities in the client; server query runners process record operations, while charting and messaging provide distinct CRM capabilities. Developers can extend a workspace with apps, including the call-recorder integration, and discover apps through the marketplace. The README documents objects, views, workflows, and agents as product primitives. The supplied tree and excerpts expose only selected client and server modules, so links between broader UI, API, and unsampled capabilities are intentionally not inferred.
Main entry points: common-base-query-runner.service.ts Record query runner · useNavigationMenuItemEditController.ts Navigation editor · generate-call-recording-summary-effect.front-component.tsx Summary generation · generate-call-recording-summary.ts Summary command
Components 17
CRM client
- Navigation editor
packages/twenty-front/src/modules/navigation-menu-item/edit/hooks/useNavigationMenuItemEditController.ts - Activity queries
packages/twenty-front/src/modules/activities/hooks/usePrepareFindManyActivitiesQuery.ts - Command state
packages/twenty-front/src/modules/command-menu-item/engine-command/hooks/useUnmountEngineCommand.ts - Dialog manager
packages/twenty-front/src/modules/ui/feedback/dialog-manager/hooks/useDialogManager.ts
CRM services
- Record query runner
packages/twenty-server/src/engine/api/common/common-query-runners/common-base-query-runner.service.ts - Bulk record creation
packages/twenty-server/src/engine/api/common/common-query-runners/common-create-many-query-runner/common-create-many-query-runner.service.ts - Chart data
packages/twenty-server/src/modules/dashboard/chart-data/services/chart-data-query.service.ts - Message ingestion
packages/twenty-server/src/engine/metadata-modules/message-channel/services/application-message-ingestion.service.ts
App extensions
- Application lifecycle
packages/twenty-server/src/engine/core-modules/application/application.service.ts - App marketplace
packages/twenty-server/src/engine/core-modules/application/application-marketplace/marketplace-query.service.ts - App scaffolding
packages/create-twenty-app/src/cli.ts - Starter app
packages/create-twenty-app/src/constants/template/src/application-config.ts
Call recording
- Recorder settings
packages/twenty-apps/public/call-recorder/src/front-components/settings.front-component.tsx - Summary generation
packages/twenty-apps/public/call-recorder/src/front-components/generate-call-recording-summary-effect.front-component.tsx - Summary command
packages/twenty-apps/public/call-recorder/src/command-menu-items/generate-call-recording-summary.ts - Summary agent
packages/twenty-apps/public/call-recorder/src/agents/call-recording-summarizer.agent.ts
Other components
- CRM user
Connections 11
- CRM user → Navigation editor: edits menu
- Navigation editor → Record query runner
- Record query runner → Bulk record creation
- Record query runner → Chart data
- Message ingestion → Application lifecycle
- App scaffolding → Starter app: scaffolds
- App marketplace → Application lifecycle: reads app details
- CRM user → Recorder settings: configures
- CRM user → Summary command: requests summary
- Summary command → Summary generation
- Summary generation → Summary agent