Help

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

2995 0
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
openside
10 - Mercury
10 - Mercury

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.

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.

Stephen_Suen
Community Manager
Community Manager

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.

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!

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.

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.

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!