CURRENT STATUS: Rolled out to 100% of accounts
Hi everyone,
Iโm very excited to announce that we are launching the INPUT functionality to General Availability. App creators can now define when information is passed from one context to another via dynamic โinputsโ so that actions and tasks behave differently based on these input values. Effectively, app creators can now โparameterizeโ the logic of some of the actions and tasks.
The INPUT functionality enables multiple types of rich and complex use cases, such as:
INPUT example
Probably the simplest example is with an app that lists tasks that have a status field and a comments field. App users are asked to update their task status to โDoneโ and provide information in the comments field on how they accomplished the task. App creators can now dynamically prompt the app user for that information (and only that information) in a pop-up modal when they mark the task as โDoneโ. It was already possible to provide a similar flow, but (a) the app creator had to do more work and (b) the user experience for app users was not as intuitive.
A little bit of history
The INPUT functionality unlocks a number of highly requested features that make app creation easier and expand what AppSheet apps can offer. Back in 2021, the INPUT functionality was released to Beta (a.k.a. Preview) but the team had some lingering questions. It is now (finally) Generally Available to all app creators. There are a few changes though. First, the syntax has been updated so that the feature is more easily discoverable, its usage is more explicit, and the syntax itself is more consistent with other existing patterns in AppSheet. Second, its scope has been expanded to now support Automation tasks for reusability purposes.
Many app creators have been using this functionality in their apps since its Beta launch, but others may have been hesitant to rely on it because it was still in Beta and so we are glad to finally make it Generally Available to everyone.
As Liz called out in our release notes on Monday, this is currently rolling out and should become available to all AppSheet users in the next 10 days or so. When it is available to you, we ask that you start using the new syntax.
Old and new syntax for existing apps already leveraging this functionality
In order to properly maintain this feature, we will have to turn off the old syntax in the future. Until then, all apps and automations using the old syntax will keep on working without app creators needing to take action. We also understand that adopting the new syntax in existing apps represents some amount of work by app creators and we want to give you time to adjust. In an effort to turn off the old syntax some time in June 2024, we plan on proceeding as follows:
We will be communicating to you about this as we go through that process.
Let us know if you have any questions (but donโt forget to check the FAQ section below first :))
Thank you,
Arthur Rallu, for the AppSheet team
FAQ
Documentation is available at Doc for input in Tasks, Doc for input in Data Change Actions.
The team talked about this feature in an AppSheet Office hours in September.
I also want to mention this community post by @Kirk_Masden. It walks you through the capabilities of that feature in a very simple way. If you're new to using this functionality, it's a great way to discover it IMHO. The app used to be implemented with the Beta syntax but Kirk updated it recently to use the new syntax (Thank you Kirk!).
Until the rollout is complete, we are keeping this documentation as is. We will tag it when the rollout is complete and add a link to the new documentation.
The two syntaxes can be used in the same app for two different tasks or actions, but the two syntaxes cannot be used within a single action or a single task. In other words, in an action with 2 inputs, both of them must be specified with the same syntax.
Not yet, but we still plan on doing it. Weโll update this FAQ and add a comment to this thread when it is done.
We are aware of this request, but we donโt have a timeline to share at this point.
"Don't use nested expressions, such as [Amount]+[_INPUT].[Amount]. If you specify a nested expression, the user prompt won't be displayed."
What's the standard workaround for this? Will it be updated to allow this?
I want to make a button so I can subtract Quantity I.E:
I guess I could do the whole thing with a slice form view (only visible from the slice), launched from an action on the main detail view, which triggers an action on save to set qty. But that seems like it's not the way.
I typically hold the input value in another column, then run the calculation with whatever method you choose, action, bot, resetOnEdit & initial value,...
Is INPUT() function still considered 100% Generally Avaiable? If so, could someone please update the documentation - INPUT()
Does Input() works with time ? Like
Today () + 1
@Arthur_Rallu
Do you have any plans of making [_INPUT] available in the action "Data: add a new row to another table using values from this row"?
The workarounds of having to use Grouped actions just won't cut it since it requires creating the records then editing it, and if the user cancels at the last step, it doesn't cancel the record that was added.
Hi brother,
Do you have any idea [_INPUT]. works in Data: execute an action on a set of rows ?
I have table A and B
Table B has an action (SET VALUES C ) with [_INPUT] function which passes the value to table B as usual it prompts for the user to enter the values.
Now Table A has the action SET VALUES D Do this : Data: execute an action on a set of rows
For a record of this table : Table A
Referenced Table : Table B
Referenced rows : LIST (EMAIL)
Referenced Action : SET VALUES C
With these inputs : the input name which I have created in action SET VALUES C.
Values : I am leaving it empty . - the app editor shows - Missing input assignment value for ......
My question is how to prompt the user to fill the values for the ACTION SET VALUES C when user press the button/action SET VALUES D in the table A.
Is it possible to make such setup ?
I recently made a video on the [_INPUT] feature recently covering the context, syntax and use-cases. Take a look if you want some further explanation/walk through of how to use the feature in an application. Hope it helps!
@Arthur_Rallu If I am right, the input function does not support the image data type as of now. Can that feature be added?
This is one of the weakness of the current AppSheet UX for Input, but you can select TEXT type. Then you can accomodate IMAGE through the modal. Don t ask me why.
What do you mean by adding image through the modal.
Does this new syntax supports default value ? @Arthur_Rallu
hi @Arthur_Rallu , and @Kirk_Masden
Please help me with this
today() + 1 does not work . How to solve this ?
I'm afraid I haven't worked with dates in INPUT so I'm not sure. I think, though, that I remember someone saying that dates don't work with INPUT. In that case, I wonder if you might not be able to use an expression to convert the date to a number. Then, in your app, use another expression to convert the recorded number back to the appropriate date.
Ok.. there could be direct method.
I don't understand why INPUT() function do not the hoped behaivor. But, a temporal solution to use dates or any calculated columns with input is:
1. Formulating the requested columns in Initial Value from data table and select; reset on edit?
2. Adding at least 1 data chanching column sorted as first. and apply some change in order that the requested columns will be recalculated.
Is it a bug in appsheet ?
Hi,
New Input () function doesnot pop out with default values , instead pops out with blank field.
how to prompt / pop out for default value , for user approval.
Default value set up
Blank pop out field.
Expectation : " ALL CLEAR" to be prefilled in REMARK Field. If needed user can change prefilled text.
I seek your help here. Do you have any idea about it? @Kirk_Masden @MiguelPilo @Koichi_Tsuji @Aditya_K1999 @VarunChandran
Bro I have tried in many ways but still I am not able to get the default value in the pop up. I think this is the bug from Appsheet. I will let you know if it is working in any other scenarios.
So, you say that... default value never appears . Is it right ?
Yes it is not working for me.
Personally, I haven't ever done this either, though, in my case, I never really tried to do it.
I request you to try at your end and suggest some workaround if it is not available.
Then INPUT() still doesn't fulfilled developers need and only time is getting wasted by doing some research. โน๏ธ
I'm afraid I won't have time to do that. Please initiate a support inquiry.
No response from them.
That's too bad. I would guess that this is indeed a bug or flaw in the platform. Sorry I'm not able to offer a solution.
They have replied some thing. Which I could not understand.
As per the update from the team, the input functionโs default value is used when the function is called in scenarios where the value:
Isnโt bound by a Referenced action
Isnโt provided by the user
The value includes the functionโs server-side evaluation and location within a larger expression.
In this case, the modal form doesnโt show.
The modal form is only applicable when the root of the value assignment is INPUT.
When the modal form shows, itโs treated as an โEditโ form of the updated row, and the fieldโs value is the pre-existing value in the row.
Please feel free to reach us in case of any issues.
I think the biggest success of the Dev team is changing the syntax of the Input function to complicate a simple problem, but it doesn't solve anything else and just wastes time for the user.
In one of my apps, when I click on a reschedule action button, it pops up the respective fields choosen with the values already entered in the fields. If you want the pop up field to have some data, it has to have some data entered at form level. Currently the input function is not taking default values directly.
For your remark field, you can maybe put the initial value as "All Clear", so for example when you save the form it gets saved as "All Clear". And then when the user clicks on the action button, it pops up the field with "All Clear" prefilled, he can change if required.
To make it work you can maybe make the initial value for remarks field as "Check Pending". And then whenever they click on the action it shows check pending, and the user can change it to all clear when required.
See if this helps
Thanks, I will try this...
Hi @Arthur_Rallu ,
Thanks for the update and the launch of the new INPUT functionality. Iโve been following the improvements closely, but I am concerned about the new expression: [_INPUT].[Label] replacing the old Input("", "") syntax. While the new syntax might look cleaner, it doesn't add significant functionality improvements. For instance, it's still impossible to pre-fill declared values in the Advanced section, and thereโs no support for certain data types like file or image inputs.
The change, in my opinion, complicates the declaration process without offering added value to users. I hope the team can consider addressing these limitations to make the new INPUT function truly beneficial or consider keeping the old input function as an option.
Thanks for all the hard work and I look forward to future updates!
I have a problem with the column Show conditions and the INPUT function.
Let me explain better,
let's assume a NOTE column with showif:
IF(CONTEXT(viewtype)="Form",
TRUE,
ISNOTBLANK([NOTE])
)
This rule in the INPUT function launched from a Detail view, will hide the NOTE field (if empty), because we are in a "Detail" view and not in a "Form" view. Although the INPUT pop-up is more similar to a Form.
I see no solution other than removing the Showif condition from the column [NOTE], but doing so:
- Fixed problem in INPUT function
- I don't have the desired behavior in the details view
Thanks to anyone who can help me @Arthur_Rallu