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.

 

37 120 31.7K
120 REPLIES 120

Roderick
Community Manager
Community Manager

Great update, thanks for sharing! 

Hi @Arthur_Rallu and @Roderick Please review this expression, it is very difficult for users. I prefer continuous beta expression for the input function will be optimal and easy to set for everyone.

We wish a function that can prefill texts and accept user-changing values on popups instead of grouping many actions as current.


@Arthur_Rallu wrote:

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


I certainly concur that this was among the finest decisions made by AppSheet. This feature is truly remarkable.

 

 

 

Thanks for the feedback! 

That’s great!!! This will save us time and give us more flexibility. Thank you

Are there any sample apps available? The one mentioned in this post by @Kirk_Masden is apparently no longer available.

Thanks for remembering my little app.  The format I used for the URL is no longer supported.  Here's the correct URL:
https://www.appsheet.com/templates?appGuidString=502cc394-2717-4a69-8246-5fc26a1aa9cf
I also corrected the following post:
https://www.googlecloudcommunity.com/gc/Tips-Tricks/Using-INPUT-to-update-another-table-using-a-valu...
At this writing, however, I having some trouble setting my template / sample app to the new format.  Here's where I am now:

Screenshot 2023-12-11 at 21.35.49.png

@Arthur_Rallu can you help?  Thanks, by the way, Arthur, for mentioning my template and tip post.

I think you need to change it as follows. 

input("Word_input", "whatever you put there")

should become

[_INPUT].[Word_input]

and your Default should be some text like 

"Whatever you put there"

 @Kirk_Masden Your post was great walking readers through the steps. Thank you for all you do in this community and for updating that post!

Thanks for the help and kind words.  I had a little trouble at first but now my template app is corrected and compliant with the new format:

https://www.googlecloudcommunity.com/gc/Tips-Tricks/Using-INPUT-to-update-another-table-using-a-valu...

Note: Since writing this I've had trouble again.  Please refer to comments above.

I Think team Deve developed a feature more complex for users. Why didn't you improve this feature basic on beta expression  as:  Input("Column name", "Text") 

So, the new version doesn't seem available for the  "add a new row to another table using values from this row" action.  Did the old version of input work with this action type?  The workaround for not having it is brutal!   I have many use cases where I want to create child records for a selection of main records:  1) A group of members all put in 3 hours work on a project so each now need a new hours child record with an identical project description and duration.  2) A group of members all made membership payments today and now I need to make new child payment records.  Etc.  Many more needs for input in the adding rows action.

"add a new row...  Did the old version of input work with this action type?


It did not.

 


@Arthur_Rallu wrote:
  • 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.


 

 

 

Why does the expression evaluator return a green check when using input() in an add row action?  I understand that it kinda works but really, if the function will never do what is intended, why not do a smart evaluation.  At the very least, the message warning that input is in beta could be expanded to mention that it doesn't work in add row actions.  Would save much head scratching.

Could it be that the old syntax was not case sensitive but that the new syntax is?  That may cause some issues when automatic updates are attempted.

I thought I had properly switched to the new syntax and checked to see that all was working.  Then, after I while I came back to my computer and found this:

Screenshot 2023-12-12 at 21.03.49.png
All I could do to fix the situation was to go back to the old syntax.

Has someone at AppSheet changed the interface?  When I put in the new syntax, I can't see "advanced."  This seems to be behind the error shown above.  With the old syntax (which still works) I can't see "With these inputs" for the action that passes a value to the action with the "input" in it.  It seems to be there (because it works) but it's hidden to I don't think I could make the action from scratch.  Help, please, @Arthur_Rallu !

I had similar problems today.  The advanced section only showed up on one or two action types earlier today, and now i can't see them on any type.  Did I imagine seeing it?   If you don't see the advanced section of the action interface, I think you need to stick to the old style for now.  The new style doesn't work unless you've been able to define the action input in the advance section of the action (which may or may not be showing up.).  

Thanks!  This makes me feel less crazy.  I hope the matter can be resolved soon.  The old syntax is working but even there, I'm not seeing the "With these inputs" in a "Data: execute an action on a set of rows" action.  If I were to make a new action using the old syntax (or the new, for that matter?) I would need to see "With these inputs."

I think @Marc_Dillon has an answer for us here:
https://www.googlecloudcommunity.com/gc/AppSheet-Q-A/How-to-Edit-a-Row-in-another-table-from-EnumLis...
Marc says that "In order for the "with these inputs" to appear, you need to create the "set some columns" action with the INPUT() expression, then save the editor first."  So, it would seem that something has changed in the AppSheet platform has changed to disable this and that we are now in a very problematic state where neither the old syntax or the new syntax is fully functional.

So, yesterday I created  a Set Some Columns action that has input() calculations in it.  Today, I opened it up to test Marc's theory.  The Advanced section where the With These Inputs prompts should appear is still not showing.  Maybe they have rolled it back?

Screen Shot 2023-12-13 at 6.12.10 AM.png

