The Developer Hub is a place where advanced users can write their own automations.
We have purposefully made this feature a bit hidden, as a large percentage of our users will not want to use it. This feature is meant for users who are experienced programmers.
To access the Developer Hub, click on the profile icon in the top right corner of the dashboard (where you can see all your workspaces and bases) and select Developer Hub. Once you're in the developer hub, select your workspace on the left and then click Create a script!
You will now see our script editor screen. On the right you can set input variables and change metadata like the name, subtitle, description and set a help URL for your users. You can also set the Script Automation Type:
Bulk Automation: These are automations that run for all records in a given table or view. For this automation type miniExtensions takes care of the looping through the table or view and you will just need to decide what happens to each record.
Formula Automation: This is an automation that provides a formula to the user which can then be used in a Formula field in Airtable to have a unique link for each record. Our "HTML to webpage" automation is a good example of such an automation.
On the left is where the actual coding happens!
User Input Setup
Whenever using a script, users will set the corresponding table it will run on, as well as an optional view for filtering records. Any other input needs to be defined by the developer of the script. You can add user inputs by clicking the + Add button. Alternatively, you can define your own UI sections and fields as described here.
When adding a user input field, you can choose from four different input types:
Text Field: This is used to get a simple text input to use in your script.
Number Field: Use this to get a number input for your script.
Airtable Fields Picker: With this input field type the user can select Airtable fields from their table to use with the script. You can define which field types are permitted and limit the user to only pick one field, if needed. An example of this could be a target and destination field for some sort of conversion. For this you would create two input fields for your script, one for the target and one for the destination field. You will need to set the field as an input or output field and decide whether the record should be processed when all input fields are not empty or if it should run if some fields are not empty.
Workspace Secret Picker: With the workspace secret picker you can get API keys from the user's workspace into your script. The user would select the applicable API key from the ones saved in their workspace. Alongside the release of the Developer Hub we are also introducing custom secrets, so users can add any API key to then use with a script. You could use this for implementing third-party integrations that aren't available on miniExtensions currently.
For each input field, you can define the user-facing name and subtitle, as well as the property key for your script. The property key is essentially the name of the variable to use, for example selectedAirtableFields for an Airtable Fields Picker field. This can be whatever you like, of course, provided there are no spaces. Feel free to call them tmp1, tmp2, etc.. if you really want to! We're not gonna stop you 😉!
Code Editor
The left side of the screen in the Developer Hub is where the magic happens! Here you can code to your heart's content. Scripts are written in TypeScript. You can find out a lot more about what's possible in our detailed guide on scripting on miniExtensions.
If your script contains errors, you could delete or otherwise corrupt data in your Airtable base! Please make sure you try out any scripts you use on testing data first!
To use user input in your script, just type input.
followed by the property key you defined for the input field. For example, for an input field with a property key of selectedAirtableFields, you would write input.selectedAirtableFields
to access the user's input.
Changes are saved automatically. To make the script available for use, you can hit Publish. While you're testing, you can add your script through the "Create" button for your base and enable Use Live Data. This will use the code exactly as it currently exists in the code editor. When Use Live Data is disabled the script will run as it was last published.