You can use AppSheet to make mobile apps from Salesforce data. Typical apps combine data from Salesforce with data from other data sources.
Before You Start
The Salesforce account administrator must first install the AppSheet "package" for users on that Salesforce instance. To explain this simply, it informs your Salesforce instance that AppSheet is allowed to connect to your SalesForce data.
- if deploying into a Salesforce sandbox environment, use this link
- if deploying into a Salesforce production environment, use this link
Please note that AppSheet communicates with your Salesforce instance using the Salesforce "REST API". According to Salesforce documentation, this API is enabled automatically for the Enterprise, Unlimited and Developer editions of Salesforce. Users of the Professional edition may need to purchase API access separately from Salesforce separately.
Using Salesforce in AppSheet
When creating an AppSheet account, you can use Salesforce as the authentication provider. In other words, your "primary" login can be based on your Salesforce account.
If you have installed AppSheet in a sandbox instance of Salesforce, you will have to modify the url used for login. Use a URL of the form: https://www.appsheet.com/account/login?sandboxInstance=true (i.e. make sure that 'sandboxInstance=true' is in the query string of the url). Please note that you can do this when you sign in from the browser and it will work in the emulator or full-screen browser environment. However, the mobile app will only work against a production or developer instance of Salesforce.
You can also add your Salesforce account as a data source to any AppSheet account. To do so, start with the Account > Data Sources tab.
To add a Salesforce data source, you'll be asked to sign into your Salesforce instance via the OAuth process supported by Salesforce.
Once a Salesforce data source has been added to your account, you can add existing tables to any app. When you choose Add Table in your app, you can select the specific data source, and a table from that data source.
Once added to the app, AppSheet treats all data sources similarly. In fact, it's common and natural to combine data from a Salesforce data source with data from other sources in the same app.
Copying Sample Apps to Salesforce
AppSheet provides a gallery of standard sample apps that are meant to work uniformly across data sources and authentication providers. It's common for app creators to make a copy of a sample app and modify the copy to suit their needs. While these sample apps can be copied to a Salesforce data source, there are some limitations of which you should be aware.Each of the tables in the sample app is created as a custom table in Salesforce. However, because of the naming conventions enforced by the salesforce platform, all custom object and field names will be prefixed by appsheet__ and suffixed by __c. This can potentially cause errors in the sample apps that when there are formulas that use the names of tables and columns. These errors will need to be manually corrected.
Saving Images to Salesforce
AppSheet treats image and file columns in a special way. When your AppSheet app captures and saves an image or file, AppSheet creates a new file on the provider's file system for each image or file, and writes the image or file data to that file. It then places the name of this file into the image or file column in your Salesforce table. The files will be saved in a subfolder of your account's default folder path (usually /appsheet/data/appName). You can view and change the default folder path in your account page under the Settings tab.
Using Images and Files from Salesforce
Some Salesforce data (e.g. Leads) include a PhotoUrl column. If you want these photos shown within the app, they need to be accessible publicly. To do so, you must Enable External Sharing Model in your Salesforce account. Do so via the Sharing Settings control pane in Salesforce as shown below.