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.
Note: In addition to being a normal column, App columns can be used with app launchers and app actions.
What is 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
Get started
Learn how to deep link to a view in another app using LINKTOVIEW()
by using the Change view on row selection feature sample. 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 expression
AppSheet provides helper expressions to create deep links.
Link to an app:
-
LINKTOAPP("MyApp-123")
navigates to appMyApp-123
and displays its default starting view.
Link to a view in the current app:
-
LINKTOVIEW("New Orders")
navigates to theNew Orders
view in the current app.
Linking to a particular view in another app:
-
LINKTOVIEW("Other New Orders", "MyOtherApp-123")
navigates to appMyOtherApp-123
and displays theOther New Orders
view.
Linking to the parent view in the current app:
-
LINKTOPARENTVIEW()
navigates to the parent view in the current app.
Linking to a particular view and row in the current app:
-
LINKTOROW("order456", "Order Details")
navigates to theOrder Details
view in the current app for the row having keyorder456
. -
LINKTOROW([Order Detail ID], "Order Details")
navigates to theOrder Details
view in the current app for the row with the key value contained in[Order Detail ID]
.
Linking to a particular view and row in another app:
-
LINKTOROW("order456", "Other Order Details", "MyOtherApp-123")
navigates to appMyOtherApp-123
and displays theOther Order Details
view for the row with keyorder456
. -
LINKTOROW([Order Detail ID], "Other Order Details", "MyOtherApp-123")
navigates to appMyOtherApp-123
and displays theOther Order Details
view for the row with the key value contained in field[Order Detail ID]
.
Linking to a form with pre-filled values in the current app:
-
LINKTOFORM("New Order", "Store", "Main Warehouse", "Type", "Wholesale")
navigates to theNew Order
form in the current app. It pre-fills the[Store]
column with the valueMain Warehouse
and the[Type]
column with the valueWholesale
. You can include any number of column name-column value pairs in the function.
Linking to a form with pre-filled values in another app:
-
LINKTOFORM("Other New Order", "Store", "Main Warehouse", "Type", "Wholesale", "MyOtherApp-123")
navigates to appMyOtherApp-123
and displays theOther New Order
form. It pre-fills the[Store]
column with the valueMain Warehouse
and the[Type]
column with the valueWholesale
. You can include any number of column name-column value pairs in the function.
Linking to a view with filtered values:
-
LINKTOFILTEREDVIEW("Order View", [Order Status] = Open)
navigates to theOrder View
and displaysOrders
whoseOrder Status
isOpen
. The second argument toLINKTOFILTEREDVIEW()
is a filter expression over the rows in the view. This is similar to the filter inSELECT()
expressions. -
LINKTOFILTEREDVIEW("Customers Table View", AND([Sales Rep] = [_THISROW].[Sales Rep Id], [Priority] = High))
navigates to theCustomers Table View
and displays high-priority customers associated with the current sales rep. -
LINKTOFILTEREDVIEW("Students Table View", [Age] < [_THISROW].[Age])
navigates to theStudents Table View
and display students having ages younger than the current student.
Manually construct a deep link
You can manually construct deep links.
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.
Format tips
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.
Examples
Link to an app:
-
"MyApp-123"
navigates to appMyApp-123
and displays its default starting view.
Link to a view in the current app:
-
"#view=New Orders"
navigates to theNew Orders
view in the current app.
Link to a view in another app:
-
"MyOtherApp-123#view=Other New Orders"
navigates to appMyOtherApp-123
and displays theOther New Orders
view.
Linking to a view and row in the current app:
-
"#view=Order Details&row=order456"
navigates to theOrder Details
view in the current app and displays the row with keyorder456
. -
CONCATENATE("#view=Order Details&row=", ENCODEURL([Order Detail ID]))
navigates to theOrder Details
view in the current app and displays the row with the key value contained in[Order Detail ID]
.
Link to a particular view and row in another app:
-
"MyOtherApp-123#view=Other Order Details&row=order456"
navigates to appMyOtherApp-123
and display theOther Order Details
view for the row with keyorder456
. -
CONCATENATE("MyOtherApp-123#view=Other Order Details&row=", ENCODEURL([Order Detail ID]))
navigates to appMyOtherApp-123
and display theOther Order Details
view for the row with the key value contained in field[Order Detail ID]
.
Link to an app and force a sync:
CONCATENATE("MyApp-123#at=", ENCODEURL(NOW()+1))
navigates to appMyApp-123
, forces a sync, and displays its default starting view.