# Softr

Build custom apps and portals from Airtable in minutes with no-code. Softr provides user management and database APIs for building client portals, internal tools, and web applications.

- **Category:** app builder
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `SOFTR`
- **Version:** 20260323_00

## Tools

### Create Database

**Slug:** `SOFTR_CREATE_DATABASE`

Tool to create a new database in a Softr workspace. Use when you need to set up a new database for storing data within a specific Softr workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new database. Choose a descriptive name that helps identify the database purpose. This will be displayed in the Softr interface. |
| `description` | string | No | Optional description of the database. Provide additional context about the database purpose, data structure, or usage guidelines. |
| `workspaceId` | string | Yes | The ID of the workspace where the database will be created. This is a required parameter that identifies which workspace will contain the new database. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Record

**Slug:** `SOFTR_CREATE_RECORD`

Creates a new record in a Softr database table. Use when you need to add new data to a specific table in your Softr database.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | object | Yes | Field values for the new record. This is a mapping of field IDs to their values. Field IDs are specific to your table schema in Softr. Example: {'c63tL': 'test@example.com', 'o0JWv': 'Test User'} |
| `table_id` | string | Yes | The unique identifier of the table where the record will be created |
| `database_id` | string | Yes | The unique identifier of the database where the record will be created |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Table

**Slug:** `SOFTR_CREATE_TABLE`

Tool to create a new table within a specified Softr database. Use when you need to add a new data structure with custom fields to organize information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new table. |
| `fields` | array | Yes | Collection of field definitions for the table. At least one field is required. Each field must have a name and type. |
| `database_id` | string | Yes | The unique identifier of the database where the table will be created. |
| `description` | string | No | Optional description of the table to explain its purpose. |
| `primary_field_name` | string | No | Designates which field serves as the primary identifier for records in this table. Must match the name of one of the fields in the fields array. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Table Field

**Slug:** `SOFTR_CREATE_TABLE_FIELD`

Tool to add a new field to a Softr table. Use when you need to add a new column to an existing table, such as adding an email field, a text field, or any other field type to store additional data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the new field. This will be the display name shown in the table and used to reference the field. Should be descriptive and unique within the table. |
| `type` | string ("SINGLE_LINE_TEXT" | "CHECKBOX" | "CURRENCY" | "DATETIME" | "DURATION" | "EMAIL" | "SELECT" | "NUMBER" | "ATTACHMENT" | "RATING" | "LINKED_RECORD" | "LONG_TEXT" | "URL" | "PERCENT" | "BUTTON" | "PROGRESS" | "PHONE" | "DATE_RANGE" | "ADDRESS" | "TIME" | "LOOKUP" | "ROLLUP" | "FORMULA" | "COUNT" | "CREATED_AT" | "UPDATED_AT" | "CREATED_BY" | "UPDATED_BY" | "AUTONUMBER" | "RECORD_ID" | "USER") | Yes | The type of the field, which determines what kind of data can be stored. Common types include SINGLE_LINE_TEXT for short text, EMAIL for email addresses, NUMBER for numeric values, CHECKBOX for boolean values, and SELECT for dropdown choices. |
| `options` | object | No | Configuration options specific to the field type. For SINGLE_LINE_TEXT, can include 'minLength' and 'maxLength' constraints. For SELECT, would include the list of choices. Can be an empty object {} if no specific options are needed. |
| `tableId` | string | Yes | The unique identifier of the table where the field will be added. This specifies which table within the database should receive the new field. |
| `databaseId` | string | Yes | The unique identifier of the database containing the table. This is a UUID format identifier that specifies which database to use. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete database

**Slug:** `SOFTR_DELETE_DATABASE`

Tool to delete a specific database by its ID from Softr. Use when you need to remove a database. The database must be empty unless the 'force' parameter is set to true. This operation is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `force` | boolean | No | If true, deletes the database even if it contains tables or records. If false (default), deletion will fail if the database is not empty. Use with caution as this operation is irreversible. |
| `database_id` | string | Yes | The unique identifier of the database to delete. This is the database ID from Softr. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Record

**Slug:** `SOFTR_DELETE_RECORD`

Tool to delete a record from a Softr database table. Use when you need to permanently remove a specific record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `table_id` | string | Yes | The unique identifier of the table containing the record |
| `record_id` | string | Yes | The unique identifier of the record to delete |
| `database_id` | string | Yes | The unique identifier of the database containing the table |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Table

**Slug:** `SOFTR_DELETE_TABLE`

Tool to delete a specific table by its ID from a database. Use when you need to remove a table. The table must be empty unless the force parameter is set to true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `force` | boolean | No | If true, deletes the table even if it contains records. If false (default), deletion fails if table is not empty. |
| `table_id` | string | Yes | The unique identifier of the table to delete |
| `database_id` | string | Yes | The unique identifier of the database |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Table Field

**Slug:** `SOFTR_DELETE_TABLE_FIELD`

Tool to delete a field from a Softr database table. Use when you need to remove a field from a table. Returns success confirmation upon completion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `field_id` | string | Yes | The unique identifier of the field to delete |
| `table_id` | string | Yes | The unique identifier of the table |
| `database_id` | string | Yes | The unique identifier of the database |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Database

**Slug:** `SOFTR_GET_DATABASE`

Tool to retrieve details for a specific database by ID. Use when you need to fetch information about a particular database in Softr.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `database_id` | string | Yes | The unique identifier of the database to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Databases

**Slug:** `SOFTR_GET_DATABASES`

Tool to retrieve all databases available in the workspace. Use when you need to list or discover available databases for further operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Record

