<aside> 💡
Use this guide to get the most out of Squarid
</aside>
<aside> ⚠️
Squarid is in Preview. Features may be limited, unstable, or unavailable, and service outages may occur. The product is provided as is, without warranties. Nevertheless, contact Support 🛟 to make some exceptions if needed.
</aside>
Build apps with AI. Squarid help you build apps instantly considering the pillars of your needs.
Squarid is not just any other table-based SaaS. Find its highlights below:
| Capability | Other SaaS | Squarid |
|---|---|---|
| Core focus | ❎ Data management | ✅ App building |
| AI usage | ❎ Assistive (formulas, text) | ✅ Generative (apps, logic) |
| App creation | ❎ Manual | ✅ AI-driven, Template or Manual |
| Permissions | ❎ Column-level | ✅ Row- and Column-level |
| Permission-aware logic | ❎ Not in all contexts, usually no test mode | ✅ In UI and API, with Test Mode |
| Roles | ❎ Limited | ✅ With filtering |
| Programming language support | ❎ Proprietary languages | ✅ Standardized language: JavaScript |
| AI-generated / no-code workflows | ❎ Limited | ✅ From text to code for further tuning |
| Scope for workflows | ❎ Usually row only data | ✅ All table data |
| Change history | ❎ Limited, usually not enough information | ✅ Cell-level and configuration tracking |
Use the folllowing channels to get support:
When you create a table in Squarid you have the foundation blocks to build your application. A table is composed of:
The following table describes the different data types for columns available:
<aside> ✍️ Up to 20 different columns can be configured at the moment. Use AI to start with an initial proposal of columns.
</aside>
| Type | Description |
|---|---|
| string | Any text entered. It can be short or long text (up to 512 characters instead of 128 characters) |
| number | Any number entered. The number of decimals shown can be selected. |
| boolean | Either ‘true’ or ‘false’, shown as ‘Yes’ or ‘No’. |
| datetime | Local datetime. It can be date or date+time. Date will be shown as if it were local (no time zone is saved). |
| formula | JavaScript function named calculate() which makes calculations based on other row values and the value returned is shown - see ‣. |
| link | URL link with display name. |
| dropdown | Set of options of which one can be selected. |
When changing a column from one type to another:
| FROM ⬇️ / TO ➡️ | string | number | boolean | datetime | formula | link | dropdown |
|---|---|---|---|---|---|---|---|
| string | - | Values which cannot be converted into number will be null | Only “true” will be true | The date will be shown as “Invalid date” if the format is not recognized with the Date() constructor | OK | If the format is not “<DISPLAY NAME> | <URL ADDRESS>”, then only the display name is taken as the string and no link is set |
| number | OK | - | Always false | As recognized with Date() constructor | OK | If the format is not “<DISPLAY NAME> | <URL ADDRESS>”, then only the display name is taken as the string and no link is set |
| boolean | As “true” or “false” | Null | - | Shown as “Invalid Date” | OK | If the format is not “<DISPLAY NAME> | <URL ADDRESS>”, then only the display name is taken as the string and no link is set |
| datetime | As “AAAA-MM-DDTHH:MM” | Always false | - | OK | If the format is not “<DISPLAY NAME> | <URL ADDRESS>”, then only the display name is taken as the string and no link is set | |
| formula | Null | Null | Null | Null | - | Null | Null |
| link | As “<DISPLAY NAME> | <URL ADDRESS>” | Null | Always false | Shown as “Invalid Date” | OK | - |
| dropdown | OK | Values which cannot be converted into number will be null | Only “true” will be true | The date will be shown as “Invalid date” if the format is not recognized with the Date() constructor | OK | If the format is not “<DISPLAY NAME> | <URL ADDRESS>”, then only the display name is taken as the string and no link is set |
<aside> ✍️ Up to 20 different roles can be configured at the moment. Use AI to start with an initial proposal of roles.
</aside>
By default, there are two roles available which cannot be deleted:
<aside> ✍️ Only the tables created or starred by the user are shown in the dashboard, even when the user is added as an owner of the table.
</aside>
You need to explicitly add the user emails to the roles. Note:
For each role, the following permissions can be configured:
filter(), only applies to the read operation) - see Function filter() in Roles<aside>
✍️ Although the filter only applies to the read operation, you can limit the user’s ability to create, update and delete rows in the validate() function of the table - see Function validate() in Table.
</aside>
<aside> ✍️ Up to 10 different views can be configured at the moment.
</aside>
Title of the view being configured.
Brief description of the view being configured.
Filter the rows which need to be shown in the view - see Function filter() in Views.
Select the columns which will be shown in the view and its ordering.
<aside>
✍️ Note that role filtering is applied before view filtering: (1) by row - role [filter()], (2) by row - view [filter()], (3) by column - role [permissions → read], (4) by column - view [fields].
</aside>
<aside> ✍️ Up to 10 different actions can be configured at the moment.
</aside>
Title of the action being configured.
filter() in Rolesfilter() in Viewsvalidate() in Table