snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
---
title: AI
description: How Twenty uses AI to enhance your CRM experience.
icon: "robot"
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Twenty integrates AI directly into your CRM — not as a gimmick, but as a tool that works within your data model and permission system.
## AI Chatbot
Ask questions about your data in natural language. The AI chatbot can query your CRM records, summarize information, and help you find what you're looking for without building complex filters.
<VimeoEmbed videoId="1185511734" title="AI chatbot" />
## AI Agents
AI agents go beyond chat — they can execute multi-step tasks autonomously:
- Enrich records with data from external sources
- Draft and send follow-up emails
- Analyze pipeline health and flag at-risk deals
- Process incoming data and route it to the right team
Agents work within your existing workflows, so you can combine AI with manual approvals, conditional logic, and external API calls.
## Permissions & safety
AI in Twenty respects your permission model. Agents can only access objects and fields that the user (or role) has permission to view. Sensitive data stays protected even when AI is involved.
<Card title="Full AI guide" icon="arrow-right" href="/user-guide/ai/overview">
Detailed reference on the chatbot, agents, and permission controls.
</Card>

View File

@@ -0,0 +1,42 @@
---
title: Apps
icon: "cube"
description: Extend Twenty with code — custom objects, server-side logic, UI components, and AI agents, all as TypeScript packages.
---
Most CRMs give you a config panel. Twenty gives you a platform. Apps are how developers extend Twenty beyond what the UI offers — defining data models, server-side logic, UI components, and AI capabilities as code, then deploying them to one or more workspaces.
## Why apps exist
Workflows cover no-code automation. But some things need code: a custom pricing engine, a proprietary enrichment pipeline, a compliance check that runs on every record update, a custom UI panel that pulls data from an internal tool.
Apps let you build these as first-class extensions — not brittle scripts talking to an API from outside, but code that runs on the platform with full access to the type system, permission model, and UI.
## What an app can define
An app is a TypeScript package that declares **entities** using the `twenty-sdk`:
| Entity | What it does |
|--------|-------------|
| **Objects & Fields** | New data tables and fields on existing objects — same treatment as built-in ones |
| **Logic Functions** | Server-side TypeScript triggered by HTTP routes, cron schedules, or database events |
| **Front Components** | Sandboxed React components that render inside Twenty's UI (side panel, widgets, command menu) |
| **Skills & Agents** | AI capabilities — reusable instructions and autonomous assistants |
| **Views & Navigation** | Pre-configured list views and sidebar menu items |
Everything is detected via AST analysis at build time — no config files, no registration boilerplate. Put a `export default defineObject(...)` in any `.ts` file and the SDK picks it up.
## How they run
- **Logic functions** execute in isolated Node.js processes, sandboxed from the host. They access data through a typed API client scoped to the app's role permissions.
- **Front components** run in Web Workers using Remote DOM — sandboxed from the main page but rendering native DOM elements (not iframes).
- **Permissions** are enforced at the API level. An app only sees what its role allows.
## The developer experience
You write your app as a TypeScript project on your machine. The CLI watches your source files and live-syncs them to a running Twenty server — edit a file, see the change in the UI within a second. The typed API client regenerates automatically when the schema changes. When you're ready, `yarn twenty app:publish --private` pushes to a production server, or `yarn twenty app:publish` lists your app on npm and the Twenty marketplace.
<Card title="Build your first app" icon="arrow-right" href="/developers/extend/apps/getting-started/quick-start">
Three-phase walkthrough — scaffold, run a local server, sync your changes.
</Card>

View File

