• Tools
Tools
  • Tools
loading...
No Results
  • ActiveCampaign
  • AirDroid Business
    • Index
    • Batch Resolve Device and Group IDs by Name
    • Batch Resolve Device IDs by Name
    • Batch Resolve Group IDs by Name
    • Batch Get Devices by Device or Group IDs
    • Clear app data and cache
    • Create a group
    • Delete groups
    • Delete Provisioning Templates
    • Disable lost mode
    • Error codes
    • Enable lost mode
    • Field reference
    • Get average screen time
    • Get account activities
    • Get a Configuration
    • Get a device by name
    • Get a device app by name
    • Get a group
    • Get a group id by group name
    • Get a Provisioning Template
    • Get an activity log
    • Get all devices
    • Get all device apps
    • Get all devices with filter
    • Get Config File Deployment Status
    • Get device info push
    • Get device location report
    • Get device network connection history
    • Get device application usage duration
    • Get device application report
    • Get device online status report
    • Get device remote access report
    • Get data usage overview and trends
    • Get tag ids by tag names
    • Get top 10 apps by usage duration
    • Get top 10 data usage apps
    • Generate Device Owner Enrollment QR for Template
    • List Groups
    • List Policy and Kiosk Configurations
    • List Provisioning Templates
    • Lock a device
    • Move devices to a group
    • Open app to foreground
    • Power off a device
    • Reboot device
    • Remote operation
    • Search Groups
    • Set tags
    • Turn off device screen
    • Unenroll a device
    • Update a device name
    • Update a device remark
    • Update a group name
    • Update a group remark
  • Adalo
  • Appstore
  • Asana
  • AWS Lambda
  • AWS-S3
  • BambooHR
  • Bitbucket
  • Brevo
  • Clockify
  • Coda
  • ConvertKit
  • DingTalk
  • Discord
  • Discourse
  • Dropbox
  • Elasticsearch
  • Elastic Security
  • FeiShu
  • Firecrawl
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Gerrit
  • Github
  • Gitlab
  • Google Ads
  • Google Analytics
  • Google Calendar
  • Google Developer
  • Google Docs
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Grafana
  • Hacker News
  • HaloPSA
  • Harvest
  • Help Scout
  • Hubspot
  • Intercom
  • Jenkins
  • Jira
  • Kafka
  • Lemlist
  • Linear
  • Magento
  • MailChimp
  • Mautic
  • Metabase
  • Microsoft Excel
  • Microsoft OneDrive
  • Microsoft Outlook
  • Microsoft Sharepoint
  • Microsoft Teams
  • Microsoft To Do
  • monday.com
  • MySQL
  • Nextcloud
  • Notion
  • Odoo
  • Okta
  • OpenAI
  • Ortto
  • Paddle
  • PayPal
  • Pipedrive
  • PostgreSQL
  • PostHog
  • Qdrant
  • QuickBooks
  • Redis
  • Segment
  • SendGrid
  • ServiceNow
  • Shopify
  • Slack
  • Splunk
  • Spotify
  • Strapi
  • Stripe
  • System Tools
    • Code
    • CSV
    • Crypto
    • Data Shaping
    • Date & Time
    • Delay
    • Documents
    • QRCode
    • Search&Crawl
    • Text
    • Xml
  • Teambition
  • Telegram
  • Todoist
  • Trello
  • Twilio
  • Webflow
  • Wekan
  • Wikipedia
  • WooCommerce
  • WordPress
  • X
  • YouTube
  • Zammad
  • Zendesk
  • Zoho CRM
  • Zoom
  • Zulip
Home > Tools

Adalo

1. Overview

Adalo is a no-code platform that allows users to build powerful web and mobile applications without writing a single line of code. It provides a visual interface for designing app screens, managing databases (called collections), and defining user workflows.

The GoInsight Adalo node enables you to connect to your Adalo application's database and automate data management tasks. You can seamlessly integrate your Adalo app with other services, allowing for full lifecycle management of your records. This includes:

  • Creating new records (rows) in any collection.
  • Reading single records or retrieving lists of records with filtering and pagination.
  • Updating existing records with new information.
  • Deleting records that are no longer needed.

2. Prerequisites

Before using this node, you will need to have a valid Adalo account. You will also need to generate an API Key from within your Adalo app's settings to authenticate your requests. You may need appropriate permissions within your Adalo team to access API settings.

3. Credentials

For a detailed guide on how to obtain and configure your credentials, please refer to our official documentation: Credentials Configuration Guide.

4. Supported Operations

Summary

