Need development and API help? Ask your questions here!
Recently active
Hi everyone! Let me preface by saying I’m a non-developer diving into the scripting block in order to make our base more efficient. I’ve looked through a bunch of the examples on here already and don’t think I’ve found one that quite fits what I’m looking for. I have three tables I am trying to integrate. Projects, Production Calendar, and Tasks. I’ve used a script from this example base to generate a list of project beats for projects that need it but I also need code to then create tasks for each “beat” using a linked field in Production Calendar to the Tasks table. Key fields in my Production Calendar template: Project (linked to Projects Table) Phase (single select) Next Beat (Successors for order) Subtasks (a linked field which then contains Priority-single select, Status-single select, Department-single select in my Tasks template) Is is possible to bring these all together in one script? Or run another script that subsequently creates the tasks associated with the Project Beats
So, I need to query AirTable in my Node app to only return records that match a given field value. My query looks kind of like this: await base(baseName).select({ fields: […], maxRecords: 100, filterByFormula: “?” }); Here’s the catch. In the filterByFormula parameter, I need to query a field, status, that is a lookup to another table field. In the other table field, the data type of status is a single-select dropdown. However, in the API for the table I’m querying, the return type is “array of strings”, where the array of strings contains the values of the field (which is weird because I thought it was a single selection drop down). So, I’m kind of unsure how to go about querying this. Say, the possible values for status are [“pending”, “confirmed”, “canceled”, “completed”]. How would I go about filtering the results to only return records who’s linked status value is “pending”, for example? Really new to AirTable. I’ve honestly just been learning as I go during this little freelance
Is it possible to view the data stored in the database in conjunction with the airtable?
When I am making api call results are not coming in sequence meand results should come like this 1,2,3,4 but results are coming like this 1,3,2,4 How I can fix this ?
Is it possible to get airtable to import from a CSV in a particular location on a scheduled basis, as a simple form of API? Thanks.
Hi, when I call for a view, is there a way to only give back how the view really looks like, with all the hidden fields not in the response? Otherwise the view= Tag makes no sense imho. Best
Below is my database table structure { “id”: “recudh2aihP7c5Xrl”, “fields”: { “amount”: -9000, “type”: “loans”, “note”: “loaon ami for march”, “loanFk”: [ “recazeHVfHg52dTFn” ], “user”: [ “recbPHNfFnjZOaba5” ], “Name”: “loan ami”, “createdDate”: “2020-05-03T07:05:26.000Z” }, “createdTime”: “2020-05-03T07:05:26.000Z” } I want to filter records using GET API using the “loanFk” key. Can someone help me how to put the filterByFormula as it is to be done on an array? Is there anyway i can convert the array to string as I dont have multiple links
Hi Airtable gurus, has anyone ever made or know of a way to integrate fax into Airtable? We are a budding paediatric telehealth service and exploring the potential use of Airtable as our patient management system. Fax is still a common communication method with GPs. Some ideas include, using the Page Designer block to output a letter in PDF, then integrating with an online fax service. Thoughts and suggestions welcome!
We need the ability to duplicate a record on our mobile apps so we can quickly add, then edit, a brand new record that’s strongly similar to the first, saving us excessive duplicative entry work in records with many fields. It’s easy to do in the desktop application, but the “duplicate & edit” function would be used primarily “in the field” and “on the move.”
The Google Drive integration…will workspaces and bases become searchable in Google Drive? So if I enable Google Drive integration and I have some text in a record in some base, if I use the Google Drive search function to search for this text will it find and return the relevant workspace/base as a search result?
Hey all. I’m tasked with doing some automation of a few processes. As part of this task, I need to create several records in an AirTable base. I’m using AirtablJS, with typescript typings from DefinitelyTyped. I was wondering how I can create multiple records with one request. I saw on the API docs that I can just pass an array of field data to the base(“tableName”).create() function to do this. But, when I try it on my codebase, Node complains that create() has no such overload that takes an array of records. Any advice on doing this?
Hi guys, Completely new to Airtable and have been following the https://github.com/Sybit-Education/airtable.java guide to integrate Airtable with my java project. I understand this is a new API client and is probably not fully supported yet. I think I have everything set up correctly but I seem to get the following error when making any requests to the database: Exception in thread “main” com.sybit.airtable.exception.AirtableException: Could not find what you are looking for (NOT_FOUND) [Http code 404] I’m certain that my API key, base name and table name are all correct. Here is the code used in my project to connect to Airtable: import com.sybit.airtable.Airtable; import com.sybit.airtable.Base; import com.sybit.airtable.Table; import com.sybit.airtable.exception.AirtableException; import org.apache.http.client.HttpResponseException; import java.lang.reflect.InvocationTargetException; import java.util.List; public class DatabaseService { private static final String AIRTABLE_API
I’m using the curl API to pull json data from a table linking to records in a secondary table. I have a working function that pulls down and parses both tables. It then uses the record ID listed in the main table and plugs in the corresponding data in the secondary table. It works fine. But it would be very helpful to perform this without coding the name of the secondary table. Is there any way to retrieve the name of the table source of the linked record without knowing it ahead of time? Or retrieve the record with just the ID and not the table name?
I have a column “Win or Loss” that is a 0 or 1. It is the result of a formula in the Table. I would like to filter a result set to a certain number of rows in that table, which is working, and then sum the “Win or Loss” column. I figure this can be done with a reduce function. In this function which I call for each player, the goal is to calculate how many wins they have: function getPlayerStats(player){ output.text(player); let myGames = query.records.filter(record=>record.getCellValueAsString("Player")==player) output.inspect(myGames); let total_games=output.text(myGames.length); let total_wins = myGames.reduce((total,record)=>total + record.getCellValue("Win or Loss")); output.text(total_games); output.text(total_wins); } The output for total_wins ends up being something like this: [object Object]011 when it really should be 3 - it is concatenating the 1s but not summing them, and missing the first one for some reason. I am new to Javascript and
When I retrieve the content of a rich text enabled long text field through the API, only “bold” formatting works. Strikethrough and Italic are retrieved with a whitespace before the markdown symbol and therefore are not parsed correctly. Example: Is retrieved like this: You can see how 50 años posteriores shows up as _ 50 años posteriores_ instead of underscore50 años posterioresunderscore without spaces between the underscores and the thing I want to make italic. Has anyone experienced this? Is there a way to fix it?
I have a formula that calculates the age of actors, as pictured below: The problem I have is that I forgot how to integrate the field AGE OF DEATH for deceased actors. Any suggestions?
I have the following code: let table = base.getTable("Volunteers") let view = table.getView("Grid view") let currentTableDat = await view.selectRecordsAsync({ fields:["Submitter Slack Email"] }); console.log(currentTableDat) No matter how I pass in the fields parameter, the output in the log block is always just the first column ( a timestamp). I’ve tried not passing in any option, passing in the field ID, etc. The query totally ignores any of the parameters. The table is full of data, and table.fields shows the other columns. Any help?
Hi! Need some clues to figure this out… We need to develop a script that updates our sendgrid contact fields through API (last_order, etc) when a record changes on airtable. Anyone know where to begin or have similar code? thank you!
Hi there, i’m looking a way to export a table in csv. that’s pretty easy The trouble is that certains field (adresses for example) contains comma. i wonder if there is wildcard or regular expression in the scripting block. i aint found it in the docs thanks !
Hello! I am new to Airtable and scripting. I have a list of speakers which is populated from a speaker intake form and I have a list of dates/times (every Thursday at Noon). In the Scheduled table I manually assign a Speaker to a date. When I do this, I want to automatically create a new record in the Creative Log table, so our designer knows to create new graphics for that episode. I also want the due date to be set 2 weeks before scheduled date. This is what I have so far and need help. Thank you! `// pick tables from your base here let tasks = base.getTable(‘Creative Log’); let projects = base.getTable(‘Speakers’); let view = table.getView(“Scheduled Speakers”); output.inspect(view); // prompt the user to pick a template for our project output.markdown(’New Episode’); let name = await input.textAsync(‘Creative Log’); // create the project - change the field name to one in your base let projectId = await projects.createRecordAsync({ ‘Episode Cards’: name, }); // collaborator let col
Hello! My team uses airtable for our task tracking. We get new clients/shows all the time and many of them start off with the same tasks. I used one of the examples to help get me started on some basics! I would like to add another line under each field that allows me to assign a member of my team to a certain task. Does anyone know how to do this and/or if this is possible? This is what I have so far… Thanks so much for your feedback on this! `// pick tables from your base here let tasks = base.getTable(‘Task’); let projects = base.getTable(‘Performances’); // prompt the user to pick a template for our project output.markdown(’# New Show’); let name = await input.textAsync(‘Task’); // create the project - change the field name to one in your base let projectId = await projects.createRecordAsync({ ‘Performance’: name, }); // create the tasks - change the field names to ones from your base. // the [{id: projectId}] links the newly created records back to our project await tasks.createRe
I am building a scripting block to create some custom imports. For each record I output a log note on the action for that record. When I run the block, I see the log on the right hand side. Whats the best way to archive that log for future purposes, and is it possible to send that log out to the sessionUser via email or notification attachment?
Hello all! I have been losing my mind for 4 hours on this ‘simple’ task I am trying to implement in my base. I want to automatically update several fields (example : set Phase to ‘Initiation’) when a new record is created. I am able to update all required fields with Zapier. My problem is I am unable to use the ‘Find record’ feature to update the last entry. It would be easy to fix if I was able to simply ‘Find record’ when ‘Field x is empty’ or ‘Find record’ when ‘Auto update for Zapier… = Created’… I don’t understand why I keep getting an error on Zapier… this field exists with only 1 entry set to ‘Created’… and this is the entry I want to update.
Hello, We are dropping support for older versions of the Blocks SDK. After May 29, 2020, blocks will need to use SDK version 0.0.40 or greater in order to run. Here are the breaking changes from older SDK versions: 0.0.31: renamed globalConfig APIs, removed models.generateGuid. 0.0.32: removed localStorage and sessionStorage wrappers. 0.0.33: settingsButton.isVisible is no longer settable. 0.0.34: fieldTypes.LOOKUP renamed to fieldTypes.MULTIPLE_LOOKUP_VALUES. 0.0.35: Toggle renamed to Switch, theme removed from Button and Switch, and Flow type definitions removed. 0.0.41: BREAKING: useWatchable will now throw an error if the second argument keys is undefined. 0.0.42: Field type and view type enums are now exported from '@airtable/blocks/models' as FieldType and ViewType (previously fieldTypes and viewTypes). The full list of changes is available here. To upgrade: Edit the version of the @airtable/blocks package in your package.json file to be at least 0.0.40. Update the inst
How do I go about executing some code in response to events like when a new record is added? Is there like an “on insert” event I can attach a function to? If not, I’d there a work around for this? Basically, my task is to perform some operations whenever a record is added to a table. Thanks.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.