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.
Navigate to app MyApp-123
and displays its default starting view:
LINKTOAPP("MyApp-123")
Note: The second argument is a filter expression over the rows in the view. This is similar to the filter in SELECT()
expressions.
- Navigate to the
Order View
and displayOrders
whoseOrder Status
isOpen
:
LINKTOFILTEREDVIEW("Order View", [Order Status] = Open)
- Navigate to the
Customers Table View
and display high-priority customers associated with the current sales rep:
LINKTOFILTEREDVIEW("Customers Table View", AND([Sales Rep] = [_THISROW].[Sales Rep Id], [Priority] = High))
- Navigate to the
Students Table View
and display students having ages younger than the current student:
LINKTOFILTEREDVIEW("Students Table View", [Age] < [_THISROW].[Age])
Note: In the following examples, the function pre-fills the [Store]
column with the value Main Warehouse
and the [Type]
column with the value Wholesale
. You can include any number of column name-column value pairs in the function.
- Navigate to the
New Order
form in the current app:
LINKTOFORM("New Order", "Store", "Main Warehouse", "Type", "Wholesale")
- Navigate to app
MyOtherApp-123
and display theOther New Order
form:
LINKTOFORM("Other New Order", "Store", "Main Warehouse", "Type", "Wholesale", "MyOtherApp-123")
Navigate to the parent view in the current app:
LINKTOPARENTVIEW()
-
Navigate to the
Order Details
view in the current app for the row having keyorder456
:
LINKTOROW("order456", "Order Details")
-
Navigate to the
Order Details
view in the current app for the row with the key value contained in[Order Detail ID]
:
LINKTOROW([Order Detail ID], "Order Details")
- Navigate to app
MyOtherApp-123
and display theOther Order Details
view for the row with keyorder456:
LINKTOROW("order456", "Other Order Details", "MyOtherApp-123")
-
Navigate to app
MyOtherApp-123
and display theOther Order Details
view for the row with the key value contained in field[Order Detail ID]
:
LINKTOROW([Order Detail ID], "Other Order Details", "MyOtherApp-123")
- Navigate to the
New Orders
view in the current app:
LINKTOVIEW("New Orders")
- Navigate to the app
MyOtherApp-123
and display theOther New Orders
view:
LINKTOVIEW("Other New Orders", "MyOtherApp-123")
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 notequivalent 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.
"MyApp-123"
MyApp-123
and display its default starting view."#view=New Orders"
New Orders
view in the current app."MyOtherApp-123#view=Other New Orders"
MyOtherApp-123
and display the Other New Orders
view."#view=Order Details&row=order456"
Navigate to the Order Details
view in the current app and display the row with key order456
.
CONCATENATE("#view=Order Details&row=", ENCODEURL([Order Detail ID]))
Navigate to the Order Details
view in the current app and display the row with the key value contained in [Order Detail ID]
.
CONCATENATE(LINKTOVIEW("Inspections"), "&at=", ENCODEURL(NOW()+1))
"MyOtherApp-123#view=Other Order Details&row=order456"
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]))
MyOtherApp-123
and display the Other Order Details
view for the row with the key value contained in field [Order Detail ID]
.CONCATENATE(LINKTOAPP("MyApp-123"), "#at=", ENCODEURL(NOW()+1))
MyApp-123
, force a sync, and display its default starting view.