This node primarily operates on the Row resource within Adalo collections, allowing you to manage your database records seamlessly.

Resource Operation Description
Row Create a Row Creates a new row in an Adalo collection with the provided field values.
Row Retrieve All Rows Retrieves all rows (records) from an Adalo collection with support for pagination, sorting, and filtering.
Row Retrieve a Row Retrieves a single row from an Adalo collection by record ID, returning complete record data including all fields and system metadata.
Row Update a Row Updates one or more fields of a single row in an Adalo collection by record ID, performing a partial update.
Row Delete a Row Permanently deletes a single row from an Adalo collection by record ID.

Operation Details

Create a Row

Creates a new row in an Adalo collection with the provided field values.

When to use:

  • Insert a new business record into a collection
  • Save user-submitted form data into Adalo tables
  • Create seed or integration data in workflow automation

Key points:

  • Uses POST /v0/apps/{app_id}/collections/{collection_id} with API key authentication
  • Sends RowData as the request body and returns the full created row object
  • No built-in deduplication; each call creates a new row
  • For duplicate prevention, check for existing records before calling this action
  • ⚠️ WARNING: This action is NOT idempotent. Calling it multiple times with the same data will create duplicate rows. Always use adalo_row_list to check for existing records before creating.
  • StatusCode follows unified rule (-1/200/500); check OriginalStatusCode for upstream HTTP result

Input Parameters:

  • CollectionId: Target collection ID (required). A numeric string that identifies your Adalo collection. How to get Collection ID: 1. Open your Adalo app in the editor 2. Go to the Database tab 3. Click on the collection you want to use 4. The Collection ID is shown in the URL: https://app.adalo.com/apps/YOUR_APP_ID/database/collections/COLLECTION_ID 5. Copy the numeric ID after /collections/ Format: Numeric string (e.g., "12345", not 12345) Example: "12345"
  • RowData: Row data as an object containing field names and values (required). Field names must match your collection schema exactly (case-sensitive). How to view your Collection Schema: 1. Open your Adalo app in the editor 2. Go to the Database tab 3. Click on the target collection 4. View all fields and their types in the Fields panel 5. Required fields are marked with a red asterisk (*) Field Type Guidelines: - Text fields: Use string values (e.g., "name": "John Doe") - Number fields: Use numeric values (e.g., "age": 30, "price": 19.99) - Boolean fields: Use true/false (e.g., "is_active": true) - Date fields: Use ISO 8601 format (e.g., "signup_date": "2024-01-15") - Relationship fields (links to other collections): - Single relationship (one related record): Use related record ID (e.g., "user_id": "67890") - Multiple relationships (many related records): Use array of IDs (e.g., "tag_ids": ["1", "2"]) - Image/File fields: Use file URL (e.g., "avatar": "https://example.com/image.jpg") Important: Required fields must be included. Invalid field names will cause API errors. Example: {"name": "John Doe", "email": "john@example.com", "age": 30, "is_active": true, "signup_date": "2024-01-15"}

Output:

  • Row (object): The created row object containing all stored field values. System Fields (always present): | Field | Type | Description | |:---|:---:|:---| | id | string | Unique row identifier assigned by Adalo (numeric string) | | created_at | string | ISO 8601 timestamp of creation | | updated_at | string | ISO 8601 timestamp of last update | Custom Fields (from RowData input): All fields you provided in RowData will be returned with their stored values. Notes: - Relationship fields return the related record ID(s), not the full object - Date fields are returned in ISO 8601 format Example: {"id": "67890", "name": "John Doe", "email": "john@example.com", "company_id": "12345", "created_at": "2024-01-15T10:30:00Z", "updated_at": "2024-01-15T10:30:00Z"}
  • RetryAfterSeconds (number): Suggested wait time in seconds before retrying when rate limited (HTTP 429). Present only on rate-limit responses; 0 for non-429 responses. Agents should respect this value before retrying.
  • OriginalStatusCode (number): The original HTTP status code returned by Adalo API. 0 if request did not reach the API (local validation error or network error).
  • StatusCode (number): Operation status code. -1 for parameter validation error, 200 for request completed (check ErrorMessage for business errors), 500 for network/system errors (Agent may retry).
  • ErrorMessage (string): Error details if any, empty string otherwise.

Retrieve All Rows

Retrieves all rows (records) from an Adalo collection with support for pagination, sorting, and filtering.

When to use:

  • List all records in a collection for display or batch processing
  • Query records with specific criteria using filter conditions
  • Implement paginated data views in applications or reports

