Files
twenty/packages/twenty-website-new/src/app/pricing/_constants/plan-table.ts
T
2026-04-20 14:58:00 +00:00

415 lines
9.7 KiB
TypeScript

import type { PlanTableDataType } from '@/sections/PlanTable/types';
export const PLAN_TABLE_DATA: PlanTableDataType = {
featureColumnLabel: 'Name',
rows: [
{
featureLabel: 'Price',
selfHostTiers: {
organization: { kind: 'text', text: '$19' },
pro: { kind: 'text', text: '$0' },
},
tiers: {
organization: { kind: 'text', text: '$19' },
pro: { kind: 'text', text: '$9' },
},
type: 'row',
},
{
featureLabel: 'Seats limit',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
title: 'Workspace',
type: 'category',
},
{
featureLabel: 'Custom objects',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Custom fields',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Custom views',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'View types',
tiers: {
organization: { kind: 'text', text: 'Table, Kanban, Calendar' },
pro: { kind: 'text', text: 'Table, Kanban, Calendar' },
},
type: 'row',
},
{
featureLabel: 'Custom layout',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Records',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'CSV import & export',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Languages',
tiers: {
organization: { kind: 'text', text: '30+' },
pro: { kind: 'text', text: '30+' },
},
type: 'row',
},
{
title: 'Reports',
type: 'category',
},
{
featureLabel: 'Number of dashboards',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
title: 'Emails & Calendar',
type: 'category',
},
{
featureLabel: 'Internet accounts per user',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Folder/Label import',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Email sharing',
tiers: {
organization: { kind: 'text', text: 'Fully customizable' },
pro: { kind: 'text', text: 'Fully customizable' },
},
type: 'row',
},
{
title: 'AI & Automations',
type: 'category',
},
{
featureLabel: 'Workflows',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'AI agents',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Custom AI models',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
title: 'Security',
type: 'category',
},
{
featureLabel: 'Two-factor authentication',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'User roles',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Read/Edit/Delete permissions',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Field-level permissions',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
featureLabel: 'Row-level permissions',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
featureLabel: 'SSO',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
featureLabel: 'Advanced Encryption',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
featureLabel: 'Audit logs',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
featureLabel: 'Environments',
tiers: {
organization: { kind: 'text', text: 'Local, Production' },
pro: { kind: 'text', text: 'Local, Production' },
},
type: 'row',
},
{
featureLabel: 'Impersonate users',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
title: 'Support',
type: 'category',
},
{
featureLabel: 'Community',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Help center',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Email and Chat',
selfHostTiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Priority support',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
featureLabel: 'Onboarding Packs',
selfHostTiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Implementation partners',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
title: 'Customization',
type: 'category',
},
{
featureLabel: 'Custom apps',
tiers: {
organization: { kind: 'text', text: 'Unlimited' },
pro: { kind: 'text', text: 'Unlimited' },
},
type: 'row',
},
{
appliesTo: 'cloud',
featureLabel: 'Subdomain (yourco.twenty.com)',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
appliesTo: 'cloud',
featureLabel: 'Custom domain (crm.yourco.com)',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
title: 'Developers',
type: 'category',
},
{
featureLabel: 'REST & GraphQL API',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Webhooks',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'MCP server',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
featureLabel: 'Install shared tarball app',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
{
appliesTo: 'cloud',
featureLabel: 'API calls',
tiers: {
organization: { kind: 'text', text: '200 per minute' },
pro: { kind: 'text', text: '100 per minute' },
},
type: 'row',
},
{
appliesTo: 'selfHost',
title: 'Self-hosting',
type: 'category',
},
{
appliesTo: 'selfHost',
featureLabel: 'Source code access',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'yes', label: 'Yes' },
},
type: 'row',
},
{
appliesTo: 'selfHost',
featureLabel: 'Commercial license (no AGPL obligations)',
tiers: {
organization: { kind: 'yes', label: 'Yes' },
pro: { kind: 'dash' },
},
type: 'row',
},
],
initialVisibleRowCount: 15,
seeMoreFeaturesCta: {
collapseLabel: 'Show less',
expandLabel: 'See more features',
},
tierColumns: [
{ id: 'pro', label: 'Pro' },
{ id: 'organization', label: 'Organization' },
],
};