@@ -0,0 +1,46 @@
---
title: Calendar & Email
description: Sync your email and calendar with Twenty.
icon: "envelope"
---
Twenty connects to your existing tools so your CRM stays up to date without manual data entry.
## Email sync
Connect your **Google Workspace** or **Microsoft 365** mailbox. Once connected:
- Emails are automatically linked to the matching Company and People records
- Full email threads are visible on each record's timeline
- You can send emails directly from Twenty
- Multiple mailboxes per user are supported
You control what gets imported — filter by date range or sender to avoid pulling in irrelevant emails.
## Calendar sync
Calendar events sync automatically from your connected account. Events appear on the relevant CRM records, giving you a complete picture of your interactions with each contact or company.
## Integrations
Beyond email and calendar, Twenty connects to external tools through:
| Method | Use case |
|--------|----------|
| **API** | Build custom integrations with the GraphQL or REST API |
| **Webhooks** | Push real-time notifications to external systems when records change |
| **Zapier** | Connect to 5,000+ apps without code |
| **Workflow HTTP actions** | Call any external API as part of an automated workflow |
## Custom apps
Developers can build full-featured apps on top of Twenty — adding custom UI, server-side logic, and deep integrations. Apps can be published for the community or kept private.
<CardGroup cols={2}>
<Card title="Calendar & Email guide" icon="envelope" href="/user-guide/calendar-emails/overview">
Set up email sync, calendar sync, and troubleshoot issues.
</Card>
<Card title="API & Extensions" icon="plug" href="/developers/extend/api">
Build custom integrations with the Twenty API.
</Card>
</CardGroup>

View File

@@ -0,0 +1,36 @@
---
title: Dashboards
description: Track performance and visualize your CRM data with custom dashboards.
icon: "chart-bar"
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Dashboards give you real-time visibility into your business metrics — pipeline health, team performance, revenue trends, and anything else you want to track.
<VimeoEmbed videoId="1185511768" title="Dashboard" />
## Widgets
Each dashboard is made up of widgets. A widget is a single chart or metric tied to your CRM data. You can configure:
- **Chart type** — Bar, line, pie, number, and more
- **Data source** — Any object in your data model (standard or custom)
- **Filters** — Narrow down to specific records, date ranges, or segments
- **Aggregation** — Count, sum, average, min, max on any numeric field
- **Grouping** — Break down by select fields, dates, or relations
## What you can track
- Pipeline value by stage
- Deals closed over time
- Average deal size by source
- Task completion rates
- Custom metrics on any object
## Sharing
Dashboards are workspace-level — everyone on your team can see them. Arrange widgets in a grid layout and resize them to build the view that works for your team.
<Card title="Full Dashboards guide" icon="arrow-right" href="/user-guide/dashboards/overview">
Detailed reference on creating dashboards, configuring widgets, and chart settings.
</Card>

View File

@@ -0,0 +1,47 @@
---
title: Data Model
description: Understand how Twenty structures your data with objects, fields, and relations.
icon: "database"
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Everything in Twenty is built around **objects** and **fields** — the building blocks of your data model.
## Objects
Objects are the tables that hold your data. Twenty comes with standard objects out of the box:
- **Companies** — Organizations you do business with
- **People** — Individual contacts
- **Opportunities** — Deals in your pipeline
- **Tasks** — Action items for your team
- **Notes** — Free-form text linked to records
You can also create **custom objects** for anything your business needs — projects, support tickets, products, contracts, or anything else.
## Fields
Fields are the properties on each object. Twenty supports a wide range of field types:
| Category | Types |
|----------|-------|
| **Basic** | Text, Number, Boolean, Date, Currency, Rating, Select |
| **Composite** | Address (street, city, state, zip), Full Name, Links, Phones, Emails |
| **Special** | Relation, File Attachment, JSON, Actor (who created/modified) |
Every object also gets automatic system fields: `id`, `createdAt`, `updatedAt`, `createdBy`, and `position`.
## Relations
Objects connect to each other through relations. A Company has many People, an Opportunity belongs to a Company, and so on. You can create custom relations between any objects, including many-to-many relationships.
## What makes this powerful
Unlike traditional CRMs where you're limited to pre-defined fields on pre-defined objects, Twenty lets you model your data exactly the way your business works. Custom objects get the same first-class treatment as built-in ones — including API endpoints, views, permissions, and workflow triggers.
<Card title="Deep dive into the Data Model" icon="arrow-right" href="/user-guide/data-model/overview">
Full reference on objects, fields, relations, and how to configure them.
</Card>
<VimeoEmbed videoId="1185511827" title="Data model" />

View File

