Help

Re: Scripting block updates: breaking API changes, new input methods, easier debugging

3839 2
cancel
Showing results for 
Search instead for 
Did you mean: 
Stephen_Suen
Community Manager
Community Manager

:wave: Hey all, Stephen from the scripting block team here. Today we’re releasing a bunch of updates to the scripting block, based on all of your helpful feedback from the beta. To get access to the latest changes, you’ll need to reload your browser or Airtable desktop app.

Note that some of these are breaking changes and you will need to update your existing scripts accordingly — sorry for the inconvenience; these should be the last breaking changes before we launch the block more broadly.

  • Breaking: input.text() and input.buttons() have been renamed to input.textAsync() and input.buttonsAsync() . This means you need to prefix them with the await keyword.
  • Breaking: output.text() is now plain-text only, but accepts values other than just strings. Use output.markdown() if you want to output Markdown.
  • Breaking: all methods will validate their inputs — if you pass input to Airtable functions that don’t match the documented values, your script will now error.
  • Custom script names have been removed. You can still label a script by renaming the entire block (you can do this by double clicking the block name).
  • output.markdown() has been added for outputting Markdown-formatted strings.
  • You can now get information about the user who’s running your script by using session.currentUser .
  • fetch is now recognized in the editor.
  • Stack traces now have accurate line numbers in Chrome and Firefox.
  • New input methods for requesting Airtable models: input.tableAsync() , input.viewAsync() , input.fieldAsync(), and input.recordAsync() will prompt the user to choose a table, view, field, or record.
  • Added record.name for getting the primary cell value of a record.

Keep sharing your scripts, questions, and feedback with us — happy scripting!

16 Replies 16

Hi everyone,

Kasra here from the platform team. I really appreciate your honesty and forthrightness. I made the decision to push the breaking changes ASAP, and it’s clear I made the wrong call.

In the future, while we’re in beta, we will provide at least 7 days’ notice before releasing breaking changes.

We also wanted to let you all know that for the posts in the community forum, we went ahead and made the updates for you (we couldn’t do that directly for Github Gists, but would be happy to privately send over what the updates should be for those as well, @openside!)

Thanks again both for your trust in us and for bearing with us as we improve our processes and communications in general. It’s a great privilege to work with a community like ours, and we don’t take it lightly.

-Kasra

Thanks @Kasra - I’ve already updated the gist. If you could just update the block in the universe which i don’t have access to updating: Script - Default Values - Airtable Universe

Indeed! Building anything based on beta releases is unwise. And while I can’t speak for @openside, I’ll bet they share the same sentiments as I do -

Apps based on beta releases should not be distributed openly to users/customers.

But this instance is quite different - Airtable sanctioned an event that encouraged rapid development and exposure of early-release code and they even offered a little carrot dangling from a stick. Then they unwittingly pushed a significant update at exactly the deadline for sharing the example apps. All of this is easily avoided with internal and developer-partner program communications.

The update is awesome, BTW and had these newly planned changes been understood just a few days earlier, lots of important improvements could have been integrated into these apps to great advantage for Airtable users.

Excellent! Good process.

Hi Community and Airtable,

It went unnoticed but Scripting Block, now Scripting App, celebrated its first birthday on February 20th. (we are March 2nd)

As far as I’m concerned, it was an opportunity for Airtable to stick me firmly to their product because I was walking around without it.

But it was much more than that: discovering javascript, studying and practicing javascript with the Community including its very generous Experts, including those who have gone back into the shadows or moved to another company since then.

Frequenting the Community on a daily basis, I also learned a lot over javascript: data, visualisation, modeling, workflow, integration, automation, NoCode, way of thinking, how to draft well before starting to code, how a Consultant approaches a vast question, a usecase, who can claim to be a Consultant and why is it legitimate?

From MDN I gradually widened my circle of most regular consultations to Tania Rascia, I subscribed to MEDIUM, while continuing to come back to MDN often.

Having been inspired to come back to Google App Script, to dig deeper into this theme, having been inspired to spend some time on INTEGROMAT, I now spend less time exclusively on Scripting App but it all adds up, even without integrated webhooks in the Scripting App and despite the half-baked or missing airtable part, and the persistent bugs.

Thanks to all of you, the most visible ones in 2021, but also those who have only come here occasionally but with extras that I found essential.

olπ aka oLpY, digital film Colorist (Color Grader) / education / airtable & javascript & workflows as side projects.

CREDITS:
@kuovonne @Bill.French @openside @Jeremy_Oglesby @JonathanBowen @Kamille_Parks @Justin_Barrett @Mike_Pennisi @Eric_Goldman @Moe

The Complete Developer’s Guide to Airtable, Airscript, MiniExtensions, On2Air, Sync Inc, MDN, Google App Script, MEDIUM, Airborne, Integromat

Following this with CREDITS to Airtable Team, as discourse.org doesn’t allow me to credit more than 10 Persons in one Post:

@Kasra @Stephen_Suen @Billy_Littlefield @somehats
@Shrey_Banga @Jason @VictoriaPlummer @Michelle_Valentine @Taylor_Savage @Christy_Roach

Wonderful, thoughtful and inspiring comment.

Not sure if this is the best topic to post this in but the crazy arithmetic bug is still wreaking havoc: