Need development and API help? Ask your questions here!
Recently active
Hello, So, I need to convert attachment file URL to base64 string, as btoa() function does not work in automation script, I am running a scripting app that converts URL to Base64 string and the output of the scripting app will be entered into a new column I created as “base64 string” and using this value in the automation script. My question is how do I run scripting app every time a record is created? Or even better is there any way to convert attachment URL to base64 in the automation script?
Hi I am a bit stuck with this one, and not well versed in scripting / coding. Though I think it should be fairly simple to do? I have two tables : A - A range of dates spanning a month or so. Dates are always consecutive, so 12th May, 13th May, 14th May etc B - A list of people with a field for start date, and a field for end date (this is manipulated using a Timeline view and works well), I’m trying to write a script that updates a linked record from Table B to Table A for each start date, end date and every date in between. This is used to work out when someone needs a hotel room booking. For example Table A - 1st May to 30th May - 30 records Table B Joe Bloggs - Start 10th May, End 14th May Bert Reynolds - Start 14th May, end 20th May I’d have a field in Table A called “Accommodation” which links to Joe Bloggs in Table B on the records for 10th, 11th, 12th and 13th May Also in Table A, the accommodation field would have a link to Bert in Table B for records from 14th May to 20th
I Need Help! I want to know if it’s possilble to send mass emails through sendgrid and get all the performance or reactions to those emails in Airtable. That is i want to be able to track all performance on airtable Please is this possible? And if Yes, Please tell me how to set it up
I Need Help! I want to know if it’s possilbe to send mass emails through sendgrid and get all the performance or reactions to those emails in Airtable. That is i want to be able to track all performance on airtable Please is this possible? And if Yes, Please tell me how to set it up
What’s the recommended way to get the selected cell. I’m using cursor, loadable and can get the cell I want but it feels a little hacky and it seems that there should be a simple solution to it.
Could anyone advise on how to do this? I have a “Quote” record which is composed of its linked “Line Item” records. In order to create a new version of a Quote I’m trying to create copy of the Quote, copies of all the Quote’s Line Items and set the new Line Items as the value for the new Quote’s Line Item field. The problem is that I can never get the Line Item field to accept my new Line Items ids. I’m sure this has to do with the order of async and await operations but I can’t figure it out. My latest attempt follows; const lineItems = useRecords(lineItemsTable); async function createLineItemObject(fields) { const newLineItemId = await lineItemsTable.createRecordAsync(fields); return { id: newLineItemId }; } async function createQuote(fields) { const newQuoteId = await quotesTable.createRecordAsync(fields); return newQuoteId; } async function handleNewVersion(clickedQuote) { const matchingLineItems = lineItems.filter((lineItem) => { const qu
Hello everyone, I want to send a post request (client side) to Discord to create a message. In the custom app (airtable block) I’m getting errors: Problem with cors (I resolved it with anywhere-cors service) After that I’m getting a 403 error. In Postman all cool.
Hi, I am writing an automatum that will add £20 to all records in a certain field every week. I need to (or I think I need to!) write a simple script that will add that £20 to the certain field, just wondered if anyone could tell me how to do this please.
Hi everyone. I am trying to convert a img to a url automatically every time we upload or attached an image to a table. This is the code. let table = base.getTable("Table1"); let selectedView = table.getView("Shows"); let selectedField = table.getField("Speakers"); let fieldToEdit = table.getField("Speakers URL"); async function convertAttachmentsToUrls() { if (selectedField.type !== 'multipleAttachments') { console.log("is not an attachment field. Run the script again with an attachment field"); } // Loads the records and field from the selections above let query = await selectedView.selectRecordsAsync({ fields: [selectedField] }); let records = query.records; // Array for records with attachments and their URLs let attachmentURLs = []; // Loops through qualified records and pushes them to the attachmentURLs array for (let i = 0; i < records.length; i++) { let recID = records[i].id; l
HI Everyone I am sharing a problem today. Not sure is there any solution out there. Please response if there any solution for that. I am trying to get the latest available option for a select able field inside a loop of scripting apps script. But the problem is script provide me the initial instant of the table if i make any change runtime of the script then it’s not getting the updated instance even though i try to take a new instance of the table . Below is my code while(true){ var table= null table= base.getTable("Table 1") console.log(table.getField("Status").options.choices) console.log(await table.selectRecordsAsync()) //trying to make wait the loop var a= await input.buttonsAsync("test",["test"]) } And also want to mention that it’s getting the all the new records in new instance of the table or the updated records are also available on it. But the updated fields options are not available in updated instance of the table. May be it’s a bug from airta
Hey Airtable Community, We’re excited to announce the newest version 2.0.0 of our command line tool for custom block development, @airtable/blocks-cli.Thank you to the developers and community forum members that provided feedback and beta tested this version prior to release. What new features can you expect? We heard feedback that it was difficult to share code between block projects, and the inability to customize the way block’s code was bundled limited what developers could build with blocks. To that end, we’ve worked to release the following features. Use code from other directories: This version allows the bundling of “sibling directories” outside the source directory. Those directories can include npm imports based on link or file. Using a custom bundler: This version uses webpack and allows you to swap out our built-in bundler for your own, custom, bundler. You can provide a complete custom bundler implementation, or you can start with the Webpack bundler package and tweak the
I’m updating a wildfire refugee map based on data from airtable. I’m using ArcGIS and it can import CSV from a URL. My goal is to make a job that runs hourly (or when the table is updated) that creates a CSV and uploads it somewhere.
My Custom app syncs data from a 3rd party into a user’s Airtable base. Previously the app made an assumption that the user was at least using a Pro plan since apps were only allowed on Pro and Enterprise plans so I assumed I could sync up to 50,000 records. Now that any plan can have an app, I need to detect the record limit for the base. Is there a way that I can do this? Thank you
Hi, In the process of building an Airtable AUTOMATION that will update all records in a base at once, I discovered automations only goes to 100 records. So I decided to try the scripting block. However, I have little experience with JavaScript and I’m struggling to apply Airtable’s specifics when it comes to writing a script. Could someone help me understand scripting for "how to update a field for all records in a table, when a record enters a view in another table? HERE’S WHAT I NEED A SOLUTION FOR: I have a “Members” table with a field called “Available Trimester.” I also have a “Trimesters” table that has dates that each trimester goes on sale (There will only ever be 1 trimester on sale). What I’d like to achieve is when a Trimester (based on its sale date) enters the view “Trimester on Sale”, Id like to update the “Available Trimester” for all Members with the linked record to the new trimester on sale. Anyone who can help with an example script that can achieve this?
Hi there, I need some help, I’m new on Airtable! I’m trying to solve a college test. I have created tables with forms, when filling out the forms and updating the tables I would like to have a button that randomly assigns me roles. FORM 1 TABLE 1 FORM 2 TABLE 2 I created an automation to give a value Resistance to the Role column. I have to write a script that randomly assigns a role for each record, the role can be Resistance or Spy. The total number of roles depends on the total number of players. The total number of players is found in another table. If the total number of players is 5 then 3 records must have a Resistance role and the other 2 Spy. If the total number of players is 6 then 4 records must have a Resistance role and the other 2 Spy. If the total number of players is 7 then 4 records must have a Resistance role and the other 3 Spy. If the total number of players is 8 then 5 records must have a Resistance role and the other 3 Spy. If the total number of players is 9
Hi there, New to the community, you guys have already been a huge help. So I borrowed a script from this user: Creating Tasks from a Template and then I adapted the code into an automation I am building. What I am trying to do is this: Via Automation When a Record is created use that record as the selectedEvent (instead of choosing a selected even like Victoria has in her script) and then run the script. Victoria’s script asks you to choose the template for the linked tasks, but I figured out how to set it to one set of tasks by using the id of that template in the code. Below is the code I’ve been using in my automation script and I keep getting this error: Error: Field “fldtxrU67I4FayPzK” cannot accept the provided value. I think my problem is I’m not entering the correct object when I create the list of tasks. I think this has to do with my syntax when referring to an object using the record id. Any help would be appreciated. Thank you all!! // Declare variables for views from the p
Hi I am using AppGyver to produce my app, and I am attempting to link my table to my app via rest API. I am at apoint where I am being asked for the Resource URL (AppGyver). Where can I find Resource URL in Airtable? Thanks
Hey dev community, We recently made a bunch of improvements to our API, SDK, and documentation! Check out the list of changes below. Additions to our Documentation: Surfacing Field IDs Did you know that field ids and field names are interchangeable? Using only field names can be problematic when there are unexpected field name changes. To make this more prominent, we just added the field id in the fields section of the API docs along with a blurb explaining that field names and field ids are interchangeable. We hope this saves you the headache of dealing with unexpected field name changes in the future. Documenting Synced Table Behavior Synced tables are one of the most powerful tools in Airtable but are less editable than regular tables. These restrictions, such as being unable to add new records, are also present in the API. To make these restrictions clearer we’ve updated the api docs so that Fields in synced tables that cannot be edited are appropriately marked in the fields sect
I am completely new at scripting and am looking for some help with the below problem we are trying to solve. Each week we get a list of staff names that have worked in a certain location in Excel, and have to manually link these up in Airtable and I am looking for a way to automate this using a script. The key part is we use this data to work out who has worked where in the last 12 weeks. I’m thinking we can use an internal count to keep track of how many weeks ago it was they worked there, which is reset each time they work at the location, or 1 is added each week they don’t. All staff names are linked records which exist in a table, though some names are different between the Airtable and Excel records, and staff can work at more than one location. The rough idea I have is as below: Search for location Add 1 to count for each staff member already listed at location Search for staff name at location If present, reset count to 1 If not present, add staff name, create new count for th
I’m trying to create a webhook and get this error msg: {"error":{"type":"INVALID_REQUEST_UNKNOWN","message":"Invalid request: parameter validation failed. Check your request data."}} This is the log of my request: ← “POST /v0/bases/appXXXX/webhooks HTTP/1.1\r\nContent-Type: text/json\r\nAuthorization: Bearer keyXXXXX\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: /\r\nUser-Agent: Ruby\r\nConnection: close\r\nHost: api.airtable.com\r\nContent-Length: 237\r\n\r\n” ← “{“specification”:”{\“options\”: {\“filters\”: {\“dataTypes\”: [\“tableData\” ], \“recordChangeScope\”: \“tblxXXXXX\\”}}}\”,\”notificationUrl”:"https://XXXXX/air_table/75d5f34b-d96d-4dab-8314-bbae8d1ca82b/ping"}"
I’m trying to modify an existing piece of code I got from a template. I need to create a project date along with the project name, but the code as is creates the project date as a text field. I know it’s an issue with the output.markdown or the input.textAsync, but there’s no input.dateAsync or something like that. How can a make this output in a Date field? Thanks!!! // pick tables from your base here let projects = base.getTable('Competitions'); let tasks = base.getTable('Tasks'); // prompt the user to pick a template for our project output.markdown('# New project'); let name = await input.textAsync('Project name'); // prompt the user to pick a date for our project output.markdown('# Project date'); let date = await input.textAsync('Project date');
Hello I’m using Airtable for several years and I have some Vbnet office add-ins to use Airtable data. At the moment I use copy paste from airtable to excel to use the data, it’s ok but it’s just anoying if I need a few tables. I would like to view a simple example of how to connect to a Airtable view of a table and use that data to for instance make a msgbox. I’m not the most experienced Vbnet developer but i can manage after a first example. If someone has a simples examplo it would be great. Thanks.
Have not received any communication from Airtable since submission 2 weeks ago. How long does this take? I can see that nobody from Airtable has even tried using the app in those last 2 weeks. I submitted the code and the information form at the same time. I got the automated email that said “Thanks for filling out the app information form… We’re now ready to start reviewing your submission.” so looks like my app submission was received… How long does it take to have apps looked at / approved ? Regards, Adam
I have a field that needs translating into a form that can be used by a second program, but there are some 50-60 options that need translating and the IF statement got huge. Essentially it goes: IF Cell A = “Manager”, “X”, IF Cell A = “Worker”, “Y” … It only needs to be done once, so would it be possible to use a script? The find and replace one looks almost perfect, but rather than replacing the value, I want the new value pasted into a separate cell
Hi Airtable team and community :)! First I want to thank the team for the awesome tool that is the Interface. I love using it (except for a few frustrations, namely the lack of a “duplicate” button or of the possibility to display fields instead of records as the x-axis in graphs). But my main concern today is the ability to share an interface. I just finished a Quarterly Reporting interface with KPIs of an incubator, and we want to share that with the executives of the school we depend on. For now, I understand there is no way to export the interface as a PDF or to share it with a link as a webpage instead of these busy important people having to create an Airtable account. I was wondering first if tricks exist to solve my problem overnight, and second if these features were planned? Many thanks in advance, and once again, congratulation for this amazing feature. Best, Tanguy
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.