Skip to content

Commit 15c52d3

Browse files
Documentation update (#20059)
Add missing info about how to edit navigation bar, add many-to-many relation and get Enterprise key for Org license on self-hosted --------- Co-authored-by: Charles Bochet <charles@twenty.com>
1 parent 3db1af9 commit 15c52d3

9 files changed

Lines changed: 68 additions & 41 deletions

File tree

141 KB
Loading
5.52 KB
Loading
40.7 KB
Loading
245 KB
Loading

packages/twenty-docs/user-guide/billing/capabilities/pricing-plans.mdx

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ For teams ready to scale:
1717
- Standard support
1818

1919
<Note>
20-
Premium features (SSO and row-level permissions) are not included in the Pro plan.
20+
Premium features (SSO, row-level permissions and AI usage data) are not included in the Pro plan.
2121
</Note>
2222

2323
### Organization (Cloud)
2424
For larger teams with advanced needs:
2525
- Everything in Pro
26-
- **Premium features**: SSO integration and row-level permissions
26+
- **Premium features**: SSO integration, row-level permissions and AI usage data
2727
- Priority support
2828

2929
## Self-Hosted Plans
@@ -37,7 +37,7 @@ Host Twenty on your own infrastructure at no cost:
3737
### Organization (Self-Hosted)
3838
For teams who need premium features while self-hosting:
3939
- All Pro features
40-
- **Premium features**: SSO integration and row-level permissions
40+
- **Premium features**: SSO integration, row-level permissions and AI usage data
4141
- Twenty team support
4242
- No requirement to publish custom code as open-source before distributing
4343

@@ -46,6 +46,7 @@ For teams who need premium features while self-hosting:
4646
Premium features are only available on the Organization plans (Cloud or Self-Hosted):
4747
- **SSO integration**: Single Sign-On with your identity provider
4848
- **Row-level permissions**: Fine-grained access control at the record level
49+
- **AI usage data**: Track AI consumption across the workspace
4950

5051
## Switching Plans
5152

@@ -65,3 +66,15 @@ Contact support to downgrade your plan.
6566
### Switch to Monthly Billing
6667
Contact support to switch back to monthly billing.
6768

69+
## Obtain an Enterprise Key for Organization (Self-Hosted)
70+
71+
To use the Organization (Self-Hosted) plan, you need to obtain an Enterprise key:
72+
73+
1. Go to **Settings → Admin Panel → Enterprise**
74+
75+
<img src="/images/user-guide/billing/enterprise-key.png" alt="Enterprise key" />
76+
77+
2. Click **Get Enterprise Key**
78+
3. When you are redirected to Stripe, enter your payment details and confirm
79+
4. When your Enterprise key is displayed, paste it into the Enterprise settings page and activate the Organization license
80+

packages/twenty-docs/user-guide/billing/how-tos/billing-faq.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ If you want to self-host and need the Premium features (SSO and row-level permis
1616
Premium features are only available on the Organization plans (Cloud or Self-Hosted):
1717
- **SSO integration**: Single Sign-On with your identity provider
1818
- **Row-level permissions**: Fine-grained access control at the record level
19+
- **AI usage data**: Track AI consumption across the workspace
20+
</Accordion>
21+
22+
<Accordion title="Is Organization plan on cloud and Organization plan on self-hosted the same?">
23+
They offer the same premium features. However, a cloud subscription cannot be used for self-hosted deployments. Self-hosted requires an Enterprise key.
1924
</Accordion>
2025

2126
<Accordion title="Do you offer free seats for view-only users?">

packages/twenty-docs/user-guide/data-model/how-tos/create-many-to-many-relations.mdx

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -52,38 +52,45 @@ First, create the intermediate object that will hold the connections.
5252
1. Go to **Settings → Data Model**
5353
2. Click **+ New object**
5454
3. Name it descriptively (e.g., "Project Assignment", "Team Member", "Product Order")
55-
4. Click **Save**
55+
4. Toggle "Skip creating a Name field" on
56+
57+
<img src="/images/user-guide/fields/new-pivot-object.png" alt="New pivot object" />
58+
59+
5. Click **Save**
5660

5761
<Tip>
5862
**Naming convention**: Use a name that describes the relationship, like "Project Assignment" or "Team Membership". This makes the data model easier to understand.
5963
</Tip>
6064

61-
## Step 2: Create Relations from the Junction Object
65+
## Step 2: Create Relations Between Objects and the Junction
6266

63-
Add relation fields from the junction object to both objects you want to connect.
67+
Add relation fields from each of your two objects to the junction object.
6468

65-
### First Relation (Junction → Object A)
69+
### First Relation (Object A → Junction)
6670

67-
1. Select your junction object in **Settings → Data Model**
68-
2. Click **+ Add Field**
69-
3. Choose **Relation** as the field type
70-
4. Select the first object (e.g., "People")
71-
5. Set the relation type to **Many-to-One** (many assignments can link to one person)
72-
6. Name the fields:
73-
- Field on junction: e.g., "Person"
74-
- Field on People: e.g., "Project Assignments"
75-
7. Click **Save**
71+
1. Select your first object in **Settings → Data Model**
72+
2. Click **+ Add Relation**
73+
3. Select the junction object (e.g., "Project Assignments")
74+
4. Set the relation type to **One-To-Many** (one person can link to many assignments)
75+
5. Name the fields:
76+
- Field on People: e.g., "Project Assignments"
77+
- Field on junction: e.g., "Person"
78+
6. Click **Save**
7679

77-
### Second Relation (Junction → Object B)
80+
### Second Relation (Object B → Junction)
7881

79-
1. Still on the junction object, click **+ Add Field**
80-
2. Choose **Relation** as the field type
81-
3. Select the second object (e.g., "Projects")
82-
4. Set the relation type to **Many-to-One**
83-
5. Name the fields:
82+
1. Select your second object in **Settings → Data Model**
83+
2. Click **+ Add Relation**
84+
3. Select the junction object (e.g., "Project Assignments")
85+
4. Set the relation type to **One-To-Many** (one project can link to many assignments)
86+
5. Enable **"This is a relation to a Junction Object"**
87+
88+
<img src="/images/user-guide/fields/junction-relation-toggle.png" style={{width:'100%'}}/>
89+
90+
6. Name the fields:
8491
- Field on junction: e.g., "Project"
8592
- Field on Projects: e.g., "Team Members"
86-
6. Click **Save**
93+
7. Click **Save**
8794

8895
## Step 3: Configure the Junction Relation Display
8996

@@ -97,18 +104,6 @@ Now configure the source objects to display linked records directly, skipping th
97104
6. Select the **Target relation** (e.g., "Project" — the field on the junction that points to the other side)
98105
7. Click **Save**
99106

100-
101-
{/* TODO: Add image
102-
<img src="/images/user-guide/fields/junction-relation-toggle.png" style={{width:'100%'}}/>
103-
*/}
104-
105-
Repeat for the other object:
106-
1. Select "Projects" in Data Model
107-
2. Edit the "Team Members" relation field
108-
3. Enable the junction toggle
109-
4. Select "Person" as the target relation
110-
5. Save
111-
112107
## Result
113108

114109
After configuration:
@@ -127,15 +122,15 @@ Here's a complete walkthrough:
127122
- Description: "Links people to projects they work on"
128123

129124
### Add Relations
130-
1. **Project Assignment → People**
131-
- Type: Many-to-One
132-
- Field on Assignment: "Person"
125+
1. **People → Project Assignment**
126+
- Type: One-to-Many
133127
- Field on People: "Project Assignments"
128+
- Field on Assignment: "Person"
134129

135-
2. **Project Assignment → Projects**
136-
- Type: Many-to-One
137-
- Field on Assignment: "Project"
130+
2. **Projects → Project Assignment**
131+
- Type: One-to-Many
138132
- Field on Projects: "Team Members"
133+
- Field on Assignment: "Project"
139134

140135
### Configure Junction Display
141136
1. On **People** object:

packages/twenty-docs/user-guide/layout/capabilities/navigation.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,9 @@ Add links to external tools directly in the sidebar. Useful for linking to your
3030
## Command menu
3131

3232
Press `Cmd+K` (or `Ctrl+K`) to open the command menu — a quick-access search bar for jumping to any record, view, or action without navigating the sidebar.
33+
34+
## Customizing the sidebar
35+
36+
To customize the sidebar, hover over the "Workspace" section in the sidebar and click the wrench icon.
37+
38+
<img src="/images/user-guide/layout/navigation-edit-icon.png" alt="Navigation edit icon" />

packages/twenty-docs/user-guide/layout/capabilities/record-pages.mdx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: Record Pages
33
description: Customize the layout of individual record detail pages with tabs and widgets.
44
---
55

6+
## Overview
7+
68
When you open a record in Twenty, the detail page is composed of **tabs** and **widgets**. Both are fully customizable per object type.
79

810
## Tabs
@@ -37,6 +39,12 @@ Widgets are the building blocks inside each tab. Available widget types include:
3739

3840
1. Open any record
3941
2. Press `Cmd+K` and search for "Edit record page layout"
42+
43+
or
44+
45+
1. Go to Settings > Data model > object of your choice > Layout
46+
2. Click the "Customize record page" button for that object
47+
4048
3. You're now in customization mode:
4149
- **Add widgets** from the widget picker
4250
- **Drag widgets** to reposition them on the grid

0 commit comments

Comments
 (0)