Need development and API help? Ask your questions here!
Recently active
Hello, According to the documentation of Rich Text Formatting the Markdown format can handle 2 kind of links: The [ text ] (link) The [ text ] [ number ] with a [ number ] : ( link ) at the end of the content But to my understanding if I use the API to send a content with the 1st format then it is converted to the 2nd format. Questions: Did I correctly understand ? Is it something that AirTable wants ? (because I sync notes with AirTable, and so notes links are scramble when I retrieve them from the API and sometimes inline links are better than references) Is there a smart way to link an AirTable record ? like [1] : (recId) Thanks
My References: @Bill.French FIELD TWEAKER My Report: Hello @Bill.French & Community Scripters, Inspired by // // update analytics // // establish the cgp web service endpoint let gcpUrl = "https://script.google.com/macros/s/AKfycbxGO0QVOYEiiBkseEh3AUSnHFMpS0OXidRtAUMTNIjj_EaFdBo/exec"; let payload = { "userid" : session.currentUser.id, "username" : session.currentUser.name, "useremail" : session.currentUser.email } let postOptions = { method: "post", headers: { 'Accept' : 'application/json', }, body: JSON.stringify(payload) } const postResults = await fetch(gcpUrl, postOptions); // const jsonPost = await postResults.json(); from this Bill FRENCH’s Script, I just tried to script & test my own “Update Analytics” using SHEETS and Google App Script as Bill did or something closed to Bill’s way,
I am using the base(’ ').create() function in a jquery script that processes my form inputs. I would like to be able to “return” the created recordID so that I can take additional actions before exiting the script. But it appears that the recordID is not defined until the script finishes executing. Here is the code for one of several approaches I have tried: $(‘button#submit-deliver’).click(function() { var data = $('form').serializeFormJSON(); var newRec = createRecord(data); console.log('created record: ’ + newRec); }); function createRecord(data) { var Airtable = require(‘airtable’); var base = new Airtable({apiKey: ‘keyLtUUC-----------’}).base(‘apptiYiTzsQcY1eNm’); var newRec; base('Delivery Log').create([ { "fields": data } ], {typecast: true}, function(err, records) { if (err) { console.error(err); return; } records.forEach(function (record) { console.log(record.getId()); newRec = record.getId(); return newRec; }); });
It’s great to be able to filter entries for rollup field calculations. I just noticed that recently. However, I’m running into a couple issues with it: The editing area of the rollup window is tiny, so it is difficult to edit parameters. The API is not properly transmitting the rollup fields as it does with the others. There’s a chance #2 could be an issue with a separate service, but I thought the rollup result might not be reported in the same way as formulas and number fields.
Hello, I would like to know if it is possible to use a Block inside a webside or in an application ? I believe it is supposed that the application is connected to internet. If it is possible, do you know where I can find document to integrate it ? If not, it is plan in the futur or any idea to do something similare? Thank you for your feedback. Best regards, Vik
I’m using the Airtable api, and trying to update a record and add varous tags to an entry ( formatted as a multiple select field ). This is really a two part questions I guise. One, is it possible to create multipe choice entries, if they do not already exist as options ( dynamically create them ). Two, I can’t seem to even get it to work when I do add the options through the GUI. For instance right now im doing the following base('Companies').update(id, { "Categories": categories, }, function(err, record) { if (err) { console.error(err); return; } console.log(record.get('Company')); }); Where categories is an array of strings. What am I doing wrong ?
I have a requirement to identify all records in one of my tables where a text value in a specific field matches one of several hundred possible text values stored in individual records in a separate table. For every new record in that first table, I want to check if there is a matching value in Table 2, and if we find a match, I want to update a separate field in Table 1 with ‘true’. If there is no match, then that field is set to ‘false’ Would like to set up an Airtable automation for this, but as with Automation script my javascript is pretty near non-existant! Thanks
I was able to make a post to create a record. But when I try to retrieve it or check the newly created record on the table it is not available. What could be the issue?
Hey All, When creating a new record using the API, is it possible to explicitly set the record id? Thanks, Tommy.
I want to create an Automation that will sort inbound emails into categories for me, and label them I already capture the email text content via Zapier which creates a new record for each email and, among other things, writes the email text body to a Multiline text field in the record. I then need to classify each email, and label the record accordingly. I have about 12 different message types. Each record includes a Single Select field with 12 options, I use this field to label each record according to message type. My message types are pretty simple and each record can be classified just by looking for and matching a unique text string within the text body from each email - ie the message body can be very long, and I’m looking for particular unique strings within the message. This seems like it should be a job that Airtable Automation could do pretty easily, but I’m a noob with javascript. Essentially what I want is a script that will look at each new email and check if the text emai
Hi! I am trying to extract a filtered view from a specific field (list of document = to the user ID) and have this user from a search bar Search() or Find () a document tag . AND( Search(‘Search Term’, {doc-tag}), ({company-id}=‘User company-id’) ) I managed to make these formula work independently, but combining them has been hectic for me… Once the query is executed, the issue is that the view keeps showing all documents from all companies, but after typing the first tag search, the list of documents then sticks to the user company-id. Any tips on that issue? Thanks!
Hey, I have a table with records that are tagged with a specific day of the month. I want to pull the 5 records associated with the previous 5 days (not including today) with a filterByFormula parameter. I am using the Node.js Airtable library. How would you do this?
Is it possible to make a script where we ask a user to answer three questions (most likely multiple choice) and the result will be filtered out based on what the user answers?
I have a script block that prompts the user for some information then creates a bunch or records that link records in two other tables. I wanted to utilize the automation feature to further automate this process. Anytime a record in the “meeting” table is created, the automation script will trigger and create a record in an “attendance” table for each staff member listed in the “staff” table linked to the “meeting” record. I’ve had this script work in the script block plenty. However, in migrating it to an automation script, I’m seeing a new error pop up. I’ve confirmed that the “meeting” being passed from the trigger finds the record and then uses an object of the same format that the script block uses (script block asks the user to choose a record). The createRecordsAsync function is throwing “Error: Request parameters failed validation.” I have a safeguard built in for the 50 record cap (in this testing instance, I’m only creating one record anyway). Does anyone know of any addition
Hello Brilliant Friends! Are any of you aware of a compact way to visualize the timeline of multiple groups of records simultaneously? My base is composed of three tables: Super Projects, Projects, and Tasks. Many Tasks are linked to a single project. Many Projects are linked to a single super project. Each task has a start and end date. I am trying to provide a high-level timeline summary for several Projects in the same small space. The gantt block is too huge and the calendar view and timeline block seem to ignore groupings. Do you have any suggestions? I am trying to get away from a manual dinosaur excel timeline. Everything is in Airtable, but management is always asking to see things in a more high-level view. Below is an example of the dinosaur timeline. Each color represents a task record. Thank you!! (Even a “nope, I’ve tried everything!” is helpful info)
Hello, I’m trying to create an automation in Zapier where when a record is updated in a Google Sheets spreadsheet, automatically a specific record in Airtable is also updated. For that, I followed the steps on this page: https://support.airtable.com/hc/en-us/articles/218151657-Using-Zapier-s-Multi-Step-Zaps-to-find-and-update-records Everything worked perfectly using a test table that I created in Airtable, but when I try to use the table that I really want to update, I’m getting the following error message: “The app returned” Unknown field name: “fldGbqW7NsISXtzKT” “.” It is as if the “Record” field that I am using as a reference to update the record was not being found. Could you please help me?
I’m looking for some support to help with block views. We have 30 + clients who are all at various stages of progress and Id like a single block view to help me see. A client paid for 10 and has 8 booked, 2 remain Overall view of meetings, ie 150 paid for - 50 booked in Status of meetings etc Airtable Client View: Axiom Workspaces (14 Meetings) - Airtable Explore the "Client View: Axiom Workspaces (14 Meetings)" view on Airtable.
Hi, I have been trying to add a rich text field and use Markdown Language to create a “Pretty” URL Link Clickme I’ve come to realize, after googling that, it will only work using the API. So, I used Integromat to populate a Rich text field with Clickme in it. The URL is made up fro a concatenated formula ad some of the URL’s have spaces i.e https://www.anywebsite.com/some%20spaces This is not being created correctly when the URL has a space like this. Is there anything I can do? I presumed this would be a quick job, it’s not looking that way :frowning: Any help appreciated Jason
Following up on: Help on Script with Math Function I have a new question. How can I find the record id of a record in a table. Here is my code so far: let table = base.getTable(‘Project List’); let queryResult = await table.selectRecordsAsync(); let record = queryResult.getRecord(queryResult.recordIds[0]); console.log(record) let yearstring = record.getCellValue(‘Year String’) console.log(yearstring) let yeartable = base.getTable(“Year”) let yeartablequery = await table.selectRecordsAsync(); [here I want to add a filter/find function to get record - call it linkedrecord] await table.updateRecordAsync(record.id, {“Year”: linkedrecord}) let year = record.getCellValue(‘Year Count’); console.log(year); let num = parseInt(year)+20018; await table.updateRecordAsync(record.id, {“Project #”: num}) What I want to do is filter/find the record in yeartable by the name yearstring in field ‘Name’. In other words, I have a list of records in yeartable and the Name field is the Year. I want to
I’m trying to move away from Zapier and leverage Airtable Automations, which looks promising as it can detect a new record in a view. We leverage Airtable to do Account & Task Management. With Zapier, we’re able to use Mixpanel to do reporting and analysis about our utilization and operations. When a new task enters a view, send an event to Mixpanel. Using the fetch API in the scripting block, I’m wondering how I’d be able to use Mixpanel’s HTTP spec and hit their /track endpoint. I’m hitting a roadblock because I’m not sure if I can encode the data properly using vanilla javascript. The data parameter accepts a JSON object, either URL encoded or base64 encoded. I’d appreciate any advise on doing this properly. Thanks!
Is there a way to import a csv, and using an ID var replace certain cell values based on the incoming data? For example, the base has 100 records, all with a unique identifier. If I upload a csv of the same data set, with updates fields, can i replace those fields in Airtable without creating dulpicate records?
Any idea why the math isn’t working in my script. I am expecting two numbers to be added together (2+20018 = 20020) but instead get 220018 let table = base.getTable(‘Project List’); let queryResult = await table.selectRecordsAsync(); let record = queryResult.getRecord(queryResult.recordIds[0]); console.log(record) let year = record.getCellValue(‘Year Count’) console.log(year) let num = year+20018 await table.updateRecordAsync(record.id, {“Project #”: num})
I would like to create records en mass. I have 3 tables, Product, Product Request and Campaign. Campaigns require X quantity of Product, which I keep track of in Product Request. I would like a table input method inside the block that looks like this: Product 1 ____ Product 2 ____ Product 3 _12_ Product 4 ____ Product 5 _4__ In this case, the script would run once the table is filled out and create two product request records (12x Product 3 and 4x Product 5). Is this possible?
I am trying to add all records from a view in a separate table to a field for all records in a view on another table. let TBTable = base.getTable(‘Technical Comments for VB’); let TBView = TBTable.getView(“Shared to All Trigger”) let TBQuery = await TBView.selectRecordsAsync(); let TBRecord = TBQuery.records; let VBTable = base.getTable(‘Verifier / Trainer Body’); let VBView = VBTable.getView(“Verifier Bodies (Public List)”) let VBQuery = await VBView.selectRecordsAsync(); let VBRecords = VBQuery.records; let d = VBRecords.forEach(c => d.push({id: c.id})); await TBTable.updateRecordAsync(TBRecord.id,{‘Verifier Body’: d}); output.markdown(’# Done :rocket: ’) I am getting an error that the record is not defined. Can someone help? Thanks,
Hi Folks, This may Seem a bit silly but I’m trying to render just individual field information for a little project I’m working on. I can get all the fields and cells for all the fields to show in my block but I can’t break it down enough to get just a single field worth of data. Please take a look and see if you can help
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.