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

: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!

3 Likes

Don’t know about the other devs who spent their weekend writing scripts for your contest that closed 5 minutes ago, but I’ll speak for myself:

This is pretty poor form…like seriously!!!

a heads up would have been nice here…

now i get to re-write all my code and writeups i just spent hours on.

4 Likes

I get it, this is the wild and unpredictable world of “beta”, but your timing is amazing - 5p PST on the dot which was precisely the deadline for today’s contest. Everyone who has made copies of script examples thus far are now sitting on examples that simply fail.

Yes, this is beta, but you must know that your team (@Michelle_Valentine and others) are hoping to put smiles on user’s faces. This is not how to make anyone smile if ya’ know what I mean.

2 Likes

Sincere apologies for the inconvenience here, especially given the contest timing. We wanted to get these breaking API changes out quickly before we expand the block beyond its current limited audience while it’s still in beta. Moving forward, we don’t anticipate any future breaking changes.

We really do appreciate the amount of effort that you all have spent working on these scripts and are sorry that the timing of these changes has been disruptive. For examples that have already been posted to the community forum, we will go ahead and update them with the updated APIs on your behalf.

2 Likes

All good!! I am super stoked and super excited for all the stuff you guys got cookin – as long as the changes are for the greater good of the product… we will survive. Keep it comin!

1 Like

Not so much.

The very simple Field Tweaker app was published at 4:35p PST and at 5p PST needed more than 100 lines changed and then fully retested.

@openside went way out on a limb today and released at least ten times the size of my little utility.

Setting aside the impact on the script developers (which is significant), imagine if 1,000 users have copied and installed script that’s now failing. When you make missteps like this, the support impact and brand erosion can be significant.

This is the opposite of all good. Airtable needs to establish better developer partner communications.

1 Like

As always Bill… you got a good point.

hello @Stephen_Suen @Bill.French @openside
Reading this quote, I’m hoping that

will get some “free” time to do that.

I’m a part-time Scripter and still learning a lot while coming here , so the impact on myself is not huge, but we really love and need Senior App Scripters contributions and gifts to improve ourselves and I’m afraid to remember what happened to Mozilla Firefox in 2015 when the top of best senior Scripters from the community went away…

olπ

Thanks for your kind comments! It would take a lot to drive most of us away - Airtable is an amazing platform. But, I de remember how Mozilla mangled their community and it took many years to recover from that. Microsoft pulled a similar blunder in the late '80’s with FoxPro. It never recovered.

1 Like

To my mind - this is “The Deal” when you sign up for something in beta. You can’t make an omelet without breaking a few eggs, as they say! Keep up the good work!

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

6 Likes

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

2 Likes

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.

1 Like

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

9 Likes

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

4 Likes

Wonderful, thoughtful and inspiring comment.

1 Like

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