Need development and API help? Ask your questions here!
Recently active
I am trying to create a table in an existing base using below endpoint but getting a not found error - https://api.airtable.com/v0/meta/bases/{base_id}/tables'type': 'NOT_FOUND'===============================================table_name = "Members"description = "Members"fields = [ { "name": "UserName", "type": "singleLineText" }, { "name": "Name", "type": "singleLineText" }] ================================data = { "name": table_name, "description": description, "fields": fields } headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" &nbs
Hi Community,May I ask is it possible to make airtable connect to Navision via API?Also is it possible for Airtable thru API to tabulate forms in Navision simulataneously?thank you!
I can add a button on my interface page that navigates (go to interface page) to a form. However, I'd like to set a field value (within that form) based upon current focus.The application is an ideas board so I'm focused on Idea A (main page) and I navigate to a voting table (form) but I want to pass idea A to that form.So I'm thinking I need to associate the button with a script but cant find example code for this application eg interface page navigation. Can anyone point me to an example?
Hi support team!I am building custom extension using airtable blocks sdk.Workflow here.1. When I click "Get companies" button in extension section, the extension will call 3rd party API.2. The API returns the result as a JSON format. Json contains record Ids of a table named "All companies".3. After this, I want to refresh airtable view of a table that is selected record ids returned from API.Is it possible?Please help me, thanks.
Hi allWe have been using Tableau to visualise Airtable data for a while now. As of July 3rd we are experiencing failures in Tableau, although not consistently, with error message "java.lang.RuntimeException: unknown is not supported by this version of Tableau.". Does anyone know the reason or even solution for this?Many thanks!Ester, part of Red Cross Flanders data management team
Entering and editing data in one logical form that is stored in multiple joined tables seems like such a common use case (e.g., contacts with addresses and phone numbers; invoices with company and line items; etc.). Yet, this seems difficult (impractical at best) natively in AirTable. How are people solving this? Is the only solution really to pay $$$ for additional tools? Or write complex scripts?Any thoughts/advice much appreciated!
I create some summary reports for a client. Data is read from a view I iterate through the records to generate the HTML/Markdown for the email.However, to get the formatting correct, I have to use this odd amalgamation of markdown and HTML. Using one or the other alone results in unpredictable results. When using markdown to create the 2nd or 3rd level header worked on the first record. Each subsequent record simply had the "## " in the email.Also, I can't use markdown or HTML to get a horizontal rule... annoying. Any answers for this. Not critical but nice to have. for (let i=0;i<recordsLockReady.records.length;i++) { let fileString = recordsLockReady.records[i].getCellValueAsString("File").replace(/"/g,''); let coeDateString = recordsLockReady.records[i].getCellValueAsString("COE (Estimate)"); let daysToCOE = "-n/a-"; if(coeDateString != "") { let coeDate = new Date(coeDateString); daysToCOE = Math.round((coeDate.getTime() - todayDat
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.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.