AppSheet's Audit History is a record of recent interactions occurring in your application. It contains an entry for every:
- Sync between the users of your app and the AppSheet backend
- Add, edit, or delete between the users of your app and the AppSheet backend
- Add, edit, delete, action invocation, or read call made using the AppSheet API
- Invocation of a bot
You can use Audit History to troubleshoot:
- Issues where a user says that they synced their changes but no changes have been recorded
- AppSheet API calls
- Zapier API calls
- Bot issues
Monitor app activity using Audit History as described in the following sections:
To use Audit History:
Open your app in the editor.
Go to the Manage > Monitor tab and expand Audit History.
Click Launch log analyzer.
The Audit History log shows:
A list of recommendations for improving performance, if applicable
Summary charts of recent audit log entries by user and by operation
Audit History log results based on filters selected (see below)
Filter the log by:
Syncs, Adds, Updates, Deletes, API calls, or Documents
Start or end date
Table name, user ID, or rule name
Within a record, click the Details icon to view the outcome of the action.
Optionally, click Download Search results to download a copy of the search results as a JSON payload.
By default, the Audit History is shown for a limited recent period of time. Richer filtering and analysis capabilities are available as part of the Enterprise Plus pricing plans.
As the application creator, you can subscribe to automatically receive an email alert each time an error is recorded in Audit History. Audit History alerts are available as part of the Enterprise Plus pricing plans.
To enable or disable Audit History alerts:
- Go to the Manage > Monitor tab.
- Expand Audit History.
- Enable Enable Audit History alerts.
- Click Change settings to save your change.
Each Audit History alert email message contains the following information.
Alert for AppSheet application <application name> at <gmtTime> GMT
- Message: Error message from the Audit History record.
- Log URL: URL of the Audit History record.
- Operation: Operation type from the Audit History record.
- Application URL: URL of the application.
Filter Audit History alerts
You may wish to filter Audit History alerts to highlight some alerts and to suppress others. You can do this by creating email filter rules in your email client. Most email clients provide rich email filtering rules for categorizing and routing email messages.
Note: To audit changes by user, you must require users to sign in to the app.
For some apps, it's important to track specific interactions by user. You can examine the By User property in the Audit History log to determine who performed an add, update, or delete, as follows:
If your application requires sign in, the By User property in the Audit History log will contain the user ID of the user that performed the add, update, or delete.
If your application does not require sign in, the By User property in the Audit History log will contain the value
-1which indicates a guest user id.
If your application does require sign in but the user has not yet granted consent, the By User property in the Audit History log will contain the value
-2which indicates an unconsented user id.
You can keep track of which user performed the most recent add or update for each record by adding an extra column of type Email to each record. You can populate this column with the
USEREMAIL() of the most recent user to add or update the record. If you specify
USEREMAIL() as the default value of this column, then every new record will automatically contain the email address of the currently signed-in user who added the record. Then, you can update this column when a user updates the record.
Some apps require a richer audit trail to maintain the history of changes made by different users. Typically, the backend cloud storage provider has an auditing mechanism. For example, Google Sheets provides a Change History that shows a detailed list of changes made, including a timestamp and user information. In order to use this backend audit history, it's important that the AppSheet app run with the security setting As App User. Each potential user should also be given permissions to access the backend spreadsheet.