Connect, collaborate, and solve questions about using Airtable in Ask the Community.
Recently active
I have seen the same question asked elsewhere (link below) but it didn't really deal with another implication of combining a table and separating items by a type record.My question is, what is the best practice for setting up a contacts table in Airtable where those contacts could be clients or suppliers etc. If I was designing this in a traditional database my practice would be to make 1 contacts table and distinguish these by a field that indicates what type they are. The advantage is I dont need to maintain all of the different fields needed for a contact across multiple tables. The issue with doing this in airtable seems to be that I cannot easily create forms to add a contact or add a supplier (where the default values are hidden from the user) and as a result I cannot seem to trigger any automations from these actions. I dont want to spend time working on work arounds to achieve what I would like to do.So what do most developers do? Is there a best practice? Do you main
Hi all,This seems pretty basic but I can't get it to work after a day of researching and patching together example code I've found. I have no Javascript experience.I simply want to run a script that entirely clears the contents of a column. Here's what I have: let subsTable = base.getTable('Sub Assemblies'); let clearQuery = await subsTable.selectRecordsAsync({ fields: [] }); function myObj(rec){return {'id':rec.id,'fields':{'BOM CREATE':""}}}; let updates=clearQuery.records.map(myObj); console.log('updates: ',updates[0].fields) while (updates.length > 0) { await subsTable.updateRecordsAsync(updates.slice(0, 50)); updates = updates.slice(50); } The error I'm getting is: j: Error: Failed schema validation: <root> must be an arrayline: 2nd from last Any help appreciated!
Hi friends! I am hoping this is easy, but I'm noob enough to not even know how to search up an answer in support/forums.My specific use is retreat registration. I have one table for Retreat Participants and a second for the possible Retreat Rooms.The "Retreat Rooms" table has a field for the rate for Solo Occupancy, and a field for the rate for Shared Occupancy.In my "Retreat Participants" table, I have a checkbox to indicate "solo occupancy". I would like there to be a field in the Participants table that then returns the correct room rate based on whether or not this checkbox is ticked.Let me know if you need further information or explanation, and if you have any tips! I don't know if this is an "If/Then" or "Switch" or what 😵💫 Thank you!
Hi!I am testing airtable to see if we can use it to accomplish our needs and have hit a snag with this Project Profiles interface. I created a spreadsheet that feeds the interface, each row is a "project" but I need to display associated data at the bottom of the interface in table format.There is a way to do this by linking to a separate table, but I don't see a way to set the tables as an intuitive 'child' to the given project so that the process is more automated.
Hello airtable community, I have this following formula but dateadd does not display the operation in the result thank you for your feedbackFranck IF({Date début package} != '', {Date début package},IF({Date début expl 23} != '', {Date début expl 23},DATEADD({Date début package},{Nombre jours d'Activité},'days')))
My Production Schedule is synced to an external calendar subscription informing our entire cast and crew WHAT we're shooting - WHEN - but even though the physical address of WHERE we're shooting (i.e.: where they all need to be) - or even zoom hyperlinks (with the passwords embedded for virtual production meetings) - are detailed ON the customized labels, that doesn't transfer to the calendar subscription.All they get is an Airtable URL - and even if they click that link - it doesn't reveal the address - which is selected as an option for the customized label. What's the point of the customized label when it doesn't sync the info you select?How/where can I add LOCATION to my calendar subscriptions?
Hey guys, I am building a job board. I’ve written the following formula to prefill the application form for the candidate: "https://airtable.com/embed/shrNEroLw9LDd5Hlg?prefill_Company="&ENCODE_URL_COMPONENT({Company Name}) & "&prefill_Position="&ENCODE_URL_COMPONENT({Position}) The Position is plain text and always gets prefilled. The Company Name is a linked record and doesn’t always get prefilled. In cases where the company name is just one word, the prefilling doesn’t work. Eg: Company name: “Shunya”, link: https://airtable.com/embed/shrNEroLw9LDd5Hlg?prefill_Company=Shunya&prefill_Position=Android%20Engineer vs. Company Name: “Sixteen Grams Coffee” has a successful prefill: https://airtable.com/embed/shrNEroLw9LDd5Hlg?prefill_Company=Sixteen%20Grams%20Coffee&prefill_Position=Marketing%20Intern Any pointers on what may be causing this? Thanks!
Hi,Please share your ideas. I'm not sure if it is possible or not.I have three tables Project, Budget, and Products. The Budget table has multiple fields that are linked to Project and Products, and the view of the Budget table is grouped by Project Name field. The Product table has multiple fields and one of the fields name is called Status. Whenever I create a new Project in the Project table. By default, Budget table should be updated with the New Project Name and integrate with Product table records that are in Status Active.
I'm trying to figure out the best way integrate my Airtable base with Sages brightpearl.Will this be possible using a script extension?Or should I use Make?Has anyone done this before and what will you recommend?
I have an attachment field containing images. I see that the stored attachment object has a url property. In another formula field I would like to show just the attachement url. Any ideas? Thanks.
I know I am late to the game here. I have been ignoring the updates until now. I currently have uploads and the links for the uploads through a formula - which allows me to create a download button.I use these so in the public share link to my base - users can quickly select the download button instead of opening the record and downloading the actual file. The airtable documentation says the url will stop working when in formulas. This sounds like my use case scenario. Does anyone know if this will this continue to work going forward?Obviously I thought this was meant to stop working in November, so either they haven't got to my base yet or I am in the clear (because it still works)...If this function will stop working - is there an alternative way to achieve what I am doing when the change happens?
Airtable ascript code was written in airtable to retrieve record information from table A with the email address as the key, add up the points associated with the same email address, and then store the combined value in the aggregate column of the record associated with the email address in table B.The Airtable Script test passes without any problems, but when I actually update Table A, no values are reflected.Additionally, no errors are generated and no error log is displayed.Could someone please lend me some wisdom? ==========================================================================async function calculateTotalPoints() {try {// Get all records from Table A// @TS11-ignoreconst tableARecords = await base('contribution Calc').get(); // Initialize an empty object to store user pointsconst userPoints = {}; // Iterate through each record in Table Afor (const recordA of tableARecords) {// Get the user's email address from Table A recordconst userEmail = recordA.getCell
Hi, I recently inherited the database for a club and I am trying to make the interface easier to use by creating an Airtable/Softr design instead of the manual version that existed previously.Basically I have one table with member details that includes a field for number of events attended. I then have another table for events with a field called Attendees which lists all the Attendees of that event by pulling the names from the Member table. So, what I want to do is automatically increase the number of events attended field in the Members table by one if the member appears in the Attendees field in the Events table - how can I do this?Possibly slightly complicating the issue is that since I have inherited this and am not starting from scratch, numbers of events attended figures already exist, so I am not starting from zero but from different numbers for each member.Thanks in advance for all help!!
Airtable's record lookup feature used to have a search field in this interface menu where you could type, and it would autosuggest relevant records from your database. We used this feature extensively throughout our project.Recently, this interface changed so that the field that allows you to type to find autosuggested records is no longer present.
Good morning. I would like your advice on how to handle my needs.I would like to create a CRM-like contact database called "Contacts".Then I would like to create a database "Event1" where people can submit a form and register for the event. Then in this database I would like to create other tables always referring to the event in question.I would like the contacts to be linked to event 1 if present in the CRM "Contacts" and, if not present, to create a new contact in "Contacts" with the data of the new subscriber.It would therefore be two linked databases. One is the contact database and the other manages the contacts for that single event, but connecting them to the main database.I hope I explained myself, I'm waiting for yours.Thank you!
I have a user groups as individual records. Each month, my team adds a field with the number of members in each group. This means I don't have a specific field i can put the 'latest' number in for more public views to the wider company. I am trying to create a formula field which says "If this field is blank, try this one, if that field is black, try this one" until a field with values is found... What I have tried, but got no success with (I am not a natural with code/formulas). Can someone help? 😄 IF(NOT(BLANK({2026-01 Members}, {2025-12 Members}, {2025-11 Members}, {2025-10 Members}, {2025-09 Members}, {2025-08 Members}, {2025-07 Members}, {2025-06 Members}, {2025-05 Members}, {2025-04 Members}, {2025-03 Members}, {2025-02 Members}, {2025-01 Members}, {2024-12 Members}, {2024-11 Members}, {2024-10 Members}, {2024-09 Members}, {2024-08 Members}, {2024-07 Members}, {2024-06 Members}, {2024-05 Members}, {2024-04 Members}, {2024-03 Members}, {2024-02 Members
I have a score card with a computed percentage grade (e.g., 84) that I want to turn into an easy letter grade for my stakeholders.Rather than using a huge nested IF formula I thought I'd try to use SWITCH to compare and create some values.SWITCH( {% GRADE}, >=93, 'A', <=64, 'F')But I keep getting a generic Sorry, there was a problem creating this field. Invalid formula. Please check your formula text. error message.I can't find anything in the help documents talking about using comparison operators like =, >=, <= with SWITCH.Is what I'm trying to do even possible or am I stuck with that massive nested IF statement?Thanks in advance,Anne
I'm trying to find out how many fields in our database are empty or not being used. It's really tedious to check each tab one by one. Any siggestions?Thank you!
Hey guys,I spent the day trying to get my head around a moving average function. In my case I want to calculate the 7 day average of my Google Ads CPL (cost per lead) metric. I have daily data from Google Ads in my base along with all important metrics like ad spend, clicks, impressions and so on. I also track the amount of leads. For the day to day calculation a formula does quite well but when it comes to calculate things "across" rows Airtable is quite limited.My approach is to use an automation that runs a script every time I update either the amount in ad spend or leads. This way I kind of "fake" a formula field. I feel like I am almost there but it's not working still and I am having a hard time trying to debug with ChatGPT.My logic is:Values are updatedDate field value is readScript finds the last 7 days based on the original date in the updated row (not today)Script gets the ad spend and leads values of fields that match this conditionValues are added and then divided (sum of a
I have already successfully created an automation to send an email triggered by a record's field changing.Now I am trying to create another automation to send a weekly email. In the automation's configuration section, I am filling in the To field. I click on the + sign, and the only options I see, for inserting a value from a field are "Actual trigger time", "Expected trigger time", "Next trigger time". This looks like a bug. Instead of giving me an option to select email recipients from a table, I am being asked about trigger times.Anyone else seeing this? Is this a bug or am I just misunderstanding how to configure a "scheduled time" automation? How are the email recipients of such an email normally selected?
I am building a base for client follow up. When our clients are a couple, they are entered on the same row in our main table. I have the client name column as a look up field in our Client Birthday table, so it pulls the name from our main table. However, in the Client Birthday table we need them to be on separate rows. Is there a way to use an automation or script to split the client names into two rows?For example, if we enter John Doe and Karen Smith on one line in our main table, could we make them show up in two rows in our Client Birthday table?Thank you!
HiI have a simple script I run each night, which simply attempts to tick a box in about 100 records, which then drives an automation to fire off some reports on activity that day (1 per user). Unfortunately it never completes, it tells me it has failed. It works for many records, but not all. I have similar scripts for other reports. I'm using a script because it fires at a specific time. Any ideas how I can improve this please so that it will process all before timing out. The table in question only has 100 records or so. Thanks let table = base.getTable("Users");let view = table.getView("Users for Daily Report");let query = await view.selectRecordsAsync(); for (let record of query.records) {table.updateRecordAsync(record, {"Trigger Daily User Report": true})}
I’m working on a project management system in Airtable, and I need to set up a counter system to assign unique numbers to tasks within a vertical hierarchy. The goal is to create a structured numbering system that reflects the task relationships and levels. Here are the details:Project Structure:I have a hierarchical structure with parent tasks ("Predecessors" field) and the associated subtasks ("Next task" field).Each task can have multiple subtasks, forming a vertical hierarchy.Requirements:Assign a unique number to each task.Ensure that the numbering system reflects the hierarchy (parent-child relationships).Use a formula or automation to generate these numbers automatically.Below is what I have tried:I have tried to create 3 different fields as below:1. tesst2:Formula: IF(COUNTA(Predecessors) = 0, "1", "")Explanation: This formula assigns “1” to tasks that have no predecessors (i.e., top-level tasks).2. lookup test:Formula: A lookup of the above field for the linked “Predecessors”
Hey, I am having trouble with automating it where when a new 'special item' is created it will deactivate the previous 'special item' in the list and have the new one be active, I keep having errors with the update record.The attached file shows my screen
I've read through most of the posts having to do with this and still can't find an answer that works. Most ask why this would need to be done. We are currently using Airtable as a mass outreach table for individuals we contract work with. Occasionally, they retire, die, or are no longer to be put in rotation. We have the checkmark to indicate they need to be removed from rotation but we also have to update our operations software with these notes and new changes and want a record to track those updates but not available to reach out to. We already use filters and views and statuses for the dozens of other items we care about and work with. We might need to put them back in rotation too so I would rather not delete 100% and just move to other table. I don't know why this seems so hard to do as it seems like a very important function that a lot of people could use the option of. Would appreciate any advice!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.