Need development and API help? Ask your questions here!
Recently active
I’m trying to setup a simple API but I’m not exactly sure what APIs to use. I want to check for a unique value in a field (userID) and return the RecordID. If recordID exists, overwrite record with new data If recordID doesn’t exist, create new record with data At the moment I’m stuck on 1. I’ve tried List Records, using filterbyFormula & the API Encoder tool, Retrieve a record, I just can’t get the single results returns like I’m after. Can someone please provide me with an example API request to for number 1? If you could help with the others that would also be really great but at the moment 1 is where I’m stuck. I know it’s a really simple API setup but I’m new to this and have been trying for hours. I have also posted to the Airtable forum but my posts aren’t getting approved for some reason. Thanks so much.
Hello! I have a custom extension. I haven't made any changes to the code recently but today calling expandRecord() starting throwing this error and crashing my extension: TypeError: Cannot read properties of undefined (reading 'parentBase')I've confirmed that it's being passed a valid-seeming record object.Here's what my code looks like, it's defined in the top level on my component. 🤔 🤔const expand = (record) => { console.log(record) expandRecord(record) }Let me know if you need any other information. Thanks for your help!
I’m trying to create a custom block, but when I run: block run I get: Error: listen EACCES: permission denied 0.0.0.0:9001 I’ve checked and there’s a system task already listening to this port, so I’m not able to just kill it. Is there a way to change the listening port so that I can make this work?
I am updating the "File" field of a record. The cell is a long text field with rich formatting enabled.When I PATCH with this body:{ "fields": { "File": "~~[2022-23 letterhead doc34.docx](https://contoso.sharepoint.com/sites/ServicePlans/Shared Documents/General/Worksheets/2022-23 letterhead doc34.docx?d=w16af26ee9f084a6ba700aaa4bb4467a4)~~" } }Airtable returns the below:"fields": { "File": "~~\\[2022-23 letterhead doc34.docx]\\(https://contoso.sharepoint.com/sites/ServicePlans/Shared Documents/General/Worksheets/2022-23 letterhead doc34.docx?d=w16af26ee9f084a6ba700aaa4bb4467a4)~~\n", ... }Notice the \\ before the opening bracket of the hyperlink markdown. This breaks the markdown and results in a visually unappealing field: Expected behavior is a strikethrough hyperlink like so:Link Any help is much appreciated!
I’m using Airtable as a database as that’s where my clients data was already. Integrating in a react app using node/express/webpack deployed to heroku. When I bring in data from a long text block from Airtable, some characters are automatically escaped with backslashes - these are not visible in the UI of the airtable database. When I console log within the server it appears as below - Name: ‘Power Pose’, Notes: ‘INSPIRED BY: \n’ + Want to learn more about body language and how much our body impacts our mind? Watch Amy Cuddy's TED Talk, "Your Body Language May Shape Who You Are." https://www.ted.com/talks/amy\\_cuddy\\_your\\_body\\_language\\_may\\_shape\\_who\\_you\\_are\n, ‘Area of Improvement’: [ ‘Self-Awareness’, ‘Presentation Skills’ ], ‘Number of People’: [ ‘Solo’ ], Description: ‘Find a quiet space where you can be alone. Set and start a timer for 2 minutes. Spread your arms wide, making a “V” with your arms. “V” for the Victory pose (arms overhead, chin up). Breathe conscious
Hi, I would like to know if it is possible to make a Mail merge using data that comes from AIRTABLE API and Google docs or Microsoft word template?
is it possible to create an image downloading application using airtable as backend and webflow or wordpress as front end, i just want to check the users mail id (as input) if that is true then they could able to open a record and may download the image if not it should indicate that as invalid emailif email is right - open a record in airtableif email is wrong - error messageif it is possible kindly help me out , i'm a newbie here. thanks for your time
This seems like a very basic question but search hasn't yielded me an answer.How do I set a field with spaces in the name using a fetch() request? const res = await fetch('https://api.airtable.com/v0/xyz/Estimates', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.AIRTABLE_TOKEN}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ "records": [ { "fields": { Client: [client.id], JSON: escapedJson, Total: total, Screens: screens, Outside Only: flags.outsideOnly } }, ] }) });
I work for a nonprofit that has begun to use Airtable extensively. We house almost all our data in it and we use Make to integrate it with almost everything we use. However, we have one major system that is not currently integrated and that requires a meaningful amount of double entry. We are going to need to build a custom API integration. We have spoken with the technology team at this company and they are happy to work with us to do so. They recommended we get someone who knows Airtable well to build the integration and said they will provide the guidance needed for their side.I have built all our Airtable systems and integrations using no/low-code, but I am most definitely not a developer! I think this will be a fairly straightforward project for someone who is. If you are interested in this project, let me know and I'll send you my email and details.
Using node Airtable calls, when running a the fetch calls, randomly calls will return an error with FetchError: request to https://api.airtable.com/v0/**************/Popular%20Searches%20Filter/recG77zPA5fNrb05z? failed, reason: getaddrinfo ENOTFOUND api.airtable.com Doing basic call base('Card Data').select({ view: "Selected View", pageSize: 3, }).eachPage(function page(records, fetchNextPage) { // code here fetchNextPage(); }, function done(err) { if (err) { console.error(err); return; } });
HelloThe need is quite simple : portfolio management -> based on the value of a field, I want to assign a record to a collaborator / if project is in a list of regions, then it is assigned to toto.Following lot of examples, and assembling pieces of codes (i'm not dev), i came with this : // set the table const table = base.getTable("Saisons") // get the record from the trigger const config = input.config() const trigger = config.triggerID console.log('trigger',trigger) const allrecords = await table.selectRecordsAsync() const record = await allrecords.getRecord(trigger) console.log('record',record) // get the formula value const region = record.getCellValue("Region (from Dpt-Reg) (from Bénéficiaire)") console.log(region) if (['Normandie','Bretagne','Hauts-de-France','Pays de la Loire','Centre-Val de Loire'].includes(region)) { let update = await table.updateRecordAsync(record, { 'Suivi': 'toto1@ds.org' }) else if (['Ile-de-France','Co
HelloHere is a case we're stucked with :For a given company, I need to list projects that are located in the regions covered by the company.For example: company A covers regions 1, 2, 3 - company B regions 2,4project Alpha is located in region 1project Bravo is located in region 2project Charlie is located in region 4Companies are in a table, Project in another one, list of Regions is a linked field to another table for bothIn Compagnies table, I've a field where I list covered Region (linked value) and a field with Projects (linked values) - I want to run an automate that fills in the Projects value(s) based on a Region value(s).At the end example should be :Company A - cover regions 1, 2, 3 - project Alpha, BravoCompany B - cover regions 2, 4 - project Alpha, CharlieAutomation will :for a given company, find the list of region coveredrun a repeating group of tasks with each value of the list of region coveredfind the project(s) already linked to the company (first round = none)find t
Hello,I am trying to debug why a certain script I wrote for automations failed because it takes more than the allowed 30 seconds. It seems that Airtable JavaScript environment doesn't support parallel execution of asynchronous tasks. Is that correct ? What can I don if I want to perform this kind of code: await Promise.all([ updateRemoteDB(), updateRemoteDB() ])Thanks,Yaniv
Airtable states that the API request limit per second per base is 5 . So is that for a single IP or all IP's combined ? if somebody can explain in detail the api rate limit as of 2023 , it would be highly appreciated...
I’m attempting to integrate Airtable OAuth into an application of mine but the Airtable endpoints to fetch access tokens keep giving an “invalid_grant” error. I’ve already looked at this post and haven’t been able to solve my problem with it: https://community.airtable.com/t5/development-apis/oauth2-problem-with-token-request/m-p/142198#M11746 Step one: The user clicks on a link and gets redirected to Airtable OAuth. Here’s how I generate the link:```const state = crypto.randomBytes(100).toString('base64url'); // prevents others from impersonating youconst codeVerifier = crypto.randomBytes(96).toString('base64url'); // 128 charactersconst codeChallengeMethod = 'S256';const codeChallenge = crypto .createHash('sha256') .update(codeVerifier) // hash the code verifier with the sha256 algorithm .digest('base64') // base64 encode, needs to be transformed to base64url .replace(/=/g, '') // remove = .replace(/\+/g, '-') // replace + with - .replace(
Hello Airtable builders,We have been heads down working on a tool that we think you will love building with.Today we are launching SQL as a better Airtable API.Previously, we launched our first sync between Airtable and your Postgres database right in this community. We’ve been floored by all the tools, applications, dashboards, and businesses the community has built on this sync.After working with thousands of Airtable teams, we heard a common suggestion: it would be amazing to write to Airtable through the database. Instantaneously creating, updating, and deleting records with nothing but SQL.So we built it. Read and write to Airtable using all the power of SQL. It’s pretty cool. You just have to see it for yourself:Let us know your thoughts 👇 It’s free to get started, and we are excited to see what you can build with Sequin.Best,Eric and the Sequin Team
Hi We have received a notification in our Airtable account that "API keys will be deprecated by the end of January 2024". We have integrated our Airtable and Salesforce account using Zapier tool. Does this Deprecation notification affects the current integration happening via Zapier?. I saw the below comment in Airtable help article that we don't need to do anything, and Airtable will take care of the third party tools(Zapier).Note: We are working with third-party integrations to migrate to using OAuth for integrations. No action is required on your part until they complete the migration, after which you can stop using your API key and use OAuth to connect instead. Please assist me. "
Hi Team,I have 1 table for base.I will pick a 2 record to be swap.I want the FirstName,MiddleName,LastName records will only be swap. There other records belong the FN,MN,LM will still remain.My Script:let table = base.getTable("Work Station");let result = await table.selectRecordsAsync({sorts: [{field: "Station Number"}]});let record = await input.recordAsync('Pick a record', result);if (record) { output.text(`You picked ${record.getCellValueAsString("Employee Name")}`);}let record2 = await input.recordAsync('Pick another record', result);if (record2) { output.text(`You picked ${record2.getCellValueAsString("Employee Name")}`);} Output should be. Do you confirmed to swap First Name Middle Name LastName and First Name Middle Name Last Name?If yes, SWAP if No cancel. Please assist me to create a script or button. It much better to linked the clicked button and choose 2nd record to be swap. Thank you.
I'm a new user (still on the trial period before going to Pro). I'm trying to import records using the .csv import extension. However, I keep getting the message that I can't import the records because the "table is locked".I've searched the help, looked around here, and opened a trouble ticket 4 days ago to which I have yet to receive a reply about this.In the help, I've found how to unlock a view, but not a table. Can someone please refer me to the solution here? I've looked under every link with no success.Thank you.
I would like to build a mobile app that tracks user's habits and stores the data in AirTable account of the user.I want to use react-native framework because I want the app to be able to store the data in different services (eg. google sheets). At the moment it isn't clear to me if the AirTable API policies will allow me to insert records into user's tables? My initial tests came accross Cross-Origin Resource Sharing issues. Can somebody enlighten me if what I am after is in principle possible?Thank you.
I have several hundred Jotforms integrated into Airtable. Based on AirTable's announcement about eliminating the API key and changing to two other methods, I contacted JotForms and was informed that they ONLY support the API key.As of August first, I won't be able to create new Jotform integrations and as of Next February, all of my existing ones will stop functioning.Does anyone have a workaround? it can't be a manual solution like copying and pasting because I use it to create real-time leaderboards from the results of the Jotform answers so the results have to get into AirTable instantly.Thansk for any help!
Hi! Maybe someone over here can point me in the right direction. I am trying to build a custom extension, but the moment I add the extension airtable.com becomes “not secured” causing CORS issues with my extension. At the beginning I thought it might be my code, but I tried it with the “Hello World” extension and the same issue, the moment I add the localhost connection the site switched from secure to not secured Any ideas what I might be doing wrong or what else I could test? This is happening with Chrome, haven’t tested yet with other browsers. Thanks in advance
Hello, AirTable forum!I am trying to figure out how to update an AirTable, using the Scripting extension and drawing from an external API (LegiScan). The issue I am running into is that first, I am incredibly new to JavaScript, and second, single- and multi-select options are causing me some trouble. I have reviewed a number of posts in this forum about APIs, as well as the "Cell values and field options" documentation (https://airtable.com/developers/scripting/api/cell_values) but I cannot figure a solution in this case--this is likely my newness to and lack of skills with JavaScript! (I previously mainly coded in R, which is...not the same.)My code can pull the data (and reformat a date), but I cannot update any field that is single- or multi-select, and I am also struggling to declare multiple fields to update (this is, I think, just an issue tied in with the single- and multi-select).As an example of my annotated code (my API token has been removed for privacy) that shows how I am
I received the following prompt from Airtable's IDE, but I don't understand what it is asking me to do?Could someone please give an example as to how I would pass options.fields to selectRecordsAsync()? TIA!"Calling selectRecordsAsync() method without passing options.fields is discouraged. Passing options.fields allows you to request just the fields you need."
Hello Airtable Team & community. I want to check something; currently, I’m using Airtable with some automation tools and I have some concerns about the security of these platforms.In my Airtable base, there’s one table that I’m particularly concerned about being breached. My question is, if I restrict access with the following settings: .Will the API if it breached did they still can access to this tables ? Thanks in advance.
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.