Key points:

  • Uses GET /v0/apps/{app_id}/collections/{collection_id} with API key authentication
  • Supports server-side pagination via page and per_page parameters (default: page=1, per_page=100, max: 1000)
  • Filter conditions use key-value pairs with AND logic (e.g., {"Status": "active", "Priority": "high"})
  • Sorting format: field_name ASC or field_name DESC (e.g., "created_at DESC")
  • Returns Rows object with rows array, pagination metadata (page, per_page, total, total_pages, has_more)
  • StatusCode follows unified rule (-1/200/500); check OriginalStatusCode for upstream HTTP result

Input Parameters:

  • CollectionId: The target collection ID from which rows will be retrieved. How to get Collection ID: 1. Log in to your Adalo dashboard 2. Navigate to your app's Collections tab 3. Click on the target collection 4. Copy the Collection ID from the URL: https://app.adalo.com/apps/{app_id}/collections/{collection_id} Example: 12345 or col_abc123xyz

Options:

  • Page: Page number for pagination (starting from 1, default: 1)
  • PerPage: Number of records per page (default: 100, max: 1000)
  • Sort: Sorting specification in format: field_name ASC or field_name DESC. Common sort fields: - created_at: Sort by creation time - updated_at: Sort by last update time - Name: Sort by the 'Name' field (if exists) Custom sorting: You can sort by any field in your collection schema.
  • FilterCondition: Filter conditions as key-value pairs. Key is the field name, value is the filter value. Multiple conditions are combined with AND logic. Common filter fields: - Status: Record status (e.g., "active", "pending") - Priority: Priority level (e.g., "high", "medium", "low") - created_at: Creation date (ISO 8601 format) Example: {"Status": "active", "Priority": "high"}

Output:

  • Rows (object): Query result object containing: - rows (array): Array of retrieved row records. Each record is an object with: - id (string): Unique record identifier (numeric string) - created_at (string): Creation timestamp (ISO 8601) - updated_at (string): Last update timestamp (ISO 8601) - Custom fields: Additional fields depend on the collection schema (e.g., name, email, status) - page (number): Current page number - per_page (number): Records per page - total (number): Total record count across all pages - total_pages (number): Total pages available - has_more (boolean): Whether more pages exist Example: {"rows": [{"id": "12345", "name": "John", "email": "john@example.com", "created_at": "2024-01-15T10:30:00Z"}], "page": 1, "per_page": 50, "total": 250, "total_pages": 5, "has_more": true}
  • RetryAfterSeconds (number): Suggested wait time in seconds before retrying when rate limited (HTTP 429). Present only on rate-limit responses; 0 for non-429 responses. Agents should respect this value before retrying.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. - 0: Request did not reach upstream (network error, timeout) - 200: Upstream success - 4xx: Client error from upstream - 5xx: Server error from upstream
  • StatusCode (number): Operation status code: - 200: Success or business error (check ErrorMessage for details) - -1: Parameter validation error - 500: System error (network timeout, connection failure)
  • ErrorMessage (string): Detailed error description. Empty string when successful.

Retrieve a Row

Retrieves a single row from an Adalo collection by record ID, returning complete record data including all fields and system metadata.

When to use:

  • Fetch detailed information of a specific record for display or processing
  • Verify record existence and current field values before update operations
  • Retrieve related data using record ID from other API responses

Key points:

  • Uses GET /v0/apps/{app_id}/collections/{collection_id}/{record_id} with API key authentication
  • Returns complete record object with system fields (id, created_at, updated_at) and custom fields
  • If record does not exist, returns StatusCode 200 with ErrorMessage containing "API Error (404)" and empty Row object
  • Relationship fields return nested objects or arrays with full related record data
  • StatusCode follows unified rule (-1/200/500); check OriginalStatusCode for upstream HTTP result

Input Parameters:

  • CollectionId: The unique identifier of the Adalo collection (table). Find it in Adalo app builder: Database > Collections > click collection > copy ID from URL. Or obtain from 'Retrieve All Rows' API. Format: numeric string. Example: "12345" Note: CollectionId is stable and can be reused across multiple API calls. You only need to fetch it once per collection.
  • RecordId: The unique identifier of the record to retrieve. Obtained from Create/Update/List operations response, or from Adalo app builder Data tab. Format: numeric string. Example: "67890" Important: If the record does not exist, the API will return StatusCode 200 with ErrorMessage containing "API Error (404)" or similar. The Record object will be empty ({}).

