How to generate conditional text with single select values in Baserow

Baserow’s single select field is straightforward and easy to use. After all, it’s a dropdown with predetermined values. But did you know you can generate dynamic text based on the value of the single select field using formulas?
In this guide, we’ll learn how to create text from a single select field. In this example, we’ll take a look at the progress of tasks in a project management system.
We’ll also tackle the case where the single select field value is null. Using nested if() clauses, we’ll walk through formula creation and syntax, complete with examples.
What we’ll do
In this tutorial, we’ll walk you through the process of generating conditional text based on single select field values. We’ll cover the following steps:
- Set up your Baserow database
- Create a single select field
- Write a formula that uses an IF statement
- Apply to single select field
- Set up the nested if () clause
- Handling an empty (null) selection
- Test and refine formula
- Formula best practices
Prerequisites
To complete this tutorial, you’ll need the following:
- A Baserow account.
- Access to a Baserow workspace and table.
- Knowledge of Baserow formula field.
Let’s dive in!
Generate dynamic text in Baserow using formulas
1. Set up your Baserow database
Log in to your existing Baserow account or create a new account if you don’t have one already.
Once you log in, you can access the dashboard to add workspaces and databases. You can work with an existing workspace, database, or table, or set up a new workspace from scratch.
In this tutorial, we will set up a new workspace and create a database from scratch.
-
To create a new workspace, simply click on the + Create workspace button. Then, click on Add workspace.
If you’re just starting with Baserow, we recommend you read our support article on how to create a workspace and how to add collaborators to a workspace.
-
Now that the workspace is set up, you can either create a database from scratch or choose a template from our template library. Let’s add a database to the workspace.
-
Click on the + Create new button to start creating a new database.
-
Select the “Database” option to create a database from scratch.
-
Next, add a new table or click on a table within the existing database to open it. A default table will be added to the newly created database.
That’s it! we’ve successfully created a new database. Now we can populate, manage, and organize data in Baserow.
2. Create a single select field
In Baserow, the single select field type allows you to choose between predefined options.
For a large number of options, consider using a link to table field with a separate table for dynamic text. This allows for easier management and updates.
If you don’t have one, create a single select field. Let’s say the single select field is called “Status”.
For this project, the options will be “In progress” and “Closed”. Let’s use these status values to generate conditional text using IF formulas.

3. Write a formula that uses an IF statement
Baserow formulas allow for dynamic text generation based on selected options. Let’s create a new formula field.
One of the possible ways to check the selected value and return custom text accordingly is by using the if() function.
Syntax:
if(bool, any, any)
This syntax is the basic structure for an IF statement in Baserow formulas. The if(bool, any, any) statement works like this:
bool: Your condition or test. If this is true, the formula returns the value after the first comma.- The first
any: The value to return if the condition is true. - The second
any: The value to return if the condition is false.
This statement will check the value of the condition and return the corresponding text for each option.
4. Apply to single select field
Now we have a single select field named Status, we want to generate conditional text based on this status.
The formula must be given exactly 3 arguments. If the boolean argument is true, it returns the second argument. Otherwise, it returns the third.
if(totext(field('Status')) = 'In Progress', 'Get going', 'Well done!')
This formula checks if the Status is “In Progress” and returns the “Get going” if true, or the “Well done!” if false.
totextfunction converts the input to text. Syntax:totext(any)
Remember to adjust the field names and conditions according to your use case.

5. Set up the nested if() clause
To dynamically generate text, we’ll use a nested if() clause.
Nested if() clauses in Baserow formulas provide a sequential, step-by-step evaluation of conditions. Unlike some other conditional statements, Baserow’s nested if() allows you to create a chain of conditions, checking each one until a true condition is met or a default value is reached. This sequential approach adds flexibility, especially when dealing with multiple criteria.
You can add more conditions using nested IF statements, like this:
if(
totext(field('Status')) = 'In Progress',
'Task is currently in progress',
if(
totext(field('Status')) = 'Closed',
'Task has been completed',
'Task status is unclear'
)
)
This formula checks for “In Progress,” then “Closed,” and defaults to “Task status is unclear” if neither condition is met.

6. Handling an empty (null) selection
Keeping a formula field empty can be strategic when you want a clean, minimalist output in certain scenarios. For instance, in communication or reporting where the absence of information is a valid state, an empty field avoids introducing unnecessary content.
It’s a strategic choice to maintain clarity and prevent the formula from unintentionally conveying information that doesn’t exist.
Let’s address a scenario where no selection is made. For this, we’ll use the isblank() function. Quite simply, this function checks if the argument provided is blank.
If no option is selected, we can add a condition for an empty field.
Here’s a breakdown:
if(
isblank(field('option1')),
'Text for option1',
if(
totext(field('SingleSelectField')) = 'option2',
'Text for option2',
'Fallback Text'
)
)
Replace “Option 1,” “Option 2,” and “Fallback Text” with your actual options and desired text. For example:
-
Add a default text for no selection:
if( isblank(field('Status')), 'Status unknown', if( totext(field('Status')) = 'In Progress', 'Get going', 'Well done!' ) )This checks if the single-select field is blank. If it is, the status becomes “Status unknown”. If not, it further checks whether “In Progress” is selected, generating the conditional text accordingly.
-
Keep it empty:
if( isblank(field('Status')), ' ', if( totext(field('Status')) = 'In Progress', 'Get going', 'Well done!' ) )This modification checks if the field is empty and leaves blank in such cases. If not, it further checks whether “In Progress” is selected, generating the conditional text accordingly.

7. Test and refine formula
Ensure the formula works by testing it with different single select options. Tweak the formula as needed.
8. Formula best practices
When working with nested if() clauses in Baserow, be cautious of potential pitfalls. One common mistake is neglecting to cover all possible scenarios, which can lead to unexpected results.
Also: keep an eye on formula complexity. Highly nested conditions may be tough to debug.
To avoid these issues:
- Check parentheses, commas, and quotes, and make sure your formula syntax is right.
- Use consistent naming conventions.
- Keep formulas short and well-arranged, and test them frequently.
- Begin with a single
if()function and check its result before adding more elements. - Make sure each condition is clear-cut and can handle any input.
Summary
Voila! You’ve learned how to create conditional text in Baserow based on a single select field. This includes managing cases where no choice is made.
Your new formula for conditional text reacts to changes in the single select field. It’s a great way to automate and clarify your Baserow setup.
Feel free to get creative based on your needs. Try out various scenarios and add elements like due dates or priority levels to your messages for a custom touch.
Make sure your messages are short and to the point. Check your formula syntax to prevent errors, and see that all possible options in your single select field are included in your formula.
Other useful resources
The following articles may also be helpful:
- 6 Time-Saving Baserow Formulas
- How to transform any spreadsheet into a database
- How to build a public product roadmap with a no-code
- 10 best project plan templates to kickstart your business
This article was originally published on the Baserow’s blog.
ABOUT ME
I'm Juliet Edjere, a no-code professional focused on automation, product development, and building scalable solutions with no coding knowledge.
Learn from practical examples and explore the possibilities of no-code, AI and automation. We'll navigate the tools, platforms, and strategies, one article at a time!
Visit my website → built with Carrd