Need development and API help? Ask your questions here!
Recently active
Do you have a block idea that could transform your workflow but are not familiar with React? Chime in with your ideas here! And if you’re a developer who is exploring the community forum for ideas, hopefully this thread can become a resource for inspiration and user feedback.
Hi Airtable Community! I’m trying to build a market map from my Airtable records like the one below from CB Insights but I’m having trouble figuring out how to include records with multiple columns like logo, location, founding year. Currently, I have an airtable record with name, founding year, logo image and location and created a separate table called categories that links to the previous table and groups the logos into a column. I’m hoping to do the following architecture so including a company’s logo + total funding + founding year date. Haven’t quite figured out how to group by category and have both the logo + additional columns. <Category> Category name <Logo /> Founding Year, Total Funding <Logo /> Founding Year, Total Funding <Logo /> Founding Year, Total Funding <Logo /> Founding Year, Total Funding </Category> image|700x415
Hi @Katherine_Duh, What is your Airtable’s Community Engine which it’s powered by ? I suppose backend is Airtable + Airtable’s API but I’m feeling a :star_struck: UX on your Airtable’s Community frontend so I’m curious ! Best, oLπ
Hello, I’m studying Airtable API and I have problem with receiving anything with cURL in PHP. All I’m getting is NULL value. Here is my code: function refreshCache(){ //get cURL resource $ch = curl_init(); //set url curl_setopt($ch, CURLOPT_URL, 'https://airtable.com/tbl5g83TtrSE0LpS0/viwcGbSmDc5FhHrHg/rec2UUOz1aQEPsuFL?api_key=MY_HIDDEN_KEY'); $out = curl_exec($ch); curl_close($ch); file_put_contents('cache.txt', $out); print_r($out); echo("<br/>"); var_dump(json_decode($out)); } refreshCache(); I know that I should receive SOMETHING, because table and rows aren’t empty. What I’m doing wornd? Thank you!
Can a scripting block learn what the currently selected records are and get updates when that selection changes? I’d like to write a script that knows when the user has only a single record selected in the visible table and then uses some fields in that record to do something fancy. Any time the user clicks on a another record, the block should be notified, look up the new field values, and redo the fancy action. Is it possible to get such notices in a scripting block?
Hi @Kasra , @somehats , @VictoriaPlummer , Independant Developpers, referring to: 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. GitHub GitHub - Airtable/apps-base-schema: Visualize all your base’s tables, fields,... Visualize all your base’s tables, fields, and relationships. - GitHub - Airtable/apps-base-schema: Visualize all your base’s tables, fields, and relationships. github.com Airtable/apps-base-schema/blob/master/frontend/parseSchema.js import _ from 'lodash'; import {FieldType} from '@airtable/blocks/models'; import {FIELD_LABELS_BY_TYPE, LINK_LABELS_BY_TYPE} from './constants'; /** * Utility helper to push an item into an array at given object key, or initialize that array
Hey Guys, First post here. I’m transferring from Podio to Airtable and the transition is a bit confusing to say the least We are currently using Airtable as a CRM. We have 32 emails that we use to send marketing emails. Replies get forwarded to one master email. When we reply from the master email in Gmail, it automatically replies using the sub-email account’s domain. We then create a label as a ‘lead’ in Gmail, which then add’s the contact into Airtable. Airtable is where we track the leads and Gmail is where we communicate. We want to somehow schedule clients into Calendly/Google Calendar, etc from inside of Airtable using the data & time field. The challenge is that we want to ‘block’ time slots in Airtable that are currently already booked in our calendar - so we don’t double book. It’s very time consuming to copy and paste all the Airtable data into Calendly (or Google Calendar, etc.) – this is nearly impossible if we are on Airtable for Mobile - and we are not near a deskto
Have a table I am sending Twilio SMS from, one field is 10 digit number [10DN]. Want to gather info through SMS replies, run a Twilio Function, and update that same record. Thanks in advance Receiving this 82002 error! Screen Shot 2020-03-25 at 1.34.16 PM|690x290 var Airtable = context.AIRTABLE_API_KEY; var base_id = “appGRnjvExBkkhQa2”; var base = Airtable.base(base_id); var table_name = context.VOLUNTEERS_FOR_DELIVERY_TABLE; var table = base.table(table_name); // lookup the RFID number in our table and then update that record // with additional data table.select({ “filterByFormula”: “{10DN}=event.number” }).firstPage((err, results) => { if (err) { // handle err; throw err; } // results will be a list, but if the column we are searching for should unique, // then we should only have one element in the array // if the uniqueness assumption here is not true, then you’ll want to turn this into a loop var record = results[0]; // grab the record id // and then push an update to this r
I have a sheet that stores user information. This is for a club, so the fields are: NAME, ID, and PHONE NUMBER. I am hoping to use a GET request to find a user with a specific ID and return their phone number. By looking at previous forum posts, I can tell that I’d likely want to use filterByFormula, but was confused about how to format the actual GET request and the URL required. Apologies if I’ve missed anything important, I’m new to the API!
When Zapier is updating a record, it’s adding comma separated records into a linked field. Lately, it is creating duplicate records even though the record exists. Is there something I can do about this? I vaguely remember running into this issue before but can’t find the solution.
Does anyone know id it’s possible to bulk download attachments to Microsoft sharepoint either with Integromat or the script block?
Hi, I am trying to build a SPA and having an issue with pagination. From client side, it is calling back-end function to fetch image url of records and pageSize is 16. What I am hoping to achieve is to fetch every 16 records whenever user clicks ‘show more photos’ and it will fetch another batch of 16 and so on… but my question is how can I call fetchNextPage() after it fetches the first batch of records and function’s finished. I have little knowledge of callback function and how it works but if you could help me with this, I’d appreciate it. Here is part of my cloud function exports = module.exports = functions.https.onRequest(async (req, res) => { const nextPage= (records, fetchNextPage)=>{ fetchNextPage() } const processRecords = (err) => { console.log('done :>> '); if (err) { console.error(err) return } } _base(tableName).select({ filterByFormula, fields, pageSize: 16 }).eachPage(processRecords, nextPage) });
Hey Y’all, So I’m working on a use case where I need to determine metrics for a funnel. I want to know two things: the percent of value that remains in the funnel from the previous step, and the percent remaining from the beginning of the funnel. So that looks like: Metric A - 10,000 | 100% | 100% Metric B - 5,000 | 50% | 50% Metric C - 1,000 | 20% | 10% Metric D - 500 | 50% | 5% This of course would require me to use the previous value in a function, something that Airtable isn’t built for on its own, but it is something that people have found great workarounds for, like @W_Vann_Hall who has covered a great workaround thoroughly in this post. I happen to be dividing, but this is also great if you’re looking to do a running balance as well. To make this easier and cleaner, and just to see if I could do it (tbh), I tried my hand at a script that will do this in a snap. The Pros: No complicated rollups The Cons: Since it uses the scripting block, it doesn’t update automatically. Her
Are you looking for feedback on usability or design best practices for your Custom Block? As part of the ongoing Custom Blocks contest, we’re hosting a live Ask Me Anything (AMA) session in this thread on Wednesday (6/17) at 11am PT . Jay Ransijn and Stephen Suen from our platform engineering team have designed and built countless blocks. They will be available to answer any design-related questions you have. The top 3 upvoted questions (or solutions from the community!!) will win a $40 Amazon gift card. You can even start posting your questions now, and we’ll be answering questions live from 11am - 11:30am PT on Wednesday. See you there!
I’m building a block which (should) allow users to select multiple records in Table A. I would like to get a set of each selected record’s linked Table B records. The problem I’m running in to I believe relates to using a hook within a loop. Right now I’m using selectedRecords.map(record => {...} ).flat() to loop through each selected record. Within the loop, I’m using useRecords(record.selectLinkedRecordsFromCell(fieldName)) to get the linked records into a single array. This works but only if the user selects the same number of records each time, or cancels the current selection and starts over. Meaning if someone selects one record it works, if someone selects all records it works, but if someone changes the number of selected records by clicking and dragging or by using the selection boxes at the far left, React throws an error: Error: Rendered more/fewer hooks than during the previous render. I think I could possible get around this if I could combine/collapse multiple record q
Hi I have a table called mentors I have a table called jobs I linked the two with a link field what I m trying to do is to display the job name instead of the job id const title= 'Prenez en main votre vie pro | CarriereMatch.com' const getRecords = async () => { var test ="string" const records = await mentors .select({maxRecords: 6, view: "Grid view"}) .eachPage(function page(records, fetchNextPage) { records.forEach(function(record) { jobs.find(record.fields["Quel est votre métier actuel"], function(err, record) { if (err) { console.error("Big Error",err); return; } console.log(record) }); }); fetchNextPage(); }); } getRecords() .then(function(records) { res.render('index',{title: title, records}); });
Hey Airtable Team, I’m currently using Airtable to manage a catalog of items. Each record is a single item, with fields like SKU, description, dimensions, and so on. The client has asked me to figure out a way to export this catalog information from Airtable into a powerpoint document that can be downloaded and edited. The tricky part is that they want to include multiple Airtable records per page. Ideally we’d have a table of ten records per page, and the document would include as many slides as are needed to list all of the records in a particular Airtable view. I’ll admit that I haven’t even thought about how to tackle page breaks. What do you recommend? Is there an integration I could use, or is this a job for the scripting block? Basic requirements: Export data from Airtable for offline use Output should be editable (PDF won’t work) Multiple records per page Thanks so much for your help!
Hi, i m trying to connect a big table to appsheet but following the appsheet support. The airtable api doesn t support api calls with more than 21 columns. Any idea how to solve that? best
Hi Everyone, There are infnite examples of being able to post updates to the table into slack, but I was wondering if there were any date-driven event notifiers that are possible. For example, if I had a field of important dates, is there any way to have some sort of scripting block/zapier/iftts integration that will push a notification on that date to slack without the need of a server accessing the record everyday. Thanks in advance!
I am trying to write a formula that is used in another application through the API. The first Column “Collective Service” will only ever have one value (but could be one of six). The second Column is “Support Type” and it can have 1 to 3 value in it at any point. I would just like the formula to filter it when the first column is equal to one value and the second column also equal to one of the values. I have this at the moment: AND({Collective Service},‘Legal’, {Support Type},‘Divorce’) but it does not work. I have tried SEARCH and also FIND but that also does not work. Please help!!
Hello, I would to get the position of the column for the integration in my block : today I can see the name and id of the field : is it a way to have his position in the table ? If yes, how can we get it ? Thank you :winking_face: Viken
@Kasra - In reference to this, from the AMA session AMA Custom Blocks Contest Edition #1 - Getting Started with the Airtable Product Team (Live on Wednesday 6/10) There isn’t an API for getting this information at the moment, but I’ll note your +1 for it! Out of curiosity, what are you hoping to build with it? One thing I could imagine being potentially useful is a Custom Block that can stream updates to particular records or a particular table, along with the source of those updates - it could provide a useful place to keep an eye on changes to critical records/tables within a base while working in a different part of the base. I think opening up an API to record revision history in the SDK could be potentially useful for that kind of thing.
Hey, guys. I have an issue with an integration of mine. I’m extracting a time from a string from Google sheets and then putting that time into Airtable. I want to put it into the duration field, but it will not accept it. Does anyone have any idea of how to format this correctly or work around the duration field paramaters? Thank you!
Hi y’all, I’m trying to use Zapier to perform an action on a comma separated string of records, where that string is variable in length. It could be four records long, it could contain no records. As you probably know, Zapier natively will not iteratively work through a list of records and perform the Zap’s step to each. Having the ability to perform the following steps on a list of records would be fantastic. Alternatively, if I could break that string of records out into individual items, I could set up a complex series of filters and repeating steps, but I’m having trouble with that as well. In the past, I’ve used Zapier’s Text module to separate text into separate fields using [:space:] or [:return:]. However, when I try to use comma as a separator, I only get the string of records back as the output, not the individual records. Go easy on me. I’m not much of a coder, and still a bit of an Airtable n00b. :slightly_smiling_face:
I’m trying to query Linked Records out of a Linked Record Field from the record selected by cursor. I am trying to do so inside a component that is nested 4 levels deep, and has had said record passed down to it through props. When I attempt to await the result of .selectLinkedRecordsFromCellAsync() I get an error: And when I attempt to get them directly from .selectLinkedRecordsFromCell(), I get nothing back in my const linkedRecords, even though I’m 100% certain I have Linked Records there to query: I’m doing a horrible job of debugging this, and I have a feeling it’s likely something simple – a rookie mistake that I’m just missing. So I figured it’s probably about time to just ask and learn. Thanks for any help you can offer :slightly_smiling_face:
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.