Skip to main content

Hello,



I am really thrilled with exploring the features of this new and game-changing Airtable functionality. I think it would be super useful to my team which deals with hundreds of social media posts per month created and edited by several of our departments.



To give this a go, I started by creating an interface which would help our education department organize their programs and link social media requests to records another table - I already have all that setup. Where I am stuck on, is on the ability of creating a new record from the interface itself (i.e. create a new upcoming program from the interface where I am browsing the programs). I cannot find an element such as “add new record” or for that matter “delete record”. Do we have to go back to the regular grid-views to add or delete records? That sounds a bit convoluted…



I am loving the new feature and I understand that it is in Beta, but I really want to use it to its fullest and would love any suggestions, or if we could add that functionality for the full version.



Thanks so much!

Welcome to the community, @Miguel_Montalvo! :grinning_face_with_big_eyes: @kuovonne covered the currently-available options in the announcement thread when this same question was asked:




Yes I agree. As nice as Interfaces are they just let you look at records. If you’re going to add something like this it seems natural that users would want/expect a way to ADD new records in the interface. Without it the whole thing seems stunted. And I don’t mean adding via some convoluted script – I mean natively adding records in an interface.



Did it not occur to the product managers that this would be key functionality??


With enough user cases feedback to Airtable Support via feature request, I’m sure they’ll add it relatively soon.


I guess the issue to consider is when you are looking at many different data areas on one screen how would the user know which table the new record would be added to.



Could become very confusing very quickly with a global control, if when clicked the new record was not added to the area they expect.



In a large amount of cases the new record would require a set amount of data preinserted to stay on screen (for linked or filtered grids for example).



Not saying there isn’t any scope for a new record button, just these points need to be considered.


I guess the issue to consider is when you are looking at many different data areas on one screen how would the user know which table the new record would be added to.



Could become very confusing very quickly with a global control, if when clicked the new record was not added to the area they expect.



In a large amount of cases the new record would require a set amount of data preinserted to stay on screen (for linked or filtered grids for example).



Not saying there isn’t any scope for a new record button, just these points need to be considered.


I think would be great if they would add a new record element (button) that you could map to the specific table and specific fields.


That way you could put multiple new record buttons on the same interface in different areas.


I think would be great if they would add a new record element (button) that you could map to the specific table and specific fields.


That way you could put multiple new record buttons on the same interface in different areas.


Yah, further to a “new record” button, would be handy to have record navigation buttons too, such as previous, next, first and last. Also the ominous delete record button too.



Be cool if designers can either place the buttons separately, either as small or large, and also perhaps have a navigation tool-bar widget too, where all the buttons are placed together into a more defined/efficiently spaces area.


Although not ideal, you can create a text field and hyperlink it to a form that creates a new record in the base you are in.


I am just here to place my vote for add a new record functionality in Interface Designer. Then you can use these element to create essentially a custom form. The Interface Designer is sweet but without this function it feels half-done 🙏


I am just here to place my vote for add a new record functionality in Interface Designer. Then you can use these element to create essentially a custom form. The Interface Designer is sweet but without this function it feels half-done 🙏




With a little work (including a little script), this is completely doable using the current setup. Inspired by one of the demos that @kuovonne shared in the announcement thread, I’ve added such functionality to interfaces in two of my bases already, and it’s been a huge help. Granted it’s a little hacky, but it’s not nearly as deep of a hack as some of my solutions from a couple of years ago. 🙂 I’m thinking of putting together a short walkthrough of the process and sharing the automation script that I wrote—which only needs minor tweaks when installing in any base—but that’ll have to wait for this weekend I’m afraid.




With a little work (including a little script), this is completely doable using the current setup. Inspired by one of the demos that @kuovonne shared in the announcement thread, I’ve added such functionality to interfaces in two of my bases already, and it’s been a huge help. Granted it’s a little hacky, but it’s not nearly as deep of a hack as some of my solutions from a couple of years ago. 🙂 I’m thinking of putting together a short walkthrough of the process and sharing the automation script that I wrote—which only needs minor tweaks when installing in any base—but that’ll have to wait for this weekend I’m afraid.


I’ve come up with three different ways of creating a new record in an interface via automations, and two of them do not require any code. (Although I prefer using code in order to consolidate automation triggers.) I haven’t had the time to record a new video, but I will eventually.







  • Have a blank record that exists as a fake form. When the user selects a single select value, take the values in this fake form and use them to create the actual record. This is the basis of how I created records in my original interface video. This allows for input validation and with a script you can even check for duplicates before creating the real record and prevent the creation of a duplicate.







  • Create a new blank record in response to a user selecting a single select value. The automation triggers when the single select has the given value, creates the new record, and then resets the single select field. This works very well when creating new linked records. You can also have the “blank” record be created with default values.







  • Always have a blank linked record: Have a formula field determine if a record is blank. Then have a rollup in the parent record determine if any of the child records are blank. If there are no blank records, have an automation create one.






I’ve come up with three different ways of creating a new record in an interface via automations, and two of them do not require any code. (Although I prefer using code in order to consolidate automation triggers.) I haven’t had the time to record a new video, but I will eventually.







  • Have a blank record that exists as a fake form. When the user selects a single select value, take the values in this fake form and use them to create the actual record. This is the basis of how I created records in my original interface video. This allows for input validation and with a script you can even check for duplicates before creating the real record and prevent the creation of a duplicate.







  • Create a new blank record in response to a user selecting a single select value. The automation triggers when the single select has the given value, creates the new record, and then resets the single select field. This works very well when creating new linked records. You can also have the “blank” record be created with default values.







  • Always have a blank linked record: Have a formula field determine if a record is blank. Then have a rollup in the parent record determine if any of the child records are blank. If there are no blank records, have an automation create one.