@@ -0,0 +1,81 @@
---
title: Glossary
icon: "book"
description: Key terms used throughout Twenty.
---
## API
API (Application Programming Interface) allows you to connect Twenty with other software systems and build custom integrations.
## Apps
Apps are custom extensions built as code that can define data models and logic functions. They enable developers to create reusable customizations that can be deployed across multiple workspaces.
## Code Actions
Code Actions are workflow steps that let you write custom JavaScript to transform data, make calculations, or perform complex logic that isn't possible with built-in actions.
## Command Menu
The Command Menu is a quick-access interface (opened with `Cmd + K` on Mac and `Ctrl + K` on Windows) that lets you perform actions, create records, and navigate your workspace efficiently.
## Company & People
The CRM has two fundamental types of records:
- A `Company` represents a business or organization.
- `People` represent your company's current and prospective customers or clients.
## Custom Fields
Custom Fields are data fields you create to capture information specific to your business needs and processes.
## Data Model
A Data Model is the structure that defines how information is organized in your CRM, including what objects exist, their properties (fields), and how they relate to each other.
## Favorites
Favorites are records you've marked for quick access, appearing in your sidebar for instant navigation to important data.
## Field
A field refers to a specific area where particular data is stored for an entity.
## Iterator
An Iterator is a workflow action that loops through an array of items, executing subsequent actions for each item in the list.
## Kanban
A `Kanban` is a visual way to track your business processes using cards and columns. Each column represents a stage in your process (for example: new, ongoing, won, lost), and you move records through these stages as they progress.
## Object
An Object is a data structure that represents a specific type of entity in your CRM (like People, Companies, or Opportunities). Objects can be standard (built-in) or custom (created by you).
## Opportunities
Opportunities in Twenty CRM are potential deals or sales with accounts or contacts.
## Record
A Record indicates an instance of an object, like a specific account or contact.
## Relation Fields
Relation Fields create connections between different objects, allowing you to link records together (like connecting a Person to a Company).
## Standard Fields
Standard Fields are pre-built data fields that come with objects by default and provide common functionality across all workspaces.
## Tasks
Tasks in Twenty CRM are assigned activities relating to contacts, accounts, or opportunities.
## Triggers
Triggers are the starting point of a workflow — the event or condition that initiates the automation. Examples include record creation, record updates, webhooks, or scheduled times.
## Views
You can customize the display of your records using views, setting different filters, layouts and sorting options for each view.
## Upsert
Upsert is an operation that combines "update" and "insert" — it updates an existing record if a match is found, or creates a new record if no match exists.
## Webhooks
Webhooks are automated messages sent from Twenty to other applications when specific events occur, enabling real-time data synchronization.
## Workflows
Workflows are automated processes that trigger actions based on specific conditions, helping you automate repetitive tasks and business processes.
## Workspace
A `Workspace` typically represents a company using Twenty. It holds all the records and data that you and your team members add to Twenty.
It has a single domain name, which is typically the domain name your company uses for employee email addresses.
## Workspace Members
Workspace Members are the Twenty users from your team who have access to your workspace. They can be assigned as owners or assignees for records.

View File

