AppSheet
Integration version: 2.0
Use Cases
Perform CRUD actions.
Configure AppSheet integration in Google Security Operations SOAR
For detailed instructions on how to configure an integration in Google Security Operations SOAR, see Configure integrations.
Integration parameters
Use the following parameters to configure the integration:
Parameter name | Type | Default value | Is mandatory | Description |
---|---|---|---|---|
API Root | String | https://api.appsheet.com | Yes | API root of the AppSheet instance. |
App ID | String | N/A | Yes | ID of the AppSheet App. |
Access Token | Password | N/A | Yes | Access Token of the AppSheet App. |
Verify SSL | Checkbox | Checked | Yes | If enabled, verify the SSL certificate for the connection to the AppSheet server is valid. |
Actions
Add Record
Description
Add a record to a table in AppSheet.
Parameters
Parameter name | Type | Default value | Is mandatory | Description |
---|---|---|---|---|
Table Name | String | N/A | Yes | Specify the name of the table to which you want to add a new record. |
Record JSON Object | JSON | Yes | Specify the JSON object of the record that needs to be added. |
Run on
This action doesn't run on entities.
Action results
Script result
Script result name | Value options | Example |
---|---|---|
is_success | True/False | is_success=False |
Case wall
Result type | Description | Type |
---|---|---|
Output message* | The action should not fail nor stop a playbook execution: If data is available (is_success = true): "Successfully added new record in table "{table}" in AppSheet. The action should fail and stop a playbook execution: If a fatal error, like wrong credentials, no connection to the server, other is reported: "Error executing action "Add Record". Reason: {0}''.format(error.Stacktrace) If no data in response: "Error executing action "Add Record". Reason: Invalid payload was provided. Please check the spelling of Table Name and structure of the JSON object of the record.' If "Message" in the response: "Error executing action "Add Record". Reason: {0}''.format(Message) Invalid JSON object: Error executing action "Add Record". Reason: Invalid JSON object provided. Please check the structure. |
General |
Delete Record
Description
Delete a record in a table in AppSheet.
Parameters
Parameter name | Type | Default value | Is mandatory | Description |
---|---|---|---|---|
Table Name | String | N/A | Yes | Specify the name of the table in which you want to delete a record. |
Record JSON Object | JSON | Yes | Specify the JSON object of the record that needs to be deleted. You only need to provide the unique identifier key of the record. |
Run on
This action doesn't run on entities.
Action results
Script result
Script result name | Value options | Example |
---|---|---|
is_success | True/False | is_success=False |
Case wall
Result type | Description | Type |
---|---|---|
Output message* | The action should not fail nor stop a playbook execution: If data is available (is_success = true): "Successfully deleted record in table "{table}" in AppSheet. If status code 200, but rowNumber is null (is_success=true): Provided record didn't exist in table "{table}" in AppSheet. The action should fail and stop a playbook execution: If a fatal error, like wrong credentials, no connection to the server, other is reported: "Error executing action "Delete Record". Reason: {0}''.format(error.Stacktrace) If no data in response: "Error executing action "Delete Record". Reason: Invalid payload was provided. Please check the spelling of Table Name and structure of the JSON object of the record.' If "Message" in the response: "Error executing action "Delete Record". Reason: {0}''.format(Message) Error executing action "Delete Record". Reason: Invalid JSON object provided. Please check the structure. |
General |
List Tables
Description
List available tables in an app in AppSheet.
Parameters
Parameter name | Type | Default value | Is mandatory | Description |
---|---|---|---|---|
Filter Logic | DDL | Equal Possible values:
|
No | Specify what filter logic should be applied. |
Filter Value | String | N/A | No | Specify what value should be used in the filter. If "Equal" is selected, action will try to find the exact match among items and if "Contains" is selected, action will try to find items that contain that substring. If nothing is provided in this parameter, the filter will not be applied. |
Max Tables To Return | Integer | 50 | No | Specify how many tables to return. Default: 50. |
Run on
This action doesn't run on entities.
Action results
Script result
Script result name | Value options | Example |
---|---|---|
is_success | True/False | is_success=False |
JSON Result
{
"Tables": [
{
"name": "Hash identificiation",
"id": "Hash identificiation"
}
]
}
Case wall
Result type | Description | Type |
---|---|---|
Output message* | The action should not fail nor stop a playbook execution: If found results (is_success = true): "Successfully found tables for the provided criteria in AppSheet. If not found results (is_success = true): "No tables were found for the provided criteria in AppSheet. The action should fail and stop a playbook execution: If a fatal error, like wrong credentials, no connection to the server, other is reported: "Error executing action "List Tables". Reason: {0}''.format(error.Stacktrace) |
General |
Case Wall Table | Name: Available Tables Columns:
|
General |
Ping
Description
Test connectivity to AppSheet with parameters provided at the integration configuration page in the Google Security Operations Marketplace tab.
Parameters
N/A
Run on
This action doesn't run on entities.
Action results
Script result
Script result name | Value options | Example |
---|---|---|
is_success | True/False | is_success=False |
Case wall
Result type | Description | Type |
---|---|---|
Output message* | The action should not fail nor stop a playbook execution: If successful: "Successfully connected to the AppSheet server with the provided connection parameters!" The action should fail and stop a playbook execution: If not successful: "Failed to connect to the AppSheet server! Error is {0}".format(exception.stacktrace) |
General |
Search Records
Description
Search records in a table in AppSheet.
Parameters
Parameter name | Type | Default value | Is mandatory | Description |
---|---|---|---|---|
Table Name | String | N/A | Yes | Specify the name of the table for which you want to retrieve details. |
Selector Query | String | N/A | No | Specify the selector query, which will be used to limit results. If nothing is provided, action will return all records. |
Run on
This action doesn't run on entities.
Action results
Script result
Script result name | Value options | Example |
---|---|---|
is_success | True/False | is_success=False |
Case wall
Result type | Description | Type |
---|---|---|
Output message* | The action should not fail nor stop a playbook execution: If data is available (is_success = true): "Successfully retrieved records based on the provided criteria from table "{table}" in AppSheet. If no data is available (is_success=false): No records were found based on the provided criteria in table "{table}" in AppSheet. The action should fail and stop a playbook execution: If a fatal error, like wrong credentials, no connection to the server, other is reported: "Error executing action "Search Records". Reason: {0}''.format(error.Stacktrace) If "Message" in the response: "Error executing action "Search Records". Reason: {0}''.format(Message) |
General |
Case Wall Table | Name: Records | General |
Update Record
Description
Update a record in a table in AppSheet.
Parameters
Parameter name | Type | Default value | Is mandatory | Description |
---|---|---|---|---|
Table Name | String | N/A | Yes | Specify the name of the table in which you want to update a record. |
Record JSON Object | JSON | Yes | Specify the JSON object of the record that needs to be updated. You need to provide the unique identifier key and fields that you want to update. |
Run on
This action doesn't run on entities.
Action results
Script result
Script result name | Value options | Example |
---|---|---|
is_success | True/False | is_success=False |
Case wall
Result type | Description | Type |
---|---|---|
Output message* | The action should not fail nor stop a playbook execution: If data is available (is_success = true):"Successfully updated record in table "{table}" in AppSheet. The action should fail and stop a playbook execution: If fatal error, like wrong credentials, no connection to server, other: "Error executing action "Update Record". Reason: {0}''.format(error.Stacktrace) If no data in response: "Error executing action "Update Record". Reason: Invalid payload was provided. Please check the spelling of Table Name and structure of the JSON object of the record.' If "Message" in the response: "Error executing action "Update Record". Reason: {0}''.format(Message) Error executing action "Update Record". Reason: Invalid JSON object provided. Please check the structure. |
General |