Need development and API help? Ask your questions here!
Recently active
Hi all, i am trying to build a table for holidays via caledarific API. this is the part of response from json { “meta”: { “code”: 200 }, “response”: { “holidays”: [ { “name”: “New Year’s Day”, “description”: “New Year’s Day is the first day of the year, or January 1, in the Gregorian calendar.”, “country”: { “id”: “es”, “name”: “Spain” }, “date”: { “iso”: “2022-01-01”, “datetime”: { “year”: 2022, “month”: 1, “day”: 1 } }, “type”: [ “National holiday” ], “urlid”: “spain/new-year-day”, “locations”: “All”, “states”: “All” }, { “name”: “Reconquest Day”, “description”: “Reconquest Day is a provincial holiday in Spain”, “country”: { “id”: “es”, “name”: “Spain” }, “date”: { “iso”: “2022-01-02”, “datetime”: { “year”: 2022, “month”: 1, “day”: 2 } }, “type”: [ “Local holiday” ], “urlid”: “spain/reconquest-day”, “locations”: “GR”, “states”: [ { “id”: 324, “abbrev”: “GR”, “name”: “Granada”, “exception”: null, “iso”: “es-gr” } ] }, So , i am trying to fetch data in a “Vaciones table” without succ
I am developing an extension that handle “row changed” by using cursor selectedRecordIds as follow: useWatchable(cursor, [‘selectedRecordIds’]) But the event doesn’t fire in Gantt view mode. Is there any other way to work with Gantt view? Thanks
Hey all, Question for those with API experience. As linked records return the RecordID, do you typically create a Rollup Column to display and retreive the Linked Record name data, or, do you code the solution in your source to retreive the name of each record? Simple two table base layout - an active score board; And registered users; My example code below, heavily influenced by the current Airtable API code samples - when retrieving the ScoreBoard, how best to show the Linked User names? Although I’m yet to refine my find() code block, already I can see that returned names aren’t in any particular order, as opposed to the Player Name Rollup at least being the correct order. So in summary, do you tend to code solutions in the base, or solutions in the API source when working with Linked Records? I can see advantages of knowing and understanding both. Sample code below; const Airtable = require('airtable'); const base = new Airtable({apiKey: apiKey}).base(myBase); base('Score').se
Hello, I believe this is simple, but I don’t understand what syntax is needed. I’m trying to read the results of a single-select field as a string. I’m doing a running total calculation, but resetting it whenever a certain reading is found. The running total part was working, but I can’t figure out how to get the single select output as a string. When I run this, I get: typeof respGroup.records[0] returns “Object” output.text(typeof respGroup.records[0].getCellValueAsString) returns “Function” let table = base.getTable(‘Prints’); let view = table.getView(‘MTBF layout’); let respGroup = await view.selectRecordsAsync({fields: [‘NDD - Responsible Group’]}); //NDD - Responsible Group must be manually filled out! let elapsedTime = await view.selectRecordsAsync({fields: [‘NDD - Elapsed print time’]}); //NDD - Elapsed print time is a calculated field let groupRecords = respGroup.records; //trying to understand how to get the group records into a string format output.text(typeof respGroup.re
Hey there, The state management and reactivity of all of our airtable apps is based on mobx and mobx-react-lite and not on hooks. This allows use to write code that is object oriented and therefore cleaner, more robust and faster and easier to develop and maintain (at least for us). We specifically wrapped your cursor and session objects as mobx based classes and are observing changes by calling the watch methods of those objects and updating class members that are mobx observables. I saw here that you plan to deprecate the cursor and session objects. Please don’t and allow people to decide which state management paradigm and library to use and don’t force them to use react hooks. Thanks
Hi Guys, Previously I was using filtered.pop (thanks to @Alexey_Gusev) to find the last record that has no amount let filtered=(result.records.filter(item => item.getCellValue('Cumulative by Customer') > 0)); let last=filtered.pop(); However when I am adding more data, let’s say different customers, it’s not dynamically filtering those data. The amount $12,203.50 below is based on last amount of $10,253.5 above (they are different customers). It’s supposed to take the last amount of $22,776 instead Is it advisable to build custom index of the data or is there any better method to calculate cumulative sales amount by customer? Thank you.
Greetings! We use Airtable to (among many other things) create reports from surveys that we’d like to be interactive, such that if someone clicks on a bar chart, they’ll be able to explore the records associated with a certain bar. e.g. If someone clicks on the bar representing the number of 30-39 year olds who answered a question a certain way, they’d be able to click on that bar, and see their responses in another pane. So far as I can tell, there’s no way to do this in Interface Designer. Is there another way within Airtable? Or would we need to use another platform? Thanks!
Hello fellow Airtablers! (maybe there’s a better name…?) I staff designers onto projects and I want to create a “Supply Grid” where it shows when a designer is next available, for how long (# of weeks) and what they are off to next after those weeks. Something like this: Many thanks to help from @Mike_Pennisi and @Alexey_Gusev (thank you both!) I was able to create records that help indicate when a designer is available each week (labeled “Open Space”). So essentially, my Airtable Table looks kind of like this (a much simplified version): Where I Need Your Help: Using this data, I want to automatically create the “Supply Grid” (Right now i’m doing this all manually). I’m imaging the steps being something like: From the list of open space records for each designer, identify the open space record with the earliest start date and have that be the “Available Starting” date for the Supply Grid for that designer Identify the # of open space records in a row until it hits a record that’
I have been helped by so many of your community posts, thought I’d post one of my own for a problem I’ve been trying to solve. I use Airtable as a resource management tool to staff designers onto projects. However, I want to also quickly pull data on who is on “open space” (not on a project) each week. (I’m often trying to answer the question "who’s available the week of i.e. 9/5?) My Airtable base is set up with the following tables and links: Designers Table: holds all of our designers Projects Table: holds all of our projects (that designers need to be staffed on) Availability Table: created via linked records between Designers and Projects Unless there’s a simple way I’m completely missing, here’s the work around scenarios I’ve come up with: Create a record for each week that’s labeled “Open Space” and set an automation for that record to be deleted if another record (a project record for a designer) overlaps with any of the open space records. That way I can set the filter to sh
Hello, I have a few custom scripts for my base that I would like to be abstracted from other base collaborators so that they can’t see or edit the code. I would like to have these custom scripts moved into a custom extension with a simple UI. Please email me with your calendar / availability at jake@wholescalingsystems.com I’m ready to hire and will have lots of ongoing projects!
Hi all, I have a problem with a project i am carrying out. I have a table A. with a X record which is linked to a field Y in table B and field Z in table C. After I have a table D. This records are linked to a field in table A. So , records in table D , are linked indirectly to table B and C. Now i have a table E, which is an input record to control hours. When I add a record with a field linked to table D, I can add a field with a lookup function, to show the linked field in table A. My problem is that i need to fill automatically as well, fields Y and Z which are linked to field in table A. Some idea how to perform this task? Many thanks in advance
The number 1 ongoing feature request from the community seems to be the wrapping and customisation of the header row. Looks like it’s been around since September 2016 and still not actioned. Any other feature requests that beat that one?
Hello! I am trying to create an automation that updates a single select field based on the input in another table of the same base. I tried the “when a record matches condition” automation but it didn’t work as it only lets me update records from the same table. I thought that maybe it would work with a script but as I don’t know how to code I’m having a hard time. Any help is highly appreciated!
I have a base with two tables. The first has a list of events, and the second is an RSVP form for attendees to sign up to these events. The events are constantly happening and changing, and I’d like to show the events as a multiselect in the RSVP form (which linked fields don’t let you do). Can someone write a script that would pull the event names from a specific view in table 1, and then update the multiselect field options in table 2 to show those exact event names? The field options would be replaced completely each time it runs, which I expect to be daily.
Hi there I use firebase for all my projects but its hard for me to manage content and users So am working on custom extension to sync users (first) so you could easily manage them (disable, delete , rest user account) Airtable Grid view - Airtable Explore the "Grid" view on Airtable.
Hi everyone, I have some coding experience, although by knowledge of Javascript is still very limited. What I’m essentially trying to do is: Iterate through one field for a certain string Collect name (or ID I suppose) of the record that had the string in an array The point of doing this would be to be able to compile the names of all the records that had the targeted string into a list that I could then email out through a build in automation. Unfortunately Airtable makes it difficult to send multiple records on a single automation, so I was wondering if I could do it this way. Thanks.
Question for the community: is it possible to write a script that creates a new record in a table from a different base? Basically I would like to create a button in a few different tables from various bases that, when triggered, runs a script that creates a new record in a table (with some specific fields copied over) in a separate base. Is something like this possible in Airtable? Thanks! -Josh
Will file URL’s captured by API be affected by the planned November changes to the Attachment field? Currently I have a Bubble.io app that gets a file’s URL by API. I don’t store a static URL to the files in the attachment field but I do use Bubble’s Get external data from an API feature to get the record’s Attachment URL. Since this API call is made every time a user loads this specific page in the app, my understanding is that a new URL is captured on every load of the page. This would mean that a new URL good for 2 hours will be captured on every API call. Is this correct? I am trying to figure out how much this planned change will affect my app but I can’t find any information specific to the use of the Attachment field by API.
Hello, @Joris_Grouillet made me this script to search for {tag} and replace by the tag column. Am in urgent need of some changes but don’t want to be too much of a burden so I ask here. Could someone please help me modify the script so that: It replaces every occurence of a match in a cell (e.g. if there is {name} twice in a cell, it replaces both and not just the first it finds) It searches for tags in […] rather than {…} it searches and replace in place rather than in an additional field. (i.e. it uses the same field for template and destination) If possible, it is dynamic and uses regex to find any tag in […] and replace it with the matching column. I urgently need the first enhancement, the rest are more for the convenience of my workflow. Here is the script: (async ({ record_id }) => { async function getClientById(recordId, clientsTable){ const queryResult = await clientsTable.selectRecordsAsync({ fields: ['nom', 'code', 'ville', 'templat
Hey, This used to work and stopped. Tried it with a new app and button too. Whenever I click an open app button when the record is expanded, it seems that the window message with the record id is not delivered to the app. I get the following error in the console: Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://block--t-qtk-d2-z-an-c-dz-kv--b3r294g.alt.airtableblocks.com') does not match the recipient window's origin ('https://airtable.com'). The app DOES open in the extensions dashboard when clicking an app open button from the grid view.
Hi everyone, I want to use airtable as a CRM and activity tracking tool. My logic is: We are working on a project - project table Each project contains 1-n project items - project item table, each record linked to a project Activities are tracked on a project item level (date, effort, related project item) - activity tracking table, each record linked to a project item Now i want to automatically create invoices for my projects for certain invoice intervalls. For this i need to find all related activities (easy, also with an automation) and group them for each project item, in order to create the respective invoice items (tracked activities per project item within the invoice intervall). For this I have created a seperate “invoice item table” in which i currently also have a seperate automation, that gathers all activities for the respective items within the intervall. my core question is: can i combine and automate the necessary steps in a script? Find all activity tracking records (
Non-developer type here! My team is using Airtable as a task management tool Each week we run a report, which includes a long text field (“Details Field”) with details on the work performed on a specific task during that week. To retain a record of the content that’s appeared in the Details Field, I wonder if it would be possible to write a script that would copy and clear the values of the Details Field and cumulatively add them to a field (“History Field”). The History Field would then eventually contain a list of all the updates that’s been put into the Details Field over time (and ideally with date stamps to next to the text that was copied at a given time). Thanks so much for your feedback on this! Jens
Hi everyone! I would like to have a Login Vault on Airtable accessible to a client, but for more appearance of security we’d like to have the Password field entries all show up as *********** and were wondering if there is a script or another way to allow a “click to reveal password” action or “click to copy” option if not the first?
Hi all, Hoping someone could help me correct a script. I have a base with multiple tables in it. There is a table called “Projects” and another table called “Potential Photoshoots”. I’m trying to use a script to move a single record from the “Potential Photoshoots” table to the “Projects” table. It should then delete the record from the “Potential Photoshoots” table. This all should happen automatically when a button is clicked. NOTE: The button field name and the button label are both titled “Move to Projects” and it exists on the “Potential Photoshoots” table. I’m new to Airtable and not very proficient with scripts, but I’ve been doing research and playing around to try and learn. I was able to work out the following script, but it doesn’t move the specific record whose button was clicked. From what I understand, that is because I need to use an input.recordAsync call. I think I understand where that should go, but it seems to cause other errors in the script when I add it. I also r
Hello everyone, I’m building an app that picks data from Airtable. All the listed APIs expect the table name as an input. I’m looking for an API to get a list of all the tables in a base. Is there any API, or any workaround for this? Thanks
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.