General Availability fort the INPUT functionality - with updated syntax & added scope

 

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:

  • Prompting app users with an input box when the app user taps on an action button
  • Updating a set of rows from one table using values from the row of another table
  • Reusing AppSheet automation tasks across different bots

 

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.

Arthur_Rallu_0-1701891304522.gif

 

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.  

Arthur_Rallu_1-1701891335124.png

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:

  • Within a few weeks you will start seeing warning messages in the editor for apps that leverage the old syntax 
  • At the same time, for simple cases leveraging the old syntax, app creators will be able to migrate from the old to the new syntax with a single click and check that everything is working fine 
  • Starting on March 30th, for simple cases, the old syntax will be automatically migrated to the new syntax if app creators have not taken action
  • Starting on April 30th, for more complex cases, app creators will be prompted to use the new syntax when they open the editor for such apps

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

  • What resources are available about this feature?

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!).

 

  • Why is the legacy documentation (here and here) still saying the INPUT functionality is in Beta?

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.

 

  • Can I use the old and new syntaxes together?

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.

 

  • During the Sept AppSheet Office hours, the team said they’d publish a template app. Is it available now?

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. 

 

  • When will the input functionality be supported by other data actions?

We are aware of this request, but we don’t have a timeline to share at this point.

 

39 147 34.7K
147 REPLIES 147

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

 

jaichith_1-1719251960323.png

 

jaichith_0-1719251934459.png

 

today() + 1 does not work . How to solve this ? 

jaichith_2-1719251990907.png

 

 

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.

INPUT.gif

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. 

jaichith_0-1719994894332.png

 

Default value set up 

jaichith_1-1719994894049.png

 

Blank pop out field. 

jaichith_2-1719994894017.png

 

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.

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...