The first option that @kuovonne listed is what I’m doing. I also have a “New” checkbox field, which is checked only on that blank record, and a filter in the interface to control the record list based on that field. When unchecked I can browse through all records except that “new” one. When checked, only that blank record appears in the list, making it easy to add something new.


I’m also just here to voice the need to have a clean way to add and delete records from the interface. I understand it is only on Beta, so hopefully this need gets looked at and added while it is still on Beta.


At yesterday’s Table Talk, the panelists made it clear that they heard our desire for better ways of adding new records in interface.


I’ve come up with three different ways of creating a new record in an interface via automations, and two of them do not require any code. (Although I prefer using code in order to consolidate automation triggers.) I haven’t had the time to record a new video, but I will eventually.







  • Have a blank record that exists as a fake form. When the user selects a single select value, take the values in this fake form and use them to create the actual record. This is the basis of how I created records in my original interface video. This allows for input validation and with a script you can even check for duplicates before creating the real record and prevent the creation of a duplicate.







  • Create a new blank record in response to a user selecting a single select value. The automation triggers when the single select has the given value, creates the new record, and then resets the single select field. This works very well when creating new linked records. You can also have the “blank” record be created with default values.







  • Always have a blank linked record: Have a formula field determine if a record is blank. Then have a rollup in the parent record determine if any of the child records are blank. If there are no blank records, have an automation create one.






A fourth way I used is to add a Text element. I type the words “Add New Record” and then turn that text into a hyperlink to a form. It’s not that graceful, but it works for now.


A fourth way I used is to add a Text element. I type the words “Add New Record” and then turn that text into a hyperlink to a form. It’s not that graceful, but it works for now.


You can also use a button field that opens a form. If you use a button field, you can prefill the form to make creating new linked records with default values even easier. However, using a form takes the user out of the “interface”.


You might try On2Air Amplify app. It’s an app in the marketplace.







You can add a new record in general or add new linked records to a record.



Amplify is a record dashboard app that lets you customize how you view records, linked records, linked tables, and more. You can also edit and view any Google Doc, Google Sheet, or Google Slide directly inside Airtable.







These images show an update for the app that should be added in the next week.



Here’s a comparison between Amplify and Interfaces




That won’t work in an interface workflow though will it?


Figured I may as well post in this thread too, that Interface buttons (and the Field Buttons too for that matter) should also have an option so that upon clicking they copy desirable Field text to the users clip-board - and that buttons should all have the ability to have unique text/emoji/icons.




With a little work (including a little script), this is completely doable using the current setup. Inspired by one of the demos that @kuovonne shared in the announcement thread, I’ve added such functionality to interfaces in two of my bases already, and it’s been a huge help. Granted it’s a little hacky, but it’s not nearly as deep of a hack as some of my solutions from a couple of years ago. 🙂 I’m thinking of putting together a short walkthrough of the process and sharing the automation script that I wrote—which only needs minor tweaks when installing in any base—but that’ll have to wait for this weekend I’m afraid.


Hi Justin,


Did you end up making the walkthrough video for this? If so, I’d love a link to see it. Sorry I’ve been absent since creating the thread, but I am away on vacation, and only sporadically have internet.


Hi Justin,


Did you end up making the walkthrough video for this? If so, I’d love a link to see it. Sorry I’ve been absent since creating the thread, but I am away on vacation, and only sporadically have internet.


Sorry, I haven’t yet recorded a video. It’s on my list, though I’m not sure how soon I can get to it (partly because of the holidays). I’ll try to get to it as soon as I can.


@Miguel_Montalvo Here’s a quick rundown of one way to do it that doesn’t require scripting.







Edit: I shared a slight variation of this method on the Jan 11th episode of the BuiltOnAir Podcast, including a link for viewers to access a script to make setup in large tables a lot easier.


@Miguel_Montalvo Here’s a quick rundown of one way to do it that doesn’t require scripting.







Edit: I shared a slight variation of this method on the Jan 11th episode of the BuiltOnAir Podcast, including a link for viewers to access a script to make setup in large tables a lot easier.


Oh !!! That’s awesome. Thanks for sharing.




With a little work (including a little script), this is completely doable using the current setup. Inspired by one of the demos that @kuovonne shared in the announcement thread, I’ve added such functionality to interfaces in two of my bases already, and it’s been a huge help. Granted it’s a little hacky, but it’s not nearly as deep of a hack as some of my solutions from a couple of years ago. 🙂 I’m thinking of putting together a short walkthrough of the process and sharing the automation script that I wrote—which only needs minor tweaks when installing in any base—but that’ll have to wait for this weekend I’m afraid.


Unfortunately, we do not have access to scripting, even in our Enterprise license. Ours is due to company restricting certain features due to security issues. So having the ability to add a button, or even a series of buttons with a user’s needs would be a wonderful addition.


Unfortunately, we do not have access to scripting, even in our Enterprise license. Ours is due to company restricting certain features due to security issues. So having the ability to add a button, or even a series of buttons with a user’s needs would be a wonderful addition.


Check a couple messages above your reply, where I share how to do this without using a script.


@Miguel_Montalvo Here’s a quick rundown of one way to do it that doesn’t require scripting.







Edit: I shared a slight variation of this method on the Jan 11th episode of the BuiltOnAir Podcast, including a link for viewers to access a script to make setup in large tables a lot easier.


This only works if you don’t already have a filter setup in your upper filtering. I’ve found in the interfaces that if I try to add multiple filter selections, that they reset/disconnect when I press publish. So I can only have filter set on my records directly on the left(in the interface) and one on top, a filter I drag into my interface.








I had to remove all but one filter at the top for it to work correctly.


So having a button, or a fix to this filtering issue, would be quite handy.



Sean


Reply