Output:

  • Row (object): The retrieved row object. Empty object ({}) if row not found. System Fields (always present): - id (string): Unique record identifier (numeric string) - created_at (string): ISO 8601 creation timestamp (e.g., "2024-01-15T10:30:00.000Z") - updated_at (string): ISO 8601 last update timestamp Custom Fields (depend on collection schema): - Text fields → string - Number fields → number - True/False fields → boolean - Date/Time fields → string (ISO 8601 format) - Image fields → string (URL) - Relationship fields → object or array of objects (with nested id, created_at, etc.) Example: {"id": "67890", "created_at": "2024-01-15T10:30:00.000Z", "updated_at": "2024-01-15T14:20:00.000Z", "Name": "John Doe", "Email": "john.doe@example.com", "Status": "active", "Company": {"id": "123", "Name": "Acme Corp"}}
  • RetryAfterSeconds (number): Suggested wait time in seconds before retrying when rate limited (HTTP 429). Present only on rate-limit responses; 0 for non-429 responses. Agents should respect this value before retrying.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. - 0: Request did not reach upstream (network error, timeout) - 200: Upstream success - 4xx: Client error from upstream (400 Bad Request, 401 Unauthorized, 404 Not Found) - 5xx: Server error from upstream
  • StatusCode (number): Operation status code: - 200: Success or business error (check ErrorMessage for details) - -1: Parameter validation error (invalid or missing input parameters) - 500: System error (network timeout, connection failure, or response parsing error) Note: Business-level errors from upstream API are returned with StatusCode 200 and details in ErrorMessage.
  • ErrorMessage (string): Detailed error description. Empty string when successful.

Update a Row

Updates one or more fields of a single row in an Adalo collection by record ID, performing a partial update.

When to use:

  • Modify specific fields of an existing record without affecting other fields
  • Update record status or properties based on workflow logic
  • Correct or enrich record data with new information

Key points:

  • Uses PUT /v0/apps/{app_id}/collections/{collection_id}/{record_id} with API key authentication
  • Partial update: only fields provided in UpdateData will be modified, other fields remain unchanged
  • Returns complete updated record object with all fields including system metadata
  • If record does not exist, returns error with appropriate HTTP status code
  • ⚠️ CAUTION: This is a write operation that modifies live data. Changes are immediate and cannot be undone. Verify the RecordId and UpdateData before executing.
  • StatusCode follows unified rule (-1/200/500); check OriginalStatusCode for upstream HTTP result

Input Parameters:

  • CollectionId: The unique identifier of the Adalo collection (table). You can find this ID in: 1. Adalo app builder: Database > Collections > Click collection > Copy ID from URL 2. 'Retrieve All Rows' API response Format: numeric string. Example: "12345"
  • RecordId: The unique identifier of the record to update. You can obtain this ID from: 1. 'Create a Row' API response (id field, adalo_row_create) 2. 'Retrieve All Rows' API response (adalo_row_list) 3. 'Retrieve a Row' API response (adalo_row_get) Format: numeric string. Example: "67890"
  • UpdateData: Dictionary or JSON object containing the fields to update, e.g. {"Name":"John Doe","Status":"active"}

Output:

  • Row (object): The updated row object containing all fields defined in the collection. Common system fields include: - id (string): Unique record identifier - created_at (string): ISO 8601 timestamp of creation - updated_at (string): ISO 8601 timestamp of last update Additional fields depend on your collection schema. Example: {"id": "67890", "created_at": "2024-01-15T10:30:00Z", "updated_at": "2024-01-15T14:20:00Z", "Name": "John Doe", "Email": "john@example.com"}
  • RetryAfterSeconds (number): Suggested wait time in seconds before retrying when rate limited (HTTP 429). Present only on rate-limit responses; 0 for non-429 responses. Agents should respect this value before retrying.
  • OriginalStatusCode (number): The original HTTP status code returned by the upstream API. - 0: Request did not reach upstream (network error, timeout) - 200: Upstream success - 4xx: Client error from upstream (400 Bad Request, 401 Unauthorized, 404 Not Found) - 5xx: Server error from upstream
  • StatusCode (number): Operation status code: - 200: Success or business error (check ErrorMessage for details) - -1: Parameter validation error (invalid or missing input parameters) - 500: System error (network timeout, connection failure, or response parsing error) Note: Business-level errors from upstream API are returned with StatusCode 200 and details in ErrorMessage.
  • ErrorMessage (string): Detailed error description. Empty string when successful.

Delete a Row

Permanently deletes a single row from an Adalo collection by record ID.

When to use:

  • Remove invalid or duplicate records created by mistake
  • Clean up temporary or test data in controlled environments
  • Execute administrative data cleanup workflows

