The idea behind this request will be used to support a number of use cases for which developers have had to find unintuitive work arounds. Often times as a developer you navigate users to contextualized views. (ex. A dashboard combining multiple views of various related tables all relative to one row in a parent object – maybe the user's current project or something to that effect). Currently AppSheet has relegated both unique navigational actions as well as data change actions to row-level engagement. This is fine for most use cases, but sometimes you would like to perform a data change operation or navigational action that is not specifically in reference (or uniquely in reference) to a shown row of data, but is based on information you already know about the user. Let's imagine you route the user to a table view of templated tasks they are going to duplicate to a project they are working on. You can give the user an inline action to copy the templated tasks to the project, but it would be super nice to have an action that navigates the user to edit those copied records or go to the project details as an overlay action on that table view.
I think the concept should be pretty easy to employ as most of the code is already there for all existing actions. The only difference is instead of that action receiving its data from the row on which the action was placed, the user would dynamically supply the record that it should draw data from.
The Action inputs would be as follows:
1. Select the table on which the action should display
2. Select the table of the row you would like to draw dynamic data from
3. Provide the row key for the row you would like to draw data from (this would be an expression input)
4. Select the row level action you would like to run on the table selected in step 2.
Let's imagine a navigation action. You want to link to user to a form view and pre-fill data that does not relate directly with any row shown. You can simply specify a table (like the User table) and a row key (like the current user's email: USEREMAIL()) for which you want to contextualize any existing action for that table. The beauty of this is that you can have a more functional and powerful overlay action in a multi-record view (table, deck, card, etc.) or a dashboard.
Hopefully that all makes sense!