@@ -0,0 +1,76 @@
---
title: Layout
description: How to navigate, browse, and view records in Twenty.
icon: "table-columns"
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## The main layout
The center of the screen is where your records live — people, companies, opportunities, tasks, notes, dashboards, workflows, and any custom objects. You view, edit, and delete records here, and create new views.
<img src="/images/user-guide/home/main-layout.png" style={{width:'100%'}}/>
<span id="navigation-bar" />
## Sidebar
The left sidebar gives you:
- **Workspace switcher** — switch between workspaces or create a new one (top dropdown)
- **Search** — press `/` to focus instantly, searches across all objects
- **Settings** — access from the top left
- **Favorites** — pinned views, unique per user
- **Object shortcuts** — quick access to People, Companies, Opportunities, etc.
- **Workflows** — create automations
Drag items to reorder, create folders to group related objects, hide what you don't use.
Use the collapse button at the top of the sidebar, or choose **Collapse sidebar** from the command menu (`Cmd+K` on Mac or `Ctrl+K` on Windows). When collapsed, use **Expand sidebar** to show it again.
<img src="/images/user-guide/home/navigation-bar.png" style={{width:'100%'}}/>
## Command menu
Press `Cmd+K` (Mac) or `Ctrl+K` (Windows) — or click the three dots in the top right. From here you can:
- Create new records
- Import and export data via CSV
- Create new views
- Access deleted records (Twenty supports soft and hard deletes)
- See keyboard shortcuts for navigating your workspace
<img src="/images/user-guide/home/command-menu.png" style={{width:'100%'}}/>
## Search
Accessible via the Command Menu, the top of the sidebar, or by pressing `/`. Search works across all objects.
<img src="/images/user-guide/home/search-bar.png" style={{width:'100%'}}/>
## Side panel
Click a record to open the side panel on the right — a quick overview of the record's key information without leaving the current page. Click **Open** to go to the full record page.
<img src="/images/user-guide/home/side-panel.png" style={{width:'100%'}}/>
## Views
Every object supports multiple views — unlimited per object. Use the dropdown at the top left to switch between them.
- **Table** — spreadsheet-style rows and columns, with grouping, inline editing, and column customization
- **Kanban** — drag-and-drop cards organized by a select field, ideal for pipelines
- **Calendar** — records plotted by a date field for time-based planning
Each view saves its own filters, sorting, and field visibility. Share views with your workspace or keep them private. Favorite views for fast access from the sidebar.
<img src="/images/user-guide/home/view-menu.png" style={{width:'100%'}}/>
## Record pages
When you open a record, the detail page is built from configurable **tabs** and **widgets**. Add, remove, reorder, and resize widgets on a grid — fields, related records, emails, timeline, tasks, notes, files, charts, iframes, and more. Each object type has its own layout.
<Card title="Full Layout guide" icon="arrow-right" href="/user-guide/layout/overview">
Sidebar, views, record pages — detailed reference and how-tos.
</Card>
<VimeoEmbed videoId="1185511790" title="Layout" />

View File

@@ -0,0 +1,56 @@
---
title: Workflows
description: Automate your business processes with Twenty's visual workflow builder.
icon: "bolt"
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Workflows let you automate repetitive tasks and connect Twenty to external tools — without writing code (though you can if you want to).
<VimeoEmbed videoId="1185511711" title="Workflow" />
## How workflows work
Every workflow has three parts:
1. **Trigger** — What starts the workflow
2. **Steps** — What happens next (one or more actions in sequence)
3. **Variables** — Data that flows between steps
## Triggers
| Trigger | When it fires |
|---------|--------------|
| **Record event** | A record is created, updated, deleted, or upserted |
| **Manual** | A user clicks a button (on a single record, multiple records, or globally) |
| **Schedule** | On a recurring interval (cron syntax) |
| **Webhook** | An external system sends an HTTP POST |
## Actions
Workflows can chain any combination of:
- **Record operations** — Create, update, find, delete, or upsert records
- **Send email** — Send or draft emails from connected accounts
- **HTTP request** — Call any external API
- **Code** — Run custom JavaScript for complex logic
- **Branches** — If/else conditions to split the workflow path
- **Iterator** — Loop over arrays of data
- **AI Agent** — Let an AI agent process data autonomously
- **Delay** — Wait before continuing
- **Form** — Collect user input mid-workflow
## What you can build
- Send Slack alerts when a deal reaches a certain stage
- Auto-enrich new contacts with data from external APIs
- Detect stale opportunities and notify the owner
- Sync data between Twenty and your billing system
- Generate PDFs or invoices from record data
- Auto-reply to inbound emails matching certain criteria
<Card title="Full Workflows guide" icon="arrow-right" href="/user-guide/workflows/overview">
Detailed reference on triggers, actions, variables, and real-world automation recipes.
</Card>

View File

