<!-- BusyBot node reference — https://busybot.net/tools/adalo/ -->

> Node: Adalo (`adalo`) · Action · v1
> Category: Data & Storage · Credentials: Adalo API (`adaloApi`)
> Updated: 2026-08-16

# Adalo

> Perform CRUD operations on Adalo collection records

## Overview

Adalo is a no-code platform for building mobile and web apps. Its Collections API provides programmatic access to app data. This tool creates, reads, updates, and deletes records (rows) in Adalo collections. Collections have dynamic schemas defined by the user in the Adalo app builder. The API is available on paid Adalo plans only. All operations are scoped to a single Adalo app (determined by appId in credentials).

**Category:** Data & Storage  
**Tool Name:** `adalo`  
**Version:** 1

**Appearance:** Icon: `lucide-Smartphone` | Color: `#7C4DFF`

## Node Type

**Action** — processes input items and produces output

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool requires **Adalo API** credentials.
See the [Credentials Guide](https://busybot.net/credentials/adalo-api/) for setup instructions.

### Resources

| Resource | Value |
|----------|-------|
| Collection | `collection` |

### Operations

| Operation | Value | Description |
|-----------|-------|-------------|
| Create | `create` | Create a row |
| Delete | `delete` | Delete a row |
| Get | `get` | Retrieve a row |
| Get Many | `getAll` | Retrieve many rows |
| Update | `update` | Update a row |

### Parameters

#### Collection: Create

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Collection ID | `string` | Yes | — | The ID of the Adalo collection. Open your Adalo application and click on the three buttons beside the collection name, then select API Documentation. You can find information about app collections at `https://app.adalo.com/apps/<your-app-id>/api-docs` |
| Data to Send | `options` | No | `defineBelow` | Whether to insert the input data this node receives in the new row. |
| | | | | Options: `autoMapInputData` (use when node input properties match destination column names), `defineBelow` (set the value for each destination column) |
| Inputs to Ignore | `string` | No | — | List of input properties to avoid sending, separated by commas. Leave empty to send all properties. _(shown when Data to Send is `autoMapInputData`)_ |
| Fields to Send | `fixedCollection` | No | `{}` | Field must be defined in the collection, otherwise it will be ignored. If a field defined in the collection is not set here, it will be set to null. _(shown when Data to Send is `defineBelow`)_ |
| — Field ID | `string` | No | — | The field ID from the Adalo collection schema. |
| — Field Value | `string` | No | — | The value to set for this field. |

#### Collection: Delete

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Collection ID | `string` | Yes | — | The ID of the Adalo collection. Open your Adalo application and click on the three buttons beside the collection name, then select API Documentation. You can find information about app collections at `https://app.adalo.com/apps/<your-app-id>/api-docs` |
| Row ID | `string` | Yes | — | The ID of the row to operate on. |

#### Collection: Get

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Collection ID | `string` | Yes | — | The ID of the Adalo collection. Open your Adalo application and click on the three buttons beside the collection name, then select API Documentation. You can find information about app collections at `https://app.adalo.com/apps/<your-app-id>/api-docs` |
| Row ID | `string` | Yes | — | The ID of the row to operate on. |

#### Collection: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Collection ID | `string` | Yes | — | The ID of the Adalo collection. Open your Adalo application and click on the three buttons beside the collection name, then select API Documentation. You can find information about app collections at `https://app.adalo.com/apps/<your-app-id>/api-docs` |
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. Accepts 1–100. _(shown when Return All is `false`)_ |

#### Collection: Update

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Collection ID | `string` | Yes | — | The ID of the Adalo collection. Open your Adalo application and click on the three buttons beside the collection name, then select API Documentation. You can find information about app collections at `https://app.adalo.com/apps/<your-app-id>/api-docs` |
| Row ID | `string` | Yes | — | The ID of the row to operate on. |
| Data to Send | `options` | No | `defineBelow` | Whether to insert the input data this node receives in the new row. |
| | | | | Options: `autoMapInputData` (use when node input properties match destination column names), `defineBelow` (set the value for each destination column) |
| Inputs to Ignore | `string` | No | — | List of input properties to avoid sending, separated by commas. Leave empty to send all properties. _(shown when Data to Send is `autoMapInputData`)_ |
| Fields to Send | `fixedCollection` | No | `{}` | Field must be defined in the collection, otherwise it will be ignored. If a field defined in the collection is not set here, it will be set to null. _(shown when Data to Send is `defineBelow`)_ |
| — Field ID | `string` | No | — | The field ID from the Adalo collection schema. |
| — Field Value | `string` | No | — | The value to set for this field. |

#### All Operations

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Max Concurrency | `number` | No | `10` | Maximum number of items to process concurrently. Accepts 1–100. |

## Output Data

The Adalo record returned by the API is merged onto the input item's JSON, so the fields you started with stay available alongside the record's columns. Binary data on the input item is forwarded unchanged.

| Operation | Output |
|-----------|--------|
| `create` | One item per input item, carrying the newly created record (including the `id` Adalo assigned). |
| `get` | One item per input item, carrying the requested record. |
| `update` | One item per input item, carrying the updated record. |
| `delete` | One item per input item, carrying `success: true`. |
| `getAll` | **Fans out** — one output item per record returned. A collection with no matching records still emits one item, which is the input item passed through unchanged. |

Because a record's columns are merged at the top level, reference them directly downstream — `{{ $json.id }}`, `{{ $json.email }}` — using the field names defined in your Adalo collection schema.

## Usage Examples

- Create a new record in an Adalo collection
- Retrieve all records from an Adalo collection
- Update a record in an Adalo collection by row ID
- Delete a record from an Adalo collection

## Example Configuration

Create a row, mapping each column explicitly:

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "create",
    "collectionId": "t_abc123",
    "dataToSend": "defineBelow",
    "fieldsUi": {
      "fieldValues": [
        { "fieldId": "Name", "fieldValue": "{{ $json.name }}" },
        { "fieldId": "Email", "fieldValue": "{{ $json.email }}" },
        { "fieldId": "Status", "fieldValue": "pending" }
      ]
    }
  }
}
```

Create a row from the incoming item's own properties, dropping the ones Adalo manages:

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "create",
    "collectionId": "t_abc123",
    "dataToSend": "autoMapInputData",
    "inputsToIgnore": "id,createdAt,updatedAt"
  }
}
```

Fetch a single row by ID:

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "get",
    "collectionId": "t_abc123",
    "rowId": "{{ $json.recordId }}"
  }
}
```

Read an entire collection, following pagination to the end:

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "getAll",
    "collectionId": "t_abc123",
    "returnAll": true
  }
}
```

Read the first 50 rows only:

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "getAll",
    "collectionId": "t_abc123",
    "returnAll": false,
    "limit": 50
  }
}
```

Update a row, then delete another:

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "update",
    "collectionId": "t_abc123",
    "rowId": "{{ $json.recordId }}",
    "dataToSend": "defineBelow",
    "fieldsUi": {
      "fieldValues": [
        { "fieldId": "Status", "fieldValue": "active" }
      ]
    }
  }
}
```

```json
{
  "type": "adalo",
  "parameters": {
    "resource": "collection",
    "operation": "delete",
    "collectionId": "t_abc123",
    "rowId": "{{ $json.recordId }}"
  }
}
```

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

Perform CRUD operations on records in Adalo no-code app collections.