Twenty doesn’t yet support native formula fields yet (coming in 2026), but you can achieve the same result using workflows. This workaround lets you automatically calculate and populate field values—from simple concatenations to complex business logic.Documentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
Common Use Cases
| Use Case | Formula Example |
|---|---|
| Full name | First Name + ” ” + Last Name |
| Expected amount | Amount × Probability |
| Days until due | Due Date - Today |
| Days in stage | Today - Stage Entry Date |
| Lead score | Points based on multiple criteria |
Basic Formula: Concatenation
Example: Auto-Fill Full Name
Goal: Automatically combine first and last name into a full name field.Setup
- Trigger: Record is Updated or Created (People)
- Filter: Check that first name or last name changed
- Code action:
- Update Record: Set Full Name to
{{code.fullName}}
Numeric Formula: Expected Amount
Example: Calculate Expected Revenue
Goal: Multiply opportunity amount by probability to get expected amount. See How to Show Expected Amount in Pipeline for the complete workflow.Quick Setup
- Trigger: Record is Updated (Opportunities, Amount OR Probability field)
- Code action:
- Update Record: Set Expected Amount to
{{code.expectedAmount}}
Date Formula: Days Calculation
Example: Days Until Task Due
Goal: Calculate how many days remain until a task’s due date.Setup
- Trigger: Record is Updated or Created (Tasks, Due Date field)
- Code action:
- Update Record: Set Days Until Due to
{{code.daysUntilDue}}
Negative values indicate overdue tasks. You can use this field to filter or sort tasks by urgency.
Conditional Formula: Lead Score
Example: Calculate Lead Score Based on Criteria
Goal: Score leads based on company size, industry, and engagement.Setup
- Trigger: Record is Updated (People or Companies)
- Code action:
- Update Record: Set Lead Score to
{{code.leadScore}}
Text Formula: Domain Extraction
Example: Extract Domain from Email
Goal: Automatically extract and store the email domain.Setup
- Trigger: Record is Updated (People, Email field)
- Code action:
- Update Record: Set Domain field to
{{code.domain}}
Best Practices
Performance
- Only trigger on relevant field changes
- Use filters to skip records that don’t need calculation
- Avoid complex calculations in high-volume workflows
Error Handling
- Check for null/undefined values before calculations
- Use default values when data is missing
- Return clear error messages when calculations fail
Testing
- Test with edge cases (empty fields, zero values)
- Verify calculations manually before activating
- Monitor workflow runs for unexpected results