Need development and API help? Ask your questions here!
Recently active
I’m trying to create a home page for my Confluence space with some headline data from a table I’ve got in AirTable. I’m ultimately trying to create Power BI type cards on the page, showing a count / total of records in a view in AirTable. I’m not even sure how to get that headline data out of AirTable, let alone import it into Confluence. I’ve asked the question on the Confluence forum as well, to see if it’s better to approach it from that direction.
I have a Lambda function which is trying to create records in an Image Assets table. One of the fields (Race Name) is a linked record to another table in my base. This table is also synced to another base. The code seems to successfully find the Race name from within this other base using the record_id but there is something preventing it being created and I can't work out what it is? Here is my codeimport axios from 'axios'; // Utility function to get random stage const getRandomStage = () => { const stages = ['DISCOVERY', 'REMIND', 'OFFER', 'FINAL OFFER']; return stages[Math.floor(Math.random() * stages.length)]; }; const createImageAssetRecords = async (baseId, tableName, airtableApiKey, raceName, recordId, imageNum) => { const platforms = ['Etsy', 'Pinterest', 'FB Image Post', 'IG Image Post', '1080x1920']; const airtableUrl = `https://api.airtable.com/v0/${baseId}/${encodeURIComponent(tableName)}`; const createRecordPromises = platforms.map(async (platform) =>
Hello, I am using AppGyver as my front end. From a multiselect field in AppGyver, User A chooses “red”, “blue”, “green”, “purple”. I want to pull all records from my Cloth table which have those 4 colours From a multiselect field in AppGyver, User B chooses “pink”. I want to pull all records from my Cloth table which have pink. I do not know in advance how many criteria the user will select. I know i can sort by multiple fields using an array → ?sort[0][field]=day&sort[0][direction]=asc&sort[1][field]=name&sort[1][direction]=desc (of course the whole query parameter needs to be encoded) But i don’t know how to do that for filters through API cause API filtering is done through filterByFormula → and if i were to use an OR function, i need to know how much filters there are in advance e.g. user will choose 1 colour, or 2 colours, or 3 colours etc Could someone kindly teach me how I can get this done in AppGyver linking to Airtable? Thanks!
I am trying to use createrecordsasync but am getting this error: “No overload matches this call” All the parameter types are correct. I’ve switched them, created variables, double checked, etc. What else can I check? No overload matches this call. The last overload gave the following error. Argument of type ‘{ Client: { id: string; }; Term: { id: string; }; Eating_Count: number; Eating_Nutrients: string; Nutrients_Eating_Ids: string; Type_Not_eating: string; Not_Eating_Count: number; Not_Eating_Nutrients: string; Not_Eating_Nutrients_IDs: string; }’ is not assignable to parameter of type ‘{ Name?: string | undefined; fld5FO4eGWlC7DMPI?: string | undefined; Note?: string | undefined; fldgbYNn7xXOXZ1Gy?: string | undefined; Term?: readonly { id: string; } | undefined; fldJxWEonOumMn0g3?: readonly { …; } | undefined; … 9 more …; fldZSv8PUr3LGCm1T?: string | undefined; }’. Object literal may only specify known properties, and ‘Eating_Count’ does not exist in type ‘{ Name?: string | undefi
Hi,I need to build a script to parse a webpage. At first run it crafts POST request to search for item, the page returns a table-like list of several matching items with their statuses. (I'm on that stage now). I need to choose item(s) with certain status, enter their links and get info I need.So far I parsed such pages using my own functions, but it feels like I re-invent the wheel. Is there any 'best practice' or free working solution for such action?. I just need an example using only script extension (I saw examples of using DOMParser() but I would like to stay inside Airtable without establishing additional servers, node.js etc)Note that I receive text, not JSON. Also, page doesn't require credentials.Example of functions I'm using now (POST options omitted): const myurl = 'https://sampleurl.com'; const [tagA,tagZ,tagX]=[`id="items">`,`</h3>`,`</span>`] //single item start/end/exclude const [DIVIDER,WASTE]=['mw-headline',`<span `] //items di
I’m trying to generate reports based around values stored in a single select field. I’ve tried to get access to all the valued stored in a single select field, however I’ve not had any luck getting access. Does anyone know if this is possible without looping through all records? On the same note is it possible to get access to the order of the values stored in a single select?
Hello all,Using scripting, is it possible to get the holiday string for a particular view? e.g. a gantt chart view. All the posts I have seen use a separate lookup table. This seems like double handling, and a source of error/confusion.If not, why not? Thanks!
Hello All, I’ve been trying to pull together a proof of concept using Splunk and a product called Airtable They have a RESTful API that allows records to be accessed, which is great for use with the REST API Modular Input. The API structure is: https://api.airtable.com/v0/[Base]/[Table] I’m 90% there, but I’m struggling with a ‘pagination’ problem. The Airtable REST API allows you to pull all of the records in a table, but limits results to a maximum of 100. If there are more results than this, then the response includes an ‘offset’ field in the JSON response. You then need to issue the request again, with this as a parameter. I know very little about JSON and even less about Python and Splunk Tool, so I don’t have the first clue about how to implement a Custom Response Handler to deal with this. So far, thanks to previous questions and answers, I’ve got this far with my Response Handler: class AirTableEventHandler: def __init__(self,**args): pass def __call__(se
Hi everyone, Can a record be updated by an external user through an interface button ? Or do you have a link to solve this problem in another way (like a form) if it's not possible. Thanks for your help, François
Hello,Is there a possibility to grant/create API token for a read-only mode and for a limited number, of selected columns only? E.g. I don't want to give access to API for viewing some specific confidential information, but only specific fields, is that possible? And how to do it then? As now it seems if you give reading rights, it gives full access.
Hello all,I have been wrestling with this scripting challenge for awhile and could use help. At a high level I am looking for a way to specify on a record in one table what fields I want to go capture on another table to write into a single field on the record in the original table. 3 tables are involved(but only 2 matter for the scripting):1)Task template2) Tasks3) ServicesTasks are created based on tagging a service(services have their own tasks defined on the task template. Those tasks are generated and have a field called "additional fields needed". This field will have the names of fields on the services table. I want the script to look at the field names in "additional fields needed", go to the services table, find the correct record based on the service name, find the fields, grab the values, write the values into the tasks table in a field called "additional information"Any help or advice would be greatly appreciated
Hello everyone! I have this script: const tableId = "tblapiXxSQL4FGs7G"; const table = base.getTable(tableId); const viewId = "viwVt3r8YFoHt5sy6"; const view = table.getView(viewId); const records = await view.selectRecordsAsync(); const filteredRecords = records.records.filter(record => { return record.getCellValue("View") === viewId; }); const updatedRecords = filteredRecords.map(record => { return { id: record.id, fields: { "fldOhTCFbOqx05nxk": "", "fldDCytU41W6YcJQu": "" } }; }); if (updatedRecords.length > 0) { await table.updateRecordsAsync(updatedRecords); console.log(`Updated ${updatedRecords.length} records.`); } else { console.log("No records to update."); } The purpose with the script is to have certain fields cleared for value when x conditions are met. It works like a charm in other tables, but in my newly created table it just won't work. I have inserted the correct IDs (table, view and fields), but the
Hi everyone, I've two tables with two type of granularity, for instance Table Name and Table Sport, and I would like to create a table with one line equal one name and one sport. I show you this juste below, for the moment I have In my first table one record = one name Name 1 - Tennis Rugby FootballName 2 - Football In my second one record = one sport Tennis - Name 1Rugby - Name 1 Football - Name 1 Name 2 I would like to create a third table NameSport where one record = one name and one sport like this : Tennis - Name 1 Rugby - Name 1 Football - Name 1 Football - Name 2 I created an automation, when a new record enter a view in the table name, it runs a script, to create in the third table the good granularity. I inspire myself from this community message but it takes the all table and I would like only the triggered record. I created an input variable with the record id, but it's still inserting me in my
Using the token creation endpoint returns a 201 status code upon successful request. I believe the standard dictates a 200 response. This is causing me issues as I am using a popular OAuth nodejs library that rejects the Airtable token response because it's 201 and not 200. I'm implementing OAuth for many different providers and if I want to support Airtable I'll need to find another more lenient library for this one specific API. Ideally your authorization server would return a consistent response 😊
I'm looking for a way to get record fields by id not by name.It's possible while using select method using returnFieldsByFieldId parameter , but don't find how with find, update and create methods.The web API supposes this is possible, but I don't find the way to do it thru javascript APIAny dea ?
I should make a GET request with body (I know, it’s strange, but this is what I have to do). Here below my script: let inputConfig = input.config(); let deliveryNote = inputConfig.deliveryNote; // array let courier = inputConfig.corriere; // array let deliveryDate = inputConfig.dataRitiro; // array let token = inputConfig.token; // string let authToken = String("Bearer " + token); var trackingHeaders = new Headers(); trackingHeaders.append("Authorization", authToken); trackingHeaders.append("Content-Type","application/json"); var trackRaw = JSON.stringify({ "deliveryNote": "2501461270", "courier": "DHL", "deliveryDate": "2022-05-05" }); var trackReqOption = { method: 'GET', headers: trackingHeaders, body: trackRaw } await fetch("https://api.retelogisticastorage.it/api/externalServices/trackDelivery", trackReqOption) .then(response => response.json()) .then(result => console.log(result)) .catch(error => console.log('error', error)); Th
As a personal project, I'm doing a no code app that uses Airtable as a database, the connection is done thanks to the Airtable API. But as we all know, Airtable is transitioning to the Personal Access token. Since API keys will be discontinued, I would like some help to how to connect to an air table database using Personal Access Token or Aouth integration to bubble ? Thanks for your time in advance.
Have a specific use to an influencer where I have dumped data from an exported CSV by quarterly revenue earned through affiliate marketing platform known as LIKEtoKNOWit. The login to access this CSV is behind a login page for each influencer/blogger to earn commission through links to products on Amazon or other ecommerce websites. Currently there is no API connection for creators through LIKEtoKNOWit and so I would like to create something where I can capture this data exported daily. No need for up to the minute calls or anything, but I am new to airtable and am hoping to build an interface for each brand to aggregate data by quarterly revenue and by brand. Is there a way to the data into airtable without LTK having an ability for creators to gather this information through an API?
Hello, Did anyone try to connect airtable to aws s3 (directly or via zapier) and notice an unusually high amount of "read object" calls coming into the s3 bucket from airtable?
Hi All I am trying to pass Airtable data into Revit with the help of the DynaWeb dynamo package.I created a grid view and integrated this with the dynamo script.I am confused why the 3rd row is in index 02nd row is in index 5Please help me to solve this issue. I appreciate any help you can provide.
Hello, I represent a manufacturer who makes custom objects. We use Airtable to manage our sales leads. We've developed a macro spreadsheet in excel to provide pricing in the way we need to. I'm considering a new workflow which allows customer to upload their documents using airtable form. Once the data is inside airtable, we could then access it inside Excel using this add-in to eliminate many keystrokes and human error. If anyone has experience using this add-in i'd like to see how your team likes using it and any other potential issues to look out for. Thanks for your time.
I have setup an automation to send emails on record creation. However, the automation fails with a message: An unknown error occurred.The automation succeeds if I change the send to email to a personal email I have.I suspect this is something to do with the Airtable not supporting one of my emails but I cannot figure out why.Does anyone know how I can resolve the issue?The email that fails is hosted by Ionos web hosting.The email that succeeds is hosted by Gmail.Thank you,Ali
There's Table T1 that has 3 rows: R1 - ID: 8b71R2 - ID: c132R3 - ID: 90faI duplicate T1 and generate a new table `T1 -Copy`, but the IDs are now different. Is there any way to know the original ID from T1 using the API?
Hello, Did anyone try to connect airtable to aws s3 (directly or via zapier) and notice an unusually high amount of "read object" calls coming into the bucket?
Hi I’m trying to add data to a table using the API, one field of which is a ‘Multiple Choice’ field, so i’m passing data as an array. However, it will only accept the POST if the table has predefined multiple choice options and you’re sending a POST with one or more those options, else it throws a ‘INVALID_MULTIPLE_CHOICE_OPTIONS’ error. And, from what I see you cannot create multiple choice options by using the API either. I assume this is expected behaviour, but… is there a way of programmatically adding new options to a multiple choice typed field, or even getting a list of acceptable values for that field, so i can check the data before calling the API? Thanks! mk
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.