Need development and API help? Ask your questions here!
Recently active
Hi, I am definitely not a coder, so hoping I can find some help here. My goal is to search for specific text somewhere within a field, and if it’s found, then replace the entire field with a specific string. Specifically, if it finds “UPS” or “FedEx” anywhere within the field, replace the entire field with “Shipping & Delivery”. I started with the Find and Replace script that I installed from the Marketplace. This script replaces the text you are searching for with alternative text within the string, So, if my input field has “UPS Store #12345”, it will produce “Shipping & Delivery Store 12345”, rather than setting the field to “Shipping & Delivery”. I tried modifying this line: let newValue = originalValue.replace(findText, replaceText); to somehow replace the entire field but I just can’t get it to work. Any help would be appreciated!
Not sure if I’m missing something obvious, but was wondering why is Airscript.dev listed with the anchor of “airscript tutorials” in the scripting app (Documentation tab, item #4 of “Other Resources”). The site itself says it is neither endorsed nor owned by Airtable. A forum search yields two topics from the apparent owner of the domain, both of which are self-promotions and don’t explain the link. I understand the half a dozen or so marketplace scripts come from third parties but is the scripting app itself not owned by Airtable? Just to be clear, the site is a pretty decent resource but I’m amazed a company with a ten-figure valuation like Airtable would promote anyone for free. And that particular link has some pretty insane promotional value in terms of domain authority juice from Google.
:wave: Hey all, Stephen from the scripting block team here. Today we’re releasing a bunch of updates to the scripting block, based on all of your helpful feedback from the beta. To get access to the latest changes, you’ll need to reload your browser or Airtable desktop app. Note that some of these are breaking changes and you will need to update your existing scripts accordingly — sorry for the inconvenience; these should be the last breaking changes before we launch the block more broadly. Breaking: input.text() and input.buttons() have been renamed to input.textAsync() and input.buttonsAsync() . This means you need to prefix them with the await keyword. Breaking: output.text() is now plain-text only, but accepts values other than just strings. Use output.markdown() if you want to output Markdown. Breaking: all methods will validate their inputs — if you pass input to Airtable functions that don’t match the documented values, your script will now error. Custom script names have
I am looking to script automation that sends a task list to people when a new employee is hired. I am not finding anything on here that is similar. Any suggestions? More Details When an agent is added to the directory, they automatically filter over to my orientation list, once I put them in the “first engagement” stage I want an email sent to 4/5 different people with their specific task. That table is already built out, I will be adding a task list script to create a checklist, but I really want an email sent.
I have a script I want to run to speed up data entry but I can’t figure out how to run it from a mobile device. The button support is too limited on the mobile app. Has anyone been able to run scripts on a mobile device?
Hello, I’m trying to init a custom block for my database but i get this following error whenever I launch the command line block init from any github repo. Initializing block using https://github.com/xavdid/airtable-grouped-chart template ❌ Something failed! Cleaning up... ❌ Error: a.isDirectory is not a function Do you have any idea how i can fix it please ? Thanks in advance for your help BR
Hi everyone, I’m using the Airtable API to get some data and if I send in the same query parameter the options “offset” and “fields”, the “fields” will be ignored. Example: GET https://api.airtable.com/v0/app9T56uFsgbBnwd9/Table%201?fields[]=Name → result ok, only field “name” is in the response GET https://api.airtable.com/v0/app9T56uFsgbBnwd9/Table%201?offset=itrRTMLhF0a3iOmRS%2FrecWISmZwmjg0AeYR → result ok GET https://api.airtable.com/v0/app9T56uFsgbBnwd9/Table%201?offset=itr4KjTfwwdlSSBm4%2FrecWISmZwmjg0AeYR&fields[]=Name → failed! The filter “fields” was ignored Does someone know the reason for this behavior?
Title says the root of the problem. I’m thinking this is because CORS, but I’ve had no luck with fetch or the newly introduced remoteFetchAsync. Finding the same thing with two different APIs: Creating a customer in Stripe (this one works in automation) Creating clients in Toggl The more frustrating issue I’m running into is that there’s no error message or anything I can find in the stack using debugger; - the script exists and there’s simply no output. Could this be because Airtable scripts don’t support “redirect: follow”? If so, is the best workaround to dump all the logic into a cloud function like Google Apps Scripts, Netlify Functions, Code by Zapier, etc?
I’ve written the following script code to update the linked field for a given record in a list, but the script view is giving me an error. Script: jonathan_conrad: I’ve written the following script code to update the linked field for a given record in a list, but the script view is giving me an error. Script: let table = base.getTable(“Order Line Items”); let inputConfig = input.config(); for (let record of inputConfig.Records) { await table.updateRecordAsync(record, { “Custom Location”: inputConfig.customLocationID[0] }); } Error: The expected type comes from property ‘Custom Location’ which is declared here on type ‘{ “Add-on Bronze Medals”?: string; fld13Q43cUf7VfuBG?: string; Location?: string; fld2SoBeNE8RPE6bX?: string; “95 Paracord”?: string; fld2cl7RGT9zRifPW?: string; “Custom Notes”?: any; fld3Pev0cukPjrrRM?: any; … 79 more …; fldzp8aQGfuWXm1aT?: { …; }; }’ Type ‘string’ is not assignable to type ‘{ id: string; }’.(2322)
Hi there. We are looking to import order data into Airtable with something similar to the following CSV functionality except through the API: Airtable Support CSV import app With the CSV import app, you can add new records to an existing table in your base - or merge data with existing records - directly from a CSV file. The CSV import app has a 25,000 row limit. Airta... We would like to trigger automations only when there are a) new rows or if b) certain fields for an existing row are updated (eg. order cancelled field: null → ‘cancelled’). Is there anyway to accomplish something like this through the api? Any other suggestions are greatly welcomed :). Thanks! IR
Hi I am creating an extended project planning tool. So i create an graph for the project in which the workload per week in presented. For this I use data from a couple of tables (team, standaard uren (standard hours), Init en activiteiten (activities)) In order to create the graphical load per week I need to create subfases per main fase (hoofdfase) What i am trying to do is retrieve the fase + number of weeks in order to write these in the table activiteiten and also teammember from teamleden. I managed to get to work through test2 … But now stuck. Anybody willing to help? or maybe if you need more info, please let me know. //let let fases = [{ fase: "Voorbereiding", startDate: startdatumV, endDate: endDateV, weeken: duurV, id: records[0] }, { fase: "Campagne", startDate: startDateC, endDate: endDateC, weeken: duurC, id: records[1] }, { fase: "Nazorg", startDate: startDateN, endDate: endDateN, weeken: duurN, id: records[2] }]; // await fases.forEach(async (f) => {
Hey everyone, im kinda new in google sheets and google apps script. First i got a code where a sheet is hidden, if the checkbox in a specific cell is checked. function onEdit(a) { var range = a.range; if (range.getA1Notation() == "B13") { var Agenda = a.source.getSheetByName("Agenda"); if (range.isChecked()) { Agenda.showSheet(); } else { Agenda.hideSheet(); } } } Now i got the problem that i have multiple sheets. But this code shall only work in one of the sheets. So i tried two different things: if (activeSheet.getName() !== "Allgemeine Informationen") return; and if (activeSheet.getName() == "Allgemeine Informationen") { ... } Both doesn’t work properly. I also tried to get the value of the function by writing the value of “activeSheet.getName()” in a cell but the cell kept empty. So Long Text Short Question: How can i put an if function that makes the code only executing when the active sheet has the name “Allgemeine Informationen”? Friendly Rega
Hi All, Looking for some guidance as I’m well outside my basic scripting depth. Use case: I have a table of applicants each linked to a group. The groups are listed out in another table and then all the group’s applicants linked in the “group members” field. Each applicant has a field that I would like to compile into a list and email or display with markdown formatting. The goal is that I have a button on the Groups table that allows a user to “generate list” which outputs or emails them the formatted list of the 5-6 group members that can then be copied into an email. Where I’m stuck is I am able to get as far as building an array of the ids for the linked applicants, but don’t know how to then use that array to retrieve the individual field values for each applicant from the applicants table. Script so far is below. Also thanks to those whose scripts I already borrowed/mutilated to get this far. This script is born because the field I’m trying to pull out is a custom hyperlink and w
Hello everyone! I don’t know if I’m missing something, but I would like to know how to get the information of the record that spawned a “When record created/updated” so far for the created I have to retrieve the information by quering the table and getting the latest input(Sorting the table). However it seems to me like inside if the script of the trigger there should be somewhere with out having to do this. Im starting to use this tool so any help would be appreciated! Thanks in advance and sorry if i made a duplicate or if i miss this in the docs!
Hi, I’ve a simple code to move checked record from table to other table: let foraccept = base.getTable(“For Accept”); let plugins = base.getTable(“Plugins”); let result = await foraccept.selectRecordsAsync(); for (let record of result.records) { if (record.getCellValue(“Accepted”)) { await plugins.createRecordsAsync([ { fields: { ‘Name’: record.getCellValue(“Name”), ‘Website’: record.getCellValue(“Website”), ‘Type’: record.getCellValue(“Type”), }, } ]); await foraccept.deleteRecordAsync(record.id); } } My problem is: How i get values from single or multiple select? (Field “Type”) → ‘Type’: record.getCellValue(“Type”). It is possible?
Hi, sorry for the long post. I’m new to Airtable, but think I’m getting the hang of Airtable’s assumptions: hide the database keys and use the first column of the table as a psuedo-primary key for the UI. We are contemplating using airtable as a readonly front-end to our existing database, which is not very UX friendly and is increasingly perceived as a barrier. I’m using a script that pulls my data into an airtable base with two tables. I can setup a Link field that creates the links as the records are pulled in. Now, lets say I’m pulling in 2 tables from an sql database, Contacts and Homework. If I’m creating records in airtable by hand, its ok if I have two different contacts with the same name, because airtable is using its internal UUID, but if I pull contacts with the same name via script, the linking breaks. If I import the primary and foreign keys into Airtable then I can use those to link the tables, but it seems like I lose some Airtabley goodness. For example, if I make th
Hopefully someone can help. I’m using the airtable API to build a custom app. I want to have a record picker which displays a selection of records, upon selecting the record the resulting report (data based on selection) is rendered. I’ve been playing around and I’m fairly certain “SelectSynced” is going to be my friend. However I’m struggling with a lack of worked code examples (they mostly show table or view selections). Namely; I would like to a) render a < select> populated with data from a record query b) once user has made a selection use the select value to render data from the chosen record Link to api ref for react component: Airtable Blocks SDK //WIP - hard -coded values for testing import { useRecords, useBase, useGlobalConfig, initializeBlock, Select, SelectSynced, } from '@airtable/blocks/ui'; import React, {useState} from 'react'; const GlobalConfigKeys = { selectedOption: "Joseph Lee" }; //coachnames const options = [ { value: "Pear", label: "Pear" }, {
We have the limit of 50 000 automation runs in our plan. Does this limit includes API calls?
So I’m looking to create a simple chart of crypto projects I’m interested in tracking. I’m using a variation of @Nikolay_Tsenkov elegant stock price updater he posted on the Example Script Showcase. I can get it to work with a few securities sites, it pulls stocks in beautifully but when using CoinGecko’s API I keep getting an “Undefined” error. Upon inspection I can see that I’m getting the payload back correctly but no matter how I try to load it, it doesn’t seem to want to go into the table. Is it because the payload is nested within the id? I’m totally stumped on this at this point and could really use some fresh eyes to get me sorted. Here’s an example of the URL string. the `${coin}’ is obvously for pulling the id in from Airtable, in this example I’m using “cardano”: GET: https://api.coingecko.com/api/v3/simple/price?ids=${coin}&vs_currencies=usd RETURNS: { "cardano": { "usd": 1.15 } } All I want is the “1.15” to come into my price field, but NOOOO… A
Not sure what to request about this one, but likely the community has ideas. Recent outages of the Airtable API caused errors in live zapier.com “zaps”. Airtable Status - Incident 3/10/21 Airtable Status - Incident Here in Australia these outages happened in in the midde of the night, but generated zapier error alerts as the zaps are contantly pinging Airtable. This caused a lot of concern for our clients, and then time for us (featurepower.com) to investigate. Hence this post. I couldn’t find any other reference here to this happening. Though I presume many others were affected. So, for info, the errors reported from zapier were: the app returned “Service Unavailable” the app returned “503” Trigger partner failure: the app returned “503” Trigger partner failure: the app returned “502” Trigger partner failure: (9001, ‘Max connect timeout reached while reaching hostgroup 20 after 10000ms’) And also FWIW, zapier turned off some (but not all) impacted zaps because of repeated errors.
Hello! I help run https://vacfind.org, a COVID vaccine information site that stores links to helpful websites in Airtable. Given the recent Airtable downtime, I was wondering if it would be possible to have a simple /ping endpoint (or similar) added to the API so that I can configure our caching server to use this endpoint to check whether Airtable is up and if not, configure itself to serve requests from the cache. Does something like this already exist in the Airtable API that I’m not already seeing? ideally id like to not have to configure auth to make a request just to figure out if the Airtable API is up (200 OK) or not (503 Service Unavailable). Thanks, Adrian
I am looking for any documentation on integrating ClickFunnels with Airtable. I have a very simple 2 column Table - Email and a String of Data I can make Get, Post, Purge to work in Postman, but I was told all I need to do is grab the JS out of the API docs and paste it into a CF HTML element. This throws a ‘require not defined error’ My research has lead me to believe I need to use NodeJS or NPM or both, but to be honest I have never worked with either… Is there any documentation on how to get this running?
Hi there, I work for a prison education nonprofit that works with people facing federal crimes. We want to be able to send legal updates and resources to graduates of our classes, and use Airtable to track those graduates. We want to keep our records updated as to when graduates of our classes are transferred to a new federal prison, had their release date changed, or been released. Anyone incarcerated in federal prison is given a register number. You can use that number to get release date and location data from this API. We’ve been using a combination of Python scripts to do this but it’s been clunky and buggy because I’m not that great at Python (frankly I’m not that great at coding, period, but I’m learning). I think we can do this more efficiently with a script in Airtable. Here’s the one catch: every once in a while, someone puts in the wrong register number for our graduates. Is there a way to show values returned from an API side by side with the current values in the Airtable
Hello, We requested access to the Metadata API last month, but haven’t heard back yet. Is Airtable still giving access to the metadata API? We run formcrafts.com and would like to build an integration with Airtable :slightly_smiling_face:
Hi All, we use Airtable to manage our social media and one cell has a list of hashtags (one on each line) and we’d like to figure out a formula to shuffle the lines so the hashtags don’t post in the same order every time. Any ideas?
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.