Skip to main content
Google AppSheet logo

Overview

Add Google AppSheet to any ModuleX agent or workflow. Manage rows in Google AppSheet tables (add, read, update, delete) via the AppSheet REST API (api.appsheet.com).
Categories: Productivity & Collaboration · No Code · Databases · Auth: AppSheet API Key · Actions: 4

Authentication

AppSheet API Key

Authenticate using your AppSheet Application Access Key and App ID
1

Step 1

Open your app in AppSheet at https://www.appsheet.com
2

Step 2

Go to Settings > Integrations > IN: from cloud services to your app
3

Step 3

Enable the API and copy the Application Access Key
4

Step 4

Copy the App ID from the URL or Settings > App Info

Required Credentials

FieldDescriptionRequiredFormat
App IDYour AppSheet application ID (found in Settings > App Info or the app URL)Yesxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Application Access KeyYour AppSheet Application Access Key from Settings > IntegrationsYesV2-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Available Actions

Parameters

table_name
string
required
Name of the table to add a row to
row
object
required
JSON object representing the row data to add, with keys matching table column names

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "rows": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Rows",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "AddRowOutput",
  "type": "object"
}

Parameters

table_name
string
required
Name of the table to delete a row from
row
object
JSON object containing the key field values of the record to delete

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "rows": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Rows",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteRowOutput",
  "type": "object"
}

Parameters

table_name
string
required
Name of the table to read rows from
selector
string
An expression to filter and format the rows returned, e.g. Filter(TableName, [Column] = “Value”)
row
object
Filter results using key field values, e.g. {“First Name”: “John”}

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "rows": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Rows",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetRowsOutput",
  "type": "object"
}

Parameters

table_name
string
required
Name of the table containing the row to update
row
object
required
JSON object with the key field values of the record to update and any fields to change

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "rows": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Rows",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateRowOutput",
  "type": "object"
}

Limits & Quotas

  • AppSheet API has no publicly documented per-minute rate limits, but Google recommends keeping request volume moderate for shared-tenant apps.
  • Each app must have the API enabled in Settings > Integrations.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising.

Cal.com

Canva

ConvertAPI