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.
- 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:
-
view
(formerlycontrol
)
If any link parameters are specified, this parameter is required. It specifies the name of the UX view to be displayed. -
row
This parameter is required for some views and is optional for others. It specifies the key of the row to be displayed. -
mapcolumn
This parameter is used for Map view controls. It specifies the name of the Address or LatLong column on which the Map view is based. -
at
This parameter specifies a timestamp and is used to require the data be at least as fresh as that timestamp. The most common use for this parameter is in sending a workflow email, SMS, or push notification with a link to a particular data entry in the app. This can force the app to sync to pick up the data change rather than work with stale data.
Examples
Deep link to an app
Navigate to app MyApp-123
and displays its default starting view:
"MyApp-123"
Deep link to a view in the current app
Navigate to the New Orders
view in the current app:
"#view=New Orders"
Deep link to a view in another app
Navigate to app MyOtherApp-123
and displays the Other New Orders
view:
"MyOtherApp-123#view=Other New Orders"
Deep link to a view and row in the current app
Navigate to the Order Details
view in the current app and displays the row with key order456
:
"#view=Order Details&row=order456"
Navigate to the Order Details
view in the current app and displays the row with the key value contained in [Order Detail ID]
:
CONCATENATE("#view=Order Details&row=", ENCODEURL([Order Detail ID]))
Navigate to the Inspections view in the current app:
CONCATENATE(LINKTOVIEW("Inspections"), "&at=", ENCODEURL(NOW()+1))
Deep link to a particular view and row in another app
Navigate to app MyOtherApp-123
and display the Other Order Details
view for the row with key order456
:
"MyOtherApp-123#view=Other Order Details&row=order456"
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]
:
CONCATENATE("MyOtherApp-123#view=Other Order Details&row=", ENCODEURL([Order Detail ID]))
Deep link to an app and force a sync
Navigate to app MyApp-123
, force a sync, and display its default starting view:
CONCATENATE(LINKTOAPP("MyApp-123"), "#at=", ENCODEURL(NOW()+1))