Need development and API help? Ask your questions here!
Recently active
Hello everyone! I’m trying out the Button field and I want to be able to send a templated email to a static address on button press. I don’t have a paid account so I can’t use the SendGrid action and was trying to recreate it in a scripting block using SMTP https://www.smtpjs.com/ I ran into issues trying to use react/html tags in the scripting block, is this possible? Is there a better way to achieve the same thing? Thanks
Using this tutorial there is a small error that we got stuck on in part 4. Airtable Airtable | Everyone's app platform Airtable is a low-code platform for building collaborative apps. Customize your workflow, collaborate, and achieve ambitious outcomes. Get started for free. We ended up editing it this way I am sure something more elegant is what you guys had in mind. This is just an example. function TodoBlock() { // YOUR CODE GOES HERE const base = useBase(); const globalConfig = useGlobalConfig(); const tableId = globalConfig.get('selectedTableId'); const completedFieldId = globalConfig.get('completedFieldId'); const table = base.getTableByIdIfExists(tableId); const completedField = table ? table.getFieldByIdIfExists(completedFieldId) : null; const toggle = (record) => { table.updateRecordAsync( record, {[completedFieldId]: !record.getCellValue(completedField)}
Hey all, I have a table called “Contacts” which contains the following columns: Mailing Address 1 Mailing Address 2 Mailing City Mailing State Mailing Zip Cod I have another table called “Leads” which contains the following columns: Lead Address 1 Lead Address 2 Lead City Lead State Lead Zip Code I want to create a button that runs a script to copy the address info from the related Contacts row to the Lead Address, in cases where the lead and mailing address are the same. I have no experience using the scripting block.
I have built a dashboard pulling in data from 2 different views, both of them filtered by a formula field that prints out the month. For instance, if it’s August the formula returns 8 and I manually filter both views by number. Once that’s done my blocks get updated and I can see the monthly dashboard. I would like to achieve this dynamically from the dashboard by having an input field/dropdown, in which I would just type in the number to filter the view, rather than having to do this manually in the view itself. I’ve looked at the Views API but I can’t find anything that would the job. Is this achievable?
I am wondering how permissions work with scripts and automations. I have gotten errors in my automations, that the script won’t run because of insufficient permissions. I assume it is because I had set table or field permissions about who can edit them. I assumed that automations could run under any permissions, but it’s clear it cannot. Does anyone know what must the permissions be at table and field level for automations to work correctly?
After writing some new code, after refreshing my block in Airtable (and re-running my local server that is serving up the block)… I keep getting old code or some sort of old instance of the block. The block builds successfully. Is there any workaround? https://github.com/avimoondra/airtable-block-graphql-import if it’s possible test elsewhere
I have a script (adapted from a template) to create a new project in one tab, and a list of associated tasks in another tab. What I’d like to do is add another input where the user provides a project launch date, and then have dates for all the tasks that build off of that initial date (preferably + a specific number of workdays, as a function might do in Excel). I’m not sure what to use for the input (I’m new to JS) so that the user can enter a date in MM/DD/YYYY format, and I’m also unclear how/if I might user formulas within the task creation to have sequential dates. Anyone have any suggestions? // pick tables from your base here let projects = base.getTable(‘Projects’); let tasks = base.getTable(‘Tasks’); // prompt the user to pick a template for our project output.markdown(’# New Project and Tasks’); let name = await input.textAsync(‘Project name’); // create the project - change the field name to one in your base let projectId = await projects.createRecordAsync({ ‘Project’: nam
Good Morning! I am having some difficulty with getting an automation to connect with Teams. My admin said he logged in and granted access, but when I try to log in, it doesn’t work. Do I have to be on his Airtable account? Or have him perform the Teams login on my account? Any similar experiences out there? Thank you!
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.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.