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
Step 2
Go to Settings > Integrations > IN: from cloud services to your app
Step 3
Enable the API and copy the Application Access Key
Step 4
Copy the App ID from the URL or Settings > App Info
Required Credentials
Field Description Required Format App ID Your AppSheet application ID (found in Settings > App Info or the app URL) Yes xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxApplication Access Key Your AppSheet Application Access Key from Settings > Integrations Yes V2-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Available Actions
add_row — Add a new row to a specific table in the AppSheet app
Parameters Name of the table to add a row to
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"
}
delete_row — Delete a specific row from a table in the AppSheet app
Parameters Name of the table to delete a row from
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"
}
get_rows — Read existing records from a table in the AppSheet app
Parameters Name of the table to read rows from
An expression to filter and format the rows returned, e.g. Filter(TableName, [Column] = “Value”)
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"
}
update_row — Update an existing row in a specific table in the AppSheet app
Parameters Name of the table containing the row to update
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.
Links