The App column type is used to navigate to a different view in the current app or to another app. The value in an App column must be a deep link.
A deep link is a special text value that follows a particular format. There are two ways to create a deep link:
- Use a deep link expression (easiest method)
- Manually construct a deep link
To learn more, get started with a sample app.
Get started with a sample app
Learn how to deep link to a view in another app using LINKTOVIEW()
by using the Change view on row selection sample app. This sample defines an action called Change View that uses the LINKTOVIEW()
function to change the current view based on the View Name
column in the Views table.
Use a deep link function
AppSheet provides the following functions to create deep links.
Function | Description | Examples |
LINKTOAPP() |
Deep link to an app |
Navigate to app
|
LINKTOFILTEREDVIEW() |
Deep link to view with filtered row values |
Note: The second argument is a filter expression over the rows in the view. This is similar to the filter in
|
LINKTOFORM() |
Deep link to a form with pre-filled values (current app, if not specified) |
Note: In the following examples, the function pre-fills the
|
LINKTOPARENTVIEW() |
Deep link to the parent view |
Navigate to the parent view in the current app:
|
LINKTOROW() |
Deep link to a row (current app, if not specified) |
|
LINKTOVIEW() |
Link to a view (current app if not specified) |
|
Manually construct a deep link
You can manually construct deep links by specifying the app name and link parameters, as described in the following sections and demonstrated in the examples.
- Whitespace or other HTTP special characters in a deep link must be URL-encoded using the
ENCODEURL()
expression. - A deep link is a text value, not an app expression. The link must be enclosed in quotes.
App name
Your deep link can specify the app name. When no app name is specified, the current app name is assumed.
The app name is defined by the appName
query parameter in the app URL when viewing the app in the editor or accessing the app in your desktop browser. (It is not equivalent to the Short Name of the app defined in Settings.) For example, in the following app URL the app name is ShiftManagement-3518598
:
https://www.appsheet.com/template/AppDef?appName=ShiftManagement-3518598&appId=58bb9fcc-b701-462a-87fd-34129fe8fcba&quickStart=False#Data.Columns.Admin%20Scheduled%20Shift
Link parameters
Your deep link can control which view and row is displayed by specifying optional link parameters following a #
symbol. Link parameters are separated using the &
symbol. The following link parameters are supported:
Link parameter | Description |
view |
Name of the UX view to be displayed. If any link parameters are specified, this parameter is required. |
row |
Key of the row to be displayed. This parameter is required for some views and is optional for others. |
mapcolumn |
Name of the Address or LatLong column on which the Map view is based. This parameter is used for Map view controls. |
at |
Minimum timestamp required for the data. Setting the timestamp to a time in the future can force the app to sync to pick up data changes rather than work with stale data. The most common use for this parameter is in sending an email, SMS, or push notification with a link to a particular data entry in the app. |
Examples of manually constructed deep links
The following table provides example of manually constructed deep links.
Deep link to | Example | Description |
App | "MyApp-123" |
Navigate to app MyApp-123 and display its default starting view. |
View in the current app | "#view=New Orders" |
Navigate to the New Orders view in the current app. |
View in another app | "MyOtherApp-123#view=Other New Orders" |
Navigate to app MyOtherApp-123 and display the Other New Orders view. |
View and row in the current app | "#view=Order Details&row=order456" |
Navigate to the |
CONCATENATE("#view=Order Details&row=", ENCODEURL([Order Detail ID])) |
Navigate to the |
|
CONCATENATE(LINKTOVIEW("Inspections"), "&at=", ENCODEURL(NOW()+1)) |
Navigate to the Inspections view in the current app and force a sync. | |
View and row in another app | "MyOtherApp-123#view=Other Order Details&row=order456" |
Navigate to app MyOtherApp-123 and display the Other Order Details view for the row with key order456 . |
CONCATENATE("MyOtherApp-123#view=Other Order Details&row=", ENCODEURL([Order Detail ID])) |
Navigate to app MyOtherApp-123 and display the Other Order Details view for the row with the key value contained in field [Order Detail ID] . |
|
App and force a sync | CONCATENATE(LINKTOAPP("MyApp-123"), "#at=", ENCODEURL(NOW()+1)) |
Navigate to app MyApp-123 , force a sync, and display its default starting view. |