**Slug:** `SOFTR_GET_RECORD`

Tool to retrieve a single record by its ID from a Softr database table. Use when you need to fetch detailed information about a specific record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tableId` | string | Yes | The unique identifier of the table |
| `recordId` | string | Yes | The unique identifier of the record to retrieve |
| `databaseId` | string | Yes | The unique identifier of the database |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get records from table

**Slug:** `SOFTR_GET_RECORDS`

Tool to retrieve a paginated list of records from a Softr table. Use when you need to fetch records from a specific table with optional pagination parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of records to return per request. Defaults to 10 if not specified. |
| `offset` | integer | No | Number of records to skip for pagination. Defaults to 0 if not specified. |
| `tableId` | string | Yes | The unique identifier of the table |
| `databaseId` | string | Yes | The unique identifier of the database |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table

**Slug:** `SOFTR_GET_TABLE`

Tool to retrieve details for a specific table by ID. Use when you need to inspect table structure, fields, or metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `table_id` | string | Yes | The unique identifier of the table to retrieve |
| `database_id` | string | Yes | The unique identifier of the database containing the table |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Field

**Slug:** `SOFTR_GET_TABLE_FIELD`

Tool to retrieve a specific field from a Softr table by field ID. Use when you need detailed configuration information about a table field, including its type, options, and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fieldId` | string | Yes | The field identifier. |
| `tableId` | string | Yes | The table identifier. |
| `databaseId` | string | Yes | The database identifier (UUID format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tables

**Slug:** `SOFTR_GET_TABLES`

Retrieves all tables within a specified Softr database. Use when you need to list or explore the tables available in a database.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `databaseId` | string | Yes | The unique identifier of the database to retrieve tables from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Views

**Slug:** `SOFTR_GET_TABLE_VIEWS`

Tool to retrieve all views for a specified table in a Softr database. Use when you need to list or inspect available views for a table.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `table_id` | string | Yes | The unique identifier of the table whose views are to be retrieved. |
| `database_id` | string | Yes | The unique identifier of the database containing the table. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Records

**Slug:** `SOFTR_SEARCH_RECORDS`

Tool to search records in a Softr database table with filtering and pagination. Use when you need to retrieve records from a specific table, optionally filtered by field values and paginated for large result sets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | object | No | Filter conditions for searching records. Structure varies based on table schema and filter requirements. |
| `paging` | object | No | Pagination options for record search. |
| `table_id` | string | Yes | The unique identifier of the table to search records in. |
| `database_id` | string | Yes | The unique identifier of the database containing the table. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Database

**Slug:** `SOFTR_UPDATE_DATABASE`

Tool to update an existing database's name and/or description. Use when you need to modify database metadata after creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the database |
| `database_id` | string | Yes | The unique identifier of the database to update |
| `description` | string | No | The new description for the database |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update a record

**Slug:** `SOFTR_UPDATE_RECORD`

Tool to update an existing record's field values in a Softr table. Use when you need to modify specific fields of a record by providing the database ID, table ID, record ID, and the new field values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | object | Yes | A map of field IDs to their new values. Field IDs are unique identifiers for each column in the table (e.g., 'o0JWv'). The values can be strings, numbers, booleans, or other types depending on the field type in your Softr table schema. |
| `table_id` | string | Yes | The unique identifier of the table containing the record. |
| `record_id` | string | Yes | The unique identifier of the record to update. |
| `database_id` | string | Yes | The unique identifier of the database containing the table. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Table

**Slug:** `SOFTR_UPDATE_TABLE`

Tool to update a table's name and/or description in Softr Database. Use when you need to modify table metadata. To modify fields, use the field-specific endpoints instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the table (required by API) |
| `table_id` | string | Yes | The unique identifier of the table |
| `database_id` | string | Yes | The unique identifier of the database |
| `description` | string | No | The new description of the table |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update table field

**Slug:** `SOFTR_UPDATE_TABLE_FIELD`

Updates an existing field in a Softr table. Use when you need to modify a field's name, type, or configuration options. Note: The API requires both 'type' and 'options' fields even if only updating the name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name of the field. If not provided, the field name remains unchanged. |
| `type` | string ("SINGLE_LINE_TEXT" | "CHECKBOX" | "CURRENCY" | "DATETIME" | "DURATION" | "EMAIL" | "SELECT" | "NUMBER" | "ATTACHMENT" | "RATING" | "LINKED_RECORD" | "LONG_TEXT" | "URL" | "PERCENT" | "BUTTON" | "PROGRESS" | "PHONE" | "DATE_RANGE" | "ADDRESS" | "TIME" | "LOOKUP" | "ROLLUP" | "FORMULA" | "COUNT" | "CREATED_AT" | "UPDATED_AT" | "CREATED_BY" | "UPDATED_BY" | "AUTONUMBER" | "RECORD_ID" | "USER") | Yes | The field type. Must be provided even if not changing the type. Common types: SINGLE_LINE_TEXT (text), EMAIL (email validation), NUMBER (numeric), CHECKBOX (boolean), SELECT (dropdown), LONG_TEXT (multi-line text). |
| `options` | object | Yes | Configuration options specific to the field type. For SINGLE_LINE_TEXT: {minLength: 0, maxLength: 1024}. For NUMBER: {precision: 2}. For SELECT: {choices: ['Option1', 'Option2']}. Structure varies by field type. |
| `field_id` | string | Yes | The unique identifier of the field to update. |
| `table_id` | string | Yes | The unique identifier of the table. |
| `database_id` | string | Yes | The unique identifier of the database. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