Thanks @RedVox !  @Arthur_Rallu , help please.

SO SORRY FOR THE INCONVENIENCE! The team had to rollback the new INPUT feature temporarily to address an issue. It will start rolling out again today. This was reported in the release notes and a comment was added to the original release notes thread.

I just noticed the issue you reported with the old syntax. I will notify the team! Thank you for reporting this and apologies again for the inconvenience!

Team is aware of issue with old syntax and is working on a fix. Thank you again for reporting.

Thanks!  I went back to the old syntax because I couldn't get the new syntax to work properly.  I'll make another attempt and report back.

I would like to report that I am communicating with support about the fact that "With these inputs" has disappeared. Some progress has been made. Now, "With these inputs" is visible when one makes an INPUT() action from scratch. However, in actions made previously "With these inputs" remains hidden. I understand that the engineers are aware of the problem and hope they will be able to find a solution that does not require us to rebuild all of our INPUT() actions without reference to how we originally filled in the "With these inputs" section.

I would like to report that "With these inputs" has returned:

スクリーンショット 2024-01-18 1.10.43.png

Thanks to support for addressing this issue.

Nice to know. How it was fixed ?

I started a "ticket" (report about a problem) with support and after some time, I received a response that "With these inputs" should be visible again.  Is it not visible for you on an app you have made?

Please stop releasing this feature, it is very inconvenient for users. We only wish a syntax as Input("Column set", "Value set") or keeping it as current no need to prefill anything. Thanks.

@RedVox @Kirk_Masden 
The team had to roll back the feature and therefore the new syntax is not available. As a result, in the apps where you made changes, it now appears with an error in your expressions. 
If you are blocked by this, I can see if we can enable your accounts, but if it's only for testing or the sample app, we'd rather avoid that at the moment. 

I'll post back again here when the roll out takes place. @lizlynch will do the same in the feature release notes. 

Thanks and apologies for the confusion here 😟

I cant use the old syntax inut("bla","blub") anymore.

I have an action where i set a few columns. One colum has the input function. When i try to execute the Action, i get the promt to input my data, but i cant hit "save". 

In one of my otther Apps, it still works, but when i use it in a new app i am developing right now, the input() function is broken. 

Any ideas?


@PhilippSeidel have you filed a support ticket yet? If you cannot save the input modal, it is highly possible that the input data violates certain validation rules in one of the columns. 

No, I'm afraid that's not the problem.  My impression of the problem is that the rollout of the new syntax failed but, in the process, the old syntax was also broken.  The note added to the top of @Arthur_Rallu 's post says that the change has been rolled back but I think it's only a partial roll back -- not enough to get us back to what we had before the roll back.
If you look at my sample / template app
https://www.appsheet.com/templates?appGuidString=502cc394-2717-4a69-8246-5fc26a1aa9cf
I think you will find that it works.  However, if you erase the "Write word 2" action in the app and then try to reconstitute it, I don't think you'll be able to.  In other words, apps that had successfully implemented INPUT before the roll out and roll back probably work.  However, people are probably unable to make new apps in which the INPUT() function works.  The reason is shown here:
https://www.googlecloudcommunity.com/gc/Tips-Tricks/Using-INPUT-to-update-another-table-using-a-valu...

Do you mind filing a support ticket, then we will take a look. thank you! 

When I tried to reconstitute issue on my app this came up:

Screenshot 2023-12-20 at 10.38.13.png

I considered filing a ticket but, frankly, that's a lot of work.  I've already spent a lot of time on this and I think the ball should be in AppSheet's court by this point. After all, someone at AppSheet changed what had be working perfectly until recently;  It's not like we did something to mess things up on our end.

Here's what I would like to ask you to do:

1. Copy my template app

https://www.appsheet.com/templates?appGuidString=502cc394-2717-4a69-8246-5fc26a1aa9cf

2. Check to see that the input function is working properly (I think it should be fine when you first copy it)
Explanation about how to use the input function on this little app is here:
https://www.googlecloudcommunity.com/gc/Tips-Tricks/Using-INPUT-to-update-another-table-using-a-valu...

3. Take a screenshot of the settings for the "Write word 2" action

4. Erase the "Write word 2" action

5. Try to build the action again.  I don't think you'll be able to because of the issue reported in the following post:
https://www.googlecloudcommunity.com/gc/Tips-Tricks/Using-INPUT-to-update-another-table-using-a-valu...

The screenshot at the top of this post is what happened after I try to reconstitute the action as explained here.  I think the same thing should happen on your end if you follow the same steps.

That should clarify the issue for your engineers.

Hi @Kirk_Masden I may have to look at your account, I use my own account, I m not able to reproduce the issue. I can see the "with the inputs" section without any problem when referencing the action with input()

Thanks for the follow up.

I just took another look at my app and this is what I see.  
Screenshot 2023-12-21 at 17.34.15.pngIn other words, I can't see the "with the inputs" line.  So, what should I give you?  Shall I send information about my account to you in a private message?