@@ -0,0 +1,76 @@
---
title: Why Twenty
icon: "heart"
---
import { CardTitle } from "/snippets/card-title.mdx"
You've been choosing between software that's easy to start but impossible to change, and software that's flexible but takes months to set up. Twenty is the third option: **a production-ready CRM you can reshape as you go.**
## What makes Twenty different
Twenty is a platform you can build on, not a product you configure.
<CardGroup cols={2}>
<Card img="/images/user-guide/halftone/ai.png">
<CardTitle>Built for Agents</CardTitle>
Agents operate inside your data model with real permissions. Skills, Tools, MCP.
</Card>
<Card img="/images/user-guide/halftone/permissions.png">
<CardTitle>Secured Extensibility</CardTitle>
The flexibility of vibe-coded tools on secured foundations.
</Card>
<Card img="/images/user-guide/halftone/dev-api.png">
<CardTitle>Modern Stack</CardTitle>
React, TypeScript. Your team already knows how to extend Twenty. No proprietary languages, no gatekeeping.
</Card>
<Card img="/images/user-guide/halftone/dev-self-host.png">
<CardTitle>No Lock-In</CardTitle>
Open-source core, self-hostable, export your data anytime.
</Card>
</CardGroup>
## Who is Twenty for
- **Large enterprises replacing Salesforce** — your team
spends more time fighting the tool than using it.
You feel locked-in and the costs keep rising.
- **Startups with technical founders** — you've outgrown
spreadsheets and Notion. You have big ambitions and want
a CRM that scales with you.
- **GTM teams looking for an edge** — you want to build
your own lead scoring, your own enrichment, your own
outbound workflows.
- **Privacy-conscious organizations** — you need to
self-host and own your data end to end. Regulatory,
contractual, or just principle.
- **Salesforce partners** —
your developers are tired of presenting license cost increases to your clients.
You want a better DX, and to deliver projects faster at a lower license cost for your clients.
- **Web development agencies** — your team knows TypeScript, React,
and PostgreSQL. Twenty opens the CRM market
to you without learning APEX or getting proprietary certifications.
## Who Twenty is not for
- **Teams that want a CRM they never have to think
about.** Twenty rewards teams that want to stay close to
their tools and shape them over time. If you want
something fully managed, Pipedrive or
HubSpot will serve you well.
- **Companies that need hundreds of pre-built integrations
today.** Our ecosystem is growing fast, but it's not yet
as broad as Salesforce or HubSpot. If you're comfortable
building what's missing, you'll love it. If not, give us
another year.
- **Organizations where tools are chosen in boardrooms,
not by the people using them.** We don't do steak dinners
and executive briefings. We win with teams that have the
authority to pick their own tools.
<Card title="Ready to get started?" icon="rocket" href="/getting-started/quickstart">
Set up Twenty in under 5 minutes — cloud or self-hosted.
</Card>

View File

@@ -0,0 +1,70 @@
---
title: Key Features
description: A tour of everything Twenty can do — from custom data models to AI-powered automation.
icon: "star"
---
import { CardTitle } from "/snippets/card-title.mdx"
Twenty is a full-featured CRM platform. Here's what you can build with it.
<CardGroup cols={2}>
<Card href="/user-guide/data-model/overview" img="/images/user-guide/halftone/data-model.png">
<CardTitle>Custom Data Model</CardTitle>
Define the exact data structure your business needs.
<br />Create custom objects, add custom fields with 20+ field types, and build relationships between any objects.
</Card>
<Card href="/user-guide/views-pipelines/overview" img="/images/user-guide/halftone/layout.png">
<CardTitle>Views & Pipelines</CardTitle>
Switch between table views, kanban boards, and calendar views.
<br />Filter with AND/OR logic, sort by multiple fields, group records, and save custom views.
</Card>
<Card href="/user-guide/workflows/overview" img="/images/user-guide/halftone/workflows.png">
<CardTitle>Workflows & Automation</CardTitle>
Automate any business process without writing code.
<br />Trigger workflows on record changes, schedules, manual actions, or incoming webhooks.
</Card>
<Card href="/user-guide/calendar-emails/overview" img="/images/user-guide/halftone/calendar-emails.png">
<CardTitle>Calendar & Email Sync</CardTitle>
Connect your Google Workspace or Microsoft 365 account.
<br />Emails and calendar events automatically appear on the relevant CRM records.
</Card>
<Card href="/user-guide/ai/overview" img="/images/user-guide/halftone/ai.png">
<CardTitle>AI</CardTitle>
AI agents that work autonomously within your CRM — answering questions, enriching records, and executing multi-step tasks within your permission model.
</Card>
<Card href="/user-guide/dashboards/overview" img="/images/user-guide/halftone/dashboards.png">
<CardTitle>Dashboards & Reporting</CardTitle>
Build custom dashboards with real-time widgets.
<br />Track pipeline metrics, team performance, and business KPIs with configurable charts and filters.
</Card>
<Card href="/user-guide/permissions-access/overview" img="/images/user-guide/halftone/permissions.png">
<CardTitle>Permissions & Access Control</CardTitle>
Role-based access control at every level — objects, fields, and individual records.
<br />Configure SSO with SAML or OIDC. Audit logs track who did what.
</Card>
<Card href="/developers/extend/api" img="/images/user-guide/halftone/dev-api.png">
<CardTitle>API & Extensibility</CardTitle>
A developer-first API that adapts to your custom data model.
<br />Both GraphQL and REST endpoints, with auto-generated documentation per workspace.
</Card>
<Card href="/user-guide/data-migration/overview" img="/images/user-guide/halftone/data-migration.png">
<CardTitle>Data Import & Export</CardTitle>
Import data from CSV files or via API.
<br />Field mapping, duplicate detection, and error handling built in. Export your data anytime — no lock-in.
</Card>
<Card href="/developers/self-host/self-host" img="/images/user-guide/halftone/dev-self-host.png">
<CardTitle>Self-Hosting</CardTitle>
Run Twenty on your own infrastructure with a single Docker Compose command.
<br />Full control over your data, updates on your schedule.
</Card>
</CardGroup>

