Update pricing plan cards (#20614)

## Summary
- Update pricing top-card bullets to use workflow credits, keep full
customization, and show Organization-only features accurately.
- Make custom AI models self-host Organization-only and move custom
domain into the Cloud Organization card.
- Align pricing comparison rows for row-level permissions, encryption
key rotation, API call limits, custom domain availability, and self-host
custom objects/fields.

## Validation
- `lingui extract --overwrite --clean`
- `lingui compile --typescript`
- `node scripts/check-section-shape.mjs`
- `git diff --check`
- Playwright snapshot of `http://localhost:3002/pricing`

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Thomas des Francs
2026-05-18 19:43:15 +00:00
committed by GitHub
co-authored by Charles Bochet
parent 1d3d3999e2
commit ce8ef261c1
2 changed files with 14 additions and 10 deletions
@@ -153,6 +153,7 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
type: 'row',
},
{
appliesTo: 'selfHost',
featureLabel: msg`Custom AI models`,
tiers: {
organization: { kind: 'yes', label: msg`Yes` },
@@ -213,7 +214,7 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
type: 'row',
},
{
featureLabel: msg`Advanced Encryption`,
featureLabel: msg`Encryption key rotation`,
tiers: {
organization: { kind: 'yes', label: msg`Yes` },
pro: { kind: 'dash' },
@@ -330,7 +331,7 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
featureLabel: msg`Custom domain (crm.yourco.com)`,
tiers: {
organization: { kind: 'yes', label: msg`Yes` },
pro: { kind: 'yes', label: msg`Yes` },
pro: { kind: 'dash' },
},
type: 'row',
},
@@ -374,8 +375,8 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
appliesTo: 'cloud',
featureLabel: msg`API calls`,
tiers: {
organization: { kind: 'text', text: msg`200 per minute` },
pro: { kind: 'text', text: msg`100 per minute` },
organization: { kind: 'text', text: msg`100 per minute` },
pro: { kind: 'text', text: msg`50 per minute` },
},
type: 'row',
},
@@ -8,7 +8,7 @@ const PRO_BULLETS_MONTHLY = [
msg`Full customization`,
msg`Create custom apps`,
msg`AI Agents with custom skills`,
msg`Up to 5M automation credits/month`,
msg`5 workflow credits/month included`,
msg`Standard support`,
];
@@ -16,7 +16,7 @@ const PRO_BULLETS_YEARLY = [
msg`Full customization`,
msg`Create custom apps`,
msg`AI Agents with custom skills`,
msg`Up to 50M automation credits/year`,
msg`50 workflow credits/year included`,
msg`Standard support`,
];
@@ -28,24 +28,27 @@ const PRO_BULLETS_SELF_HOST = [
const ORGANIZATION_BULLETS_MONTHLY = [
msg`Everything in Pro`,
msg`Roles & Permissions`,
msg`Row-level permissions`,
msg`SAML/OIDC SSO`,
msg`Custom domain`,
msg`Priority support`,
];
const ORGANIZATION_BULLETS_YEARLY = [
msg`Everything in Pro`,
msg`Roles & Permissions`,
msg`Row-level permissions`,
msg`SAML/OIDC SSO`,
msg`Custom domain`,
msg`Priority support`,
];
const ORGANIZATION_BULLETS_SELF_HOST = [
msg`Everything in Pro`,
msg`Roles & Permissions`,
msg`Custom AI models`,
msg`Row-level permissions`,
msg`SAML/OIDC SSO`,
msg`Twenty team support`,
msg`No open-source distribution requirement`,
msg`Up to 5 workspaces`,
];
export const PLANS_DATA = {