Welcome to the module on troubleshooting your app. As you build your app in AppSheet, you may sometimes encounter errors or warnings in the app sheet UI. These are indicators of problems with your app, data, or other configuration. This module helps you understand why you may experience problems with your apps and what are some of the strategies you can use to troubleshoot and resolve these issues with your app. Let's first review some of the errors and warnings you may encounter as you build and run your app, why you may see these errors or warnings, and how you can fix them. AppSheet automatically extracts the data structure from a spreadsheet or table when your app is generated. When AppSheet reads your spreadsheet, some errors, warnings, and information messages may be reported to the app editor due to spreadsheets structure, switching spreadsheets, or mismatch in the column structure. Let's review each of these in detail. Errors with spreadsheets structure typically occur when AppSheet cannot identify the table's column header. To resolve this error, make sure that non tabular data, like charts or pictures, are not in the first or leftmost worksheet tab in your spreadsheets. In worksheets with tabular data, make sure that the header columns are in the first row of the spreadsheet. When you switch to a different table or spreadsheet for your app, AppSheet tries to retain as much as possible of your existing app definition. However, if the new table or spreadsheet has a completely different columns structure than the original one that was used when creating the app, you may see errors related to the new data structure. To resolve these errors, modify the relevant parts of the app definition to use the new table or spreadsheet. One of the most common errors or warnings seen during the app creation process is when app creators modify their tables or spreadsheets to add, remove, or rename columns. Each time you do this and regenerate the tables, columns, structure in AppSheet, you may see errors or warnings at the old column structure and new structure do not align. For example, deleting a column from your table or spreadsheet that is used in an app formula for another virtual column will result in an error. To resolve these types of errors, regenerate the table's columns structure and modify your app definition to align with new data naming and structure where required. In this example, if the virtual column is no longer required, delete the column in the app definition. If it is still required, update its formula. AppSheet can experience errors when accessing, reading, or writing data from any Cloud storage provider. These errors are usually related to permissions, timeout, or server errors related to the data being accessed. AppSheet may encounter a 401 authorization error when it does not have permission to act on behalf of the app creator or app user. The app creator or app user must allow AppSheet to access their data that is stored on the Cloud provider. This is typically done when signing into AppSheet. This error occurs when AppSheet does not have permission to access the table or spreadsheet containing your app's data. Even though you, the app creator or the app user, may have granted app sheet access, there may be permission settings and individual files that may prevent app sheet from accessing those files. This may occur possibly because you have set the access mode in the app to access the table as app user and the app user does not have permissions to access the data on the Cloud provider. As the app creator, you may have built the app using a shared spreadsheet and now no longer have permissions to access the file. To resolve this error, make sure the file or table has appropriate permissions set for the required level of access. This error usually occurs when the file containing your app's data is not found on the Cloud provider system. A common reason for this error is that the file may have been moved, deleted, or renamed. To resolve this error, make sure the file exists in the correct location on the Cloud provider system. If you renamed a connected worksheet, try reverting the name or reconnecting the worksheet to the app. This is an internal server error generated by the back-end Cloud provider that may occur when app she attempts to read or write data to your spreadsheet or database. This error is considered to be transient as AppSheet automatically retries the read or write requests to the Cloud provider. As discussed in a previous module, the app sheet sync process reads and writes data to and from the AppSheet server, which in turn fetches and updates the data to and from the Cloud provider. Let's review the errors that could occur during the sync process. The sync process can generate errors due to poor network connectivity. To resolve this error, the app user can retry the sync request once network connectivity is restored. On occasion, a sync requests may take a long time to process or there may be connectivity issues to the AppSheet server. The app user might resubmit the sync request while the previous sync is still in process. If the server detects that the user request is still being processed, it returns the warning, a duplicate request is already in progress. This tells the user that the server is still processing their original sync request. The user should wait and later retry the sync request. The app owner can also check the performance history of the app in the AppSheet UI to determine why sync requests are taking longer to complete. This error may occur during the sync process and is caused by a 403 permissions error on the data file or spreadsheet being accessed by the app. The cause and resolution of this error is the same as discussed in the previous section. Make sure the file has the correct set of permissions for the level of access required. The sync process may return this error when synchronizing data changes made in the app. This error occurs when the AppSheet backend is unable to send your changes on to the cloud storage provider. Almost always, this is because the request timed out. If this error occurs often, it is usually due to complex cross-sheet formulas in the spreadsheet, which take a lot of time to complete. To resolve this error, you may need to simplify your spreadsheet. In particular, to avoid using some cross-sheet formulas. You may see this error when the app attempts to sync queue changes in the app. After the app definition has been changed on the AppSheet server. Changes to the app definition can include table columns that were added or removed, thus causing the failure due to the sync process using the older data structure. The difference in app definitions can be verified by comparing the version numbers of the app on the user's device with that of the app in AppSheet. To resolve this error, use the recovery mode or manual recovery feature as discussed in a previous module of this course. To check the version number of the app on the user's device, click the About menu item in the apps main menu. To check the version number of the app in the AppSheet backend. Open the app in the AppSheet editor. Navigate to the info properties tab and click add properties to expand the section to view the version number. In this section, we review some general application errors that may occur in your app. This error is seen in the app emulator, in the AppSheet editor, or on the app users device. The most likely cause for this error is that the app definition is invalid due to changes in the underlying table structure and the database or a spreadsheet, making it incompatible with the app. In most cases, AppSheet will automatically adjust the app to make it runnable again, when the app creator opens the app in the AppSheet editor. To resolve this error manually open the app and the AppSheet editor to review and fix any errors reported in the info errors tab. Then update and save the apps definition and then redeploy the app. This error occurs for app users when the app creator has paused the app. Pausing an app prevents users from making any changes to the data via the app and synchronizing those changes. This is usually done for maintenance of your spreadsheets or databases during a limited time window. This error is resolved when the app creator has completed any maintenance updates and resumes the app in the AppSheet editor. To pause or resume the app, open your app in the AppSheet editor, navigate to the Managed Deploy tab and click pause to pause the app, or a resume paused app to resume the app. This error occurs when there are one or more alerts on your account that are related to billing. If the alerts are not resolved within a period of time, the system blocks your app and users will see an error message saying that the app is blocked. An app user may also see this error if they're signed in on their device with the wrong cloud provider account. To resolve the error, check the alerts that are shown in the my account page and address them as quickly as possible. Also make sure that the app user is using the correct account, personal versus work to sign into AppSheet. Once all the alerts are addressed and no longer shown, users of your app will need to run the sync process once to fetch the latest app definition. Once this is done, the app functions as expected. AppSheet has also documented other errors you may encounter with specific Cloud data providers. Please review the documentation on the AppSheet website.