Jun 08, 2020 10:59 AM
Do you have an idea for the Custom Blocks contest but don’t know where to start or which examples are most relevant to your idea? We’re hosting a live Ask Me Anything (AMA) session in this thread on Wednesday (6/10) at 11am PT.
Michelle Valentine and Kasra Kyanzadeh from our product team will be available to answer any questions about getting started and turning your ideas into reality.
The top 3 upvoted questions will win a $40 Amazon gift card. You can even start posting your questions now, and we’ll be answering questions live from 11am - 11:30am PT on Wednesday. See you there!
Jun 10, 2020 11:17 AM
Thank you, @Kasra. The picture is becoming a little more clear to me how
$ block ... --remote handles this, and the questions in my head are kind of morphing as my understanding of it changes.
In particular, are you exploring ways to make keeping Custom Blocks updated a more seamless process for both creators and consumers of those blocks?
Jun 10, 2020 11:18 AM
Technical question: do blocks allow for real-time updating of records within Airtable? Meaning, within my block, can I hit the Airtable API for the base that the block is installed in? I’m assuming yes since it’s just React within the block, but would I need the base user to put in their Airtable API token in the onboarding process within the block?
For a simple example if I wanted to get weather data every 10 minutes from an API and update a record within the base (and use the Block for another purpose like displaying the weather trends in near-real time), do you see any hiccups there? I’m not sure about the API rate limits.
I haven’t built on the Airtable API before so apologies if these questions are easily answered elsewhere.
Jun 10, 2020 11:19 AM
I’m having some trouble getting some of the examples to install. Where do you suggest going for troubleshooting info on getting started? It can be hard to tell if my issue is an npm issue, a node issue, a react issue, or what. I haven’t worked in react before.
Jun 10, 2020 11:20 AM
Thank you, I’m happy to hear it’s been a pleasant experience so far :raised_hands:
Can you give an overview of how setPathsAsync function works behind the scene and how much more performant it is for nested objects?
setPathsAsync let you update nested values by passing in a path for the key. This is important if you want to avoid clobbering the other parts of the object if multiple users are writing to different parts of that object.
setPathsAsync is useful if you want to update multiple keys/paths in different parts of the tree in one shot. This is more performant than calling
setAsync a bunch of times in rapid succession since
setPathsAsync will end up making a single network call.
one of the other thing my Blocks app does is aggregating _changeCount values across records. I noticed that it doesn’t actually increment by 1 as it should. What’s happening here?
Any methods or variables that begin with an underscore (_) are private SDK internals and aren’t documented, so you shouldn’t rely on them in your code since their behavior may change at any point.
Is there a way to get data about specific record history?
There isn’t an API for getting this information at the moment, but I’ll note your +1 for it! Out of curiosity, what are you hoping to build with it?
Jun 10, 2020 11:22 AM
@Ashwin_Kumar – yes; Custom Blocks have a direct API with the base they are installed in; no need to use the REST API from within the Custom Block (unless you are wanting to interact with a completely separate base). You can simply call
table.updateRecordAsync() to make updates to records within the base.
Jun 10, 2020 11:23 AM
We don’t have details to share on a developer plan yet, but rest assured that our intention is to make Airtable even more accessible and affordable for developers. We will continue to support developers to build blocks for free (e.g. connect blocks-cli etc.) and are looking to make the full custom blocks functionality - that pro users have - available to developers on a special developer plan. More exciting things to come!
Jun 10, 2020 11:23 AM
Yep, that’s part of it!
Jun 10, 2020 11:25 AM
That’s wonderful to hear :tada: . And thank you for helping us on this journey as well by offering solutions to the community. Makes a world of difference.
If you want to have the same API key across all users, you can store the code directly in the source code of the block.
If you want the user to bring their own API key (like we do for the Twilio Send SMS block), you can store the user’s API key in globalConfig, which is a key-value store that’s scoped to that block installation.
Note that in either case, the credentials will be visible to all users of the block, since the API requests are made client-side.
Jun 10, 2020 11:27 AM
With all the tools available, what types of people do you consider to be developers?
Jun 10, 2020 11:28 AM
Hi! I think the best place is to start a thread in this forum (https://community.airtable.com/c/developers/custom-blocks-beta/54). Our team regularly checks new topics, and in some cases there might be someone else who’s already run into the same issue.
Jun 10, 2020 11:29 AM
Do you have formal names for the different APIs?
Having clear names can make discussions on the community forums easier.
I’ve been calling them the
Jun 10, 2020 11:32 AM
You are asking the million dollar question! One of the blessings (and challenges) that we have at Airtable is how horizontal and flexible the product is. We serve small businesses and Fortune 500 companies alike. Often our beachhead into a company is serving a particular use case, or piece of their ‘stack’. Users then realize they can use Airtable to meet many of their other use cases too.
For larger customers, we often see folks replacing in-house built tools that would have taken much more engineering time and effort to build and maintain. Users are then empowered - whether they are technical or not - to modify the bases as needed. To your point, there is a lot of benefit from bringing in data from other services and being able to view and modify your data in a flexible tool like Airtable.
Hopefully that helps. Great question.
Jun 10, 2020 11:34 AM
Good question! We refer to them in the same way (Standard API, Scripting API, Custom Blocks API). But it’s a good point that maybe “standard API” isn’t as descriptive now that there are other APIs.
Jun 10, 2020 11:36 AM
And we are officially out of time! Thank you so much for joining us today.
We’ll be awarding gift cards to the 3 questions that received the most upvotes: @Matthew_Thomas, @Harshit_Juneja, @Jacob_Cannon. Look out for another AMA same time next week focused on design.
Jun 10, 2020 11:37 AM
Thank you for hosting this session!