Hey there… When you click a button on a record to trigger a script, you can use “input.recordAsync” to get a reference to the record/row of the button you clicked on. I would like to have 3 or 4 columns, each with a button on them. Instead of using a whole new script for each button, I would like to just know the name or id or field of the button that was clicked, so that I can know both the record AND the field (button) that was selected so that I can run an action specific not just to the record but also the button that was clicked.
Is there any way to do this? If not, could the dear engineers at AirTable do the same thing you did for input.recordAsync and make it so input.fieldAsync would also return the relative field name the first time it is called if it was triggered by a button? It would help me to organize my code so much better. It’s also a pain having 4 or 5 different scripting Apps for a handful of simple actions.
The only workaround that I can think of is creating checkboxes that all trigger the same script, and the script looks for the checked box and clears the rest of them and then runs the correct function/routine according to what was previously checked. But that is a bad UX solution.
I appreciate you sharing your approach. I think the stacking of commands via multi-select dropdowns is a clever approach to rapidly setting up custom blocks of actions with a single trigger. It’s not a good fit for my situation, but I think it’s a neat idea for the right circumstance.
I’m constantly scanning through records which are updated regularly, so a single click to run an action is ideal. Repeated selecting & clicking is the ugly UX I’m hoping to avoid, and an AirTable command that returns the clicked field is the only way to do it without a separate “Script App” instance for every button. It only takes 3 or 4 buttons and the side panel that opens up when a script runs becomes impossible to use.