View File

@@ -0,0 +1,71 @@
---
title: Quickstart
description: Get Twenty up and running in under 5 minutes — on the cloud or self-hosted.
icon: "play"
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Signup
<Steps>
<Step title="Create your account">
Go to [app.twenty.com](https://app.twenty.com) and sign up with Google, Microsoft, or email.
</Step>
<Step title="Choose a trial">
Pick **30 days** (with card) or **7 days** (without card). Both include full access — unlimited contacts, email integration, custom objects, API. You can change plan or billing interval anytime.
</Step>
<Step title="Create your workspace">
After payment confirmation via Stripe, you'll set up your workspace name and user profile. You can cancel anytime.
</Step>
</Steps>
<VimeoEmbed videoId="1185227242" title="Creating a workspace" />
## Configure your workspace
Once you're in, three steps to make Twenty yours:
### 1. Connect your mailbox
Go to **Settings → Accounts** and connect your Google or Microsoft account. Twenty will import your emails and calendar events, and auto-create contacts from interactions. Using another provider? You can add mailboxes via SMTP or calendars via CalDAV from the same page.
<Note>Start here — connecting a mailbox gives your team immediate value with real data before you customize anything else.</Note>
<VimeoEmbed videoId="1185416821" title="Connect your mailbox" />
### 2. Shape your data model
Go to **Settings → Data Model** to create custom objects and fields. A few things to know:
- Custom objects and fields are **unlimited on all plans** — no upsell.
- **People, Companies, and Opportunities** are the objects that show synced emails and meetings. Use them as your base and add fields to categorize (e.g., a `Person Type` field) rather than creating separate objects that won't have email history.
- Two People can't share the same email. Two Companies can't share the same domain.
- You can deactivate standard fields/objects you don't need, and hide fields from views without deleting them.
[Data Model reference →](/user-guide/data-model/overview)
<VimeoEmbed videoId="1185416793" title="Shape your data model" />
### 3. Import your data
Use the Command Menu (`Cmd+K` / `Ctrl+K`) to import People, Companies, Opportunities, or any custom object via CSV. Download the sample file first to see the expected format. Limit files to 10k records and deduplicate emails/domains before importing.
[Data Migration guide →](/user-guide/data-migration/overview)
<VimeoEmbed videoId="1185416775" title="Import your data" />
## Next steps
<CardGroup cols={2}>
<Card title="Learn the layout" icon="table-columns" href="/getting-started/core-concepts/layout">
Sidebar, views, command menu, side panel.
</Card>
<Card title="Build Workflows" icon="bolt" href="/user-guide/workflows/overview">
Automate your business processes.
</Card>
<Card title="Create Views" icon="table" href="/user-guide/layout/overview">
Table, kanban, calendar — filter and sort your data.
</Card>
<Card title="Explore the API" icon="plug" href="/developers/extend/api">
Schema-per-tenant REST and GraphQL.
</Card>
</CardGroup>