Ask your questions about Airtable Automations here.
Recently active
My base has a field formatted for URLs. When I use automation to send the URL for a given record, how do I make that reference a clickable link in the email? It looks like I should be able to do that with Markdown, but I haven’t figured out the details. Thanks in advance!
I need to send a gmail via an automation that I need to format the body with a script as there's a lot of data I need to collate and format. Is it possible to have a step that runs a script (I have a team acct), populates a long edit text on a record as a formatted email body, with urls etc, then on the next step of the automation gmail that field?It seems like it'd be "yes", and I'm going to try it out tonight, but if there are any warnings or cautions anyone has to offer, I'd love to hear it.Thanks.JeffEDIT: As I was working on this adding the long text field to my table, it got me thinking that I might just create a new table called "gmail" that I populate with all the particulars, and then have a separate automation that sends those gmails out and updates the row with the status and date/time sent. Nuts?
I've been working with scripts and have been loving it. I know the answer to this is probably no, and would be nice to have, but not a huge thing but....Is it possible to have a some common functions that I write shared across other scripts I use in my base? I can continue to just copy/paste them in the scripts I need. I know it goes against the ethos of low-code, I just have a few I use a lot.
Hello - I have another frustrating issue with regard to using the output.set function.I am able to access a list of records from a query using output.set("Record List", query.recordIds), but as expected it only outputs a list the record ID strings.What I want the output.set list to output is a list of values from the query result. Put differently, I am trying to build a list of records, and have the output be a list of the cell values.Once I have that list, I plan to pass it to a repeating group automation step.I am not understanding what I need to do to prep output.set to output a list of cell values. // query for every record in "User Accounts" let table = base.getTable("User Accounts"); let view = table.getView("Unlinked Member Script"); let query = await view.selectRecordsAsync({fields:["User ID","User Login"] }); //this outputs the list as record ID string; output.set('Member List',query.recordIds); //I want the output to be a list of User Logi
Hi,Is there ways to (i) force an email address collected through a Airtable form and to (ii) convert an email address coming in from an external system to lower case?We use Airtable as a CRM/ERP system, hence we register contacts and events for those contacts (for the purpose of this question). The first touch point is an Airtable form, after which the contact is directed to a Calendly event. The one piece of information connecting these inside Airtable (and a basis for a lot of automations) is the contact's email address.Yesterday I debugged an automation, and realised it had not found the right contact due to a capital case beginning of the email in the contact's data. Had not thought about these (naturally) being case sensitive.I see that one can user lower() in formulas, but would not want to use several "parallell" fields/columns for this. I tried to use lower() to encapsulate the data field in the automation, but that didn't seem to work.Suggestions how to do this?Rgds,Björn
TLDR: Can you have an automation trigger that is a scheduled date be changed by data in a record?I was telling a friend about airtable and she asked me how hard it would be to have a notification email go out based on data in her record(s). She was thinking about using airtable to define different appliances and systems in her airbnb's, and wanted to define data for an HVAC system (there may be several) that has air filters (of which one system may have 1 or more) and have the reminder be sent after say, 3 months. If she doesn't get around to changing it until month 4, she wants to have the form allow her to say "yes, changed on this date, remind me again in another 3 months" Of course, that's the human talk description, I know it would actually be checkboxes and dropdowns. She may change one sooner if she had lots of clients, but she doesn't want the notification "every 3 months", but rather, every 3 months after her last change.
I'm using automation.I want to automatically add comments to the record when updating certain fields, but I can't..What should I doAnd. I keep failing to get records... I caught when record updated with trigger... let table = base.getTable("Your Table Name");let recordId = input.config().recordId; if (!recordId) {throw new Error("Record ID가 정의되지 않았습니다.");}let record = await table.selectRecordAsync(recordId);let fields = ["fields1, fields2, fields3"];let changes = [];for (let field of fields) {let oldValue = record.getCellValue(field); // let newValue = record.getCellValue(field); /if (oldValue !== newValue) {changes.push(`${field} 값이 ${oldValue}에서 ${newValue}로 변경되었습니다.`);}}if (changes.length > 0) {output.set("changes", changes.join("\n"));} [Error]ERRORTypeError: Invalid arguments passed to table.selectRecordAsync(recordId, options):• recordId should be a string, not undefinedat main on line 7
Hello, I am making a recurring weekly checklist, and I would like the Kanban Stacking view to change with the day. So today is Wednesday, I would like all my Wednesday tasks to be first and Thursday next, and Tuesday to be last. Unfortunately the stacking option only allows for alphabetical order. I’m trying to think of a formula that would be dynamic and would assign the row a “1” if the due date falls on today’s weekday, and assign a “2” for tomorrow’s weekday, and so on. I’m not sure if that makes sense. That’s just one thought, if there is an easier way I’d love to know.
Hi guys!!!I´m trying to set up an automation which could find some records under determined circunstances. Then update a couple of fields and finaly open an Airtable URL which is contained on a field and is different for each record. Everything works quite good, except que the URL openenig which i have no idea how to make it happen. I guess it would be through a script, and should be so complicatyed, but i have no idea how to start. Thank you in advance for your time.
Use Airtable Record URL in email notifications...any way to link to that record in Interface rather than data view?
I have a database where the first table is the registrations, then I have four more tables with their own forms. I want people that registered in the first one, to find their name in the other forms instead of filling it out again. So what I need is for the the name of the records from the first table (registration), to automatically populate a dropdown menu in the other four forms. Do you know an automation to do that?
I am working on a service workflow that would require me to send estimates for projects. I can set up an automation to send a single estimate at a time but Im struggling to find a way to send multiple estimate in a single automation to a client with multiple project requests.
Hi, I'm trying to update one date and time field {end date} based and on another date and time field {start date}. The catch is the {end date} cannot be later than 10:30PM PST (2024-09-01T10:29:59-08:00).
I am trying to take a comma separated value from one field (field name "Interests from MS"), and populate the individual items in that string as individual items in a different multiple select field (field name "Interest"), whenever it's updated. I set up the trigger fine, but I can't get the script right. Is this doable without a custom automation (ie. script)? If not, anyone have any suggestions on a script for that? ChatGPT is unable to get it right for me. This is what it was giving me:let table = base.getTable("Members");// Get the record ID from the automation inputlet recordId = input.config().recordId;// Fetch the record using the record IDlet record = await table.selectRecordAsync(recordId);// Get the value from "Interests from MS" fieldlet interestsString = record.getCellValue("Interests from MS");if (interestsString) {// Split the string by commas and trim any extra whitespace from each itemlet interestsArray = interestsString.split(',').map(item => item.trim());// Update
Hi, I am having trouble figuring out an automation.I have a field for a project end-date, and I use an automation to enter a fiscal quarter based on a date table (and another automation to update that quarter if the date changes). When the project is cancelled or put on hold, I need to remove that date. When I do that, the fiscal quarter field remains as the last entered. Is there a way to have that revert to blank?Thanks!
Hi all,We save some record fields that contain attachments in our airtable database. I've been asked if it's possible to send these files to an external company via POST api call from an airtable automation script. The call must be form-data and the endpoint is expecting a file in the key-value format. I've attempted sending the downloadable url but this is being rejected as expected. Is it possible to have the automation save the file from the downloadable url, and send that? I know there's some issues with sending files themselves with airtable. Any advice is appreciated, worst case we can download to our external database and send from there.
Hello Everyone,I have a base with various scenarios, each of which has a template field and a field for attachments.I'd like to be able to create an automation that will open the current users email client and insert the relevant template and attachment.So far I've been able use the "mailto:" protocol to do as much with the written template but this doesn't support attachments. The email account can change depending on who is logged in to the database.TL;DR: I need to automate opening the users current email client and inserting the relevant attachment from the database record.
I'm a total novice with scripting and automation, so I had ChatGPT write a script. It looks right to me (I've double-checked the strings) and does not throw out any errors, but it is not having the desired effect on my base. Would love some pointers... Thanks in advance! My goal is to run this each night to ensure that I'm only seeing the current month's transactions in my view, but never less than the seven days before or after today. When I run the script, it finishes without error, but does not change my base and there is no output when testing the automation. // Define the table and view let table = base.getTable("Transactions"); let view = table.getView("All Transactions"); // Fetch records from the view let query = await view.selectRecordsAsync(); // Get the current date let currentDate = new Date(); let currentYear = currentDate.getFullYear(); let currentMonth = currentDate.getMonth(); let currentDay = currentDate.getDate(); // Helper function to det
Hello all!I have a formula field in one of my tables that generates a custom URL to an Airtable form where I want to pre-fill one of the fields, and send the URL to the main point of contact through email.The formula is this: CONCATENATE("https://airtable.com/XXXXXXX/ZZZZZZZZZ/form?prefill_ClientID=",RECORD_ID(),"&hide_ClientID=true") And it shows in Airtable correctly (this is a direct paste from the table field): https://airtable.com/XXXXXXXX/ZZZZZZZ/form?prefill_ClientID=recTuHzXP2YsNencA&hide_ClientID=true However, when the email automation runs, the URL that shows up has the 2 underscore characters removed, as follows: You'll see that the "_" characters after the words "prefill" and "hide" have been stripped. I don't believe it's the email client (Google) doing this, as I can email the direct link from the table through email and it comes through fine. Any idea why this is happening? John
Hi how can I get data from air table using code in gsheet?
Hi there, below is a snippet of an interface I've set up. I have multiple filters that influence which records are used to sum the various metrics below. The next metric I'd like to implement is a ratio using the summed numbers, for example number of emails sent per user so 109167 / 51065 = ~2:1. Is there any way I can do this? I'm happy with doing the actual calculations in a nocode tool if there's a way to send across the list of filtered records but I can't figure out a way to do this. If anyone has any ideas or perhaps alternative tools I could use for this exercise then please let me know, thanks in advance!
Hello, I have 2 tables, clients and tasks. Each task has a linked record field to the client. I want the automation structured so that when Task ABC is Complete, the linked client's stage (stage is a field in the clients table) updates. I am struggling getting the record ID for the linked client record for the subsequent steps.
Hi, Has anyone been able to figure out how to batch download images from Airtable into a folder with a naming protocol for each image based on information from the same row? Thank you, Diana
I have a BOM for each model we produce in our factory. I want to develope a database that allows us to control de actual stock we have based on the quatity and model of our production. Is it possible to do so without using a script and by introducing only a forms with the quantity and the model procuded? Just to understand my problem, each model uses at least 30 different components, with different quantities.Thank you
I want to preserve the setting from a search on an interface page, this needs to be dynamic, so a view does not work as I don't have access to the setting from within the interface page.Below is an idea of the search, location, age, gender etc... In this case a Filter connected to a grid inside a interface page shared amongst users. Rather than copy and email the link to them it would be great to name it and save it.If I copy the page url for this search the parameters are contained in the URL. I want to be able to save that url into a 'Saved Searches' table that we can refer back to a reload said search.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.