Key points:

  • Uses DELETE /v0/apps/{app_id}/collections/{collection_id}/{record_id} with API key authentication
  • Deletion is irreversible; review row details before deleting
  • Idempotent operation: deleting a non-existent row (404) is treated as success
  • Returns DeletedRow object with deletion status and row identifiers on success
  • StatusCode follows unified rule (-1/200/500); check OriginalStatusCode for upstream HTTP result

Input Parameters:

  • CollectionId: The unique identifier of the Adalo collection (table). You can find this ID in: 1) Adalo app builder: Database > Collections > click collection and copy ID from URL, 2) Retrieve All Rows response. Format: numeric string. Example: "98765432".
  • RecordId: The unique identifier of the record to delete. You can obtain this ID from: 1) Create a Row response (id field), 2) Retrieve All Rows response, 3) Retrieve a Row response. Format: numeric string. Example: "45678901".

Output:

  • DeletedRow (object): Business data object containing row deletion result. On success, includes deleted (boolean), collectionId (string), recordId (string). Returns empty object {} if operation failed (check ErrorMessage for reason).
  • RetryAfterSeconds (number): Suggested wait time in seconds before retrying when rate limited (HTTP 429). Present only on rate-limit responses; 0 for non-429 responses. Agents should respect this value before retrying.
  • OriginalStatusCode (number): The original HTTP status code returned by Adalo API. 0 if request did not reach the API (local validation error or network error).
  • StatusCode (number): Operation status code. -1 for parameter validation error, 200 for request completed (check ErrorMessage for business errors), 500 for network/system errors (Agent may retry).
  • ErrorMessage (string): Error details if any, empty string otherwise.

5. Example Usage

This section will guide you through creating a simple workflow to add a new user record to a "Users" collection in your Adalo application.

The workflow will consist of a Start node, an Adalo: Create a Row node, and an Answer node.

  1. Add the Adalo Node
    • In the workflow canvas, click the "+" button to add a new node.
    • Select the "Tool" tab in the pop-up panel.
    • Find and select "Adalo" from the list of tools.
    • From the list of supported operations for Adalo, click on "Create a Row" to add the node to your canvas.
  2. Configure the Node
    • Click on the newly added "Create a Row" node to open its configuration panel on the right.
    • Credentials: In the credentials field, click the dropdown menu and select your pre-configured Adalo credential.
    • Parameters: Fill in the input parameters for the action.
    • CollectionId: Enter the ID of your "Users" collection. You can find this ID in the API documentation section within your Adalo app's settings.
    • RowData: Provide a JSON object containing the new user's information. The keys in the JSON must match the property names in your Adalo collection. For example: {"Email": "new.user@example.com", "Full Name": "Jane Doe", "Status": "Active"}.
  3. Run and Validate
    • Once all required parameters are correctly filled, any error indicators on the workflow canvas will disappear.
    • Click the "Run" button in the top-right corner of the canvas to execute the workflow.
    • After a successful execution, you can click the log icon in the top-right corner to view the detailed input and output of the node, confirming that the new user record was created successfully.

After completing these steps, your workflow is fully configured. When executed, it will create a new record in your specified Adalo collection.

6. FAQs

Q: Why am I getting a 401 Unauthorized or 403 Forbidden error?

A: This typically indicates a problem with your API Key. Please verify the following:

  • Correct Key: Ensure the API Key entered in your GoInsight credential configuration is correct and has no extra spaces.
  • App Association: Make sure the API Key belongs to the Adalo app you are trying to interact with.
  • Permissions: Check if the API Key has the necessary permissions to perform the requested action on the target collection.

Q: How do I find my Collection ID?

A: You can find the Collection ID in the API documentation section of your Adalo app's settings. Navigate to Settings > App Access > API Documentation, and you will see a list of your collections along with their corresponding IDs.

Q: My Create a Row or Update a Row action is failing with a "Bad Request" error. What should I check?

A: This error often means the data you are sending does not match the collection's schema.

  • Ensure the RowData or UpdateData you provide is a valid JSON object.
  • Double-check that the field names (keys) in your JSON object exactly match the property names in your Adalo collection, including capitalization and spacing.
  • Verify that the data types you are sending are compatible with the field types in Adalo (e.g., sending a number for a number field).

7. Official Documentation

For more in-depth information about the Adalo API, please refer to the Adalo Official API Documentation.

Updated on: Jul 10, 2026
Was This Page Helpful?
Prev Update a group remark
Next Appstore
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results