Need development and API help? Ask your questions here!
Recently active
Hey everybody, I'm building a script using Airtable Scripting and I'm looking to reference/extract/use the contents of files in a file attachment field I have. If it matters, these files are mostly PDFs, and my field may contain more than one. I want to take the contents of the file, or in cases of multiple each file, and include that in the payload of a REST API call. Right now, I am totally unable to get to the contents of the file itself in Airtable Scripting.Has somebody done this before? Could you please help out?Best,Cam
HelloI am developing a Airtable Script and I am looking for extracting actual file object which is part of the attachment field in a table. I got the object using record.getCellValue("Attachment field"). This object has information like URL, Filename, MIME etc. But what I am looking for is to extract the actual object in the attachment field (this could be a JPG, TXT,PDF,video etc). I need to pass this object to be stored in the target system through API (Dropbox API). The upload API in the target is looking for an object which is stored in local system. As the object is in Airtable I am not sure how this can be passed to API.The API call is some thing like below-----------------------------------------------------------------------------------------------let dropboxEndpoint = "https://content.dropboxapi.com/2/files/upload";let appToken = <-- Dropbox App token -->// set up the post optionslet postOptions = {method: "POST",headers: {"Authorization" : "Bearer " + app
I changed a column in Airtable from text to a checkbox (I am filling in with TRUE/FALSE (all caps)). Now I get this when I try to insert: data: { error: { type: 'INVALID_VALUE_FOR_COLUMN', message: 'Field "Active" cannot accept the provided value' } } I have seen articles saying to add: "typecast": true but this does not work. I’m not sure that I’m adding after the right curly bracket, as none of the articles I read are explicit on this, other than ‘add “typecase”: true’ somewhere. I don’t know whether to add it after each fields entry like so, or somewhere else? { "fields": { "key": "value", "key": "value" }, "typecast": true }, It is obviously being added in the wrong place, I am getting: data: { error: { type: 'INVALID_REQUEST_BODY', message: 'Could not parse request body' } Is there an example JSON that anyone can share that has been successfully used here?
I'm trying to avoid having to add a view for each new coach in a coaching engagements base. The filtered URL works beautifully in a browser, but when I add it to the embed code in the iframe, it gives me the airtable.com refused to connect message.<iframe class="airtable-embed" src="https://airtable.com/appNTRWwuGJYQDcYK/shrPcWPXGkhHeb30F/tbl38pqjIpX(rest of code hidden for privacy)&filterContains_Engagement=(First Name)+(Last Name)&filterIsAnyOf_Status=In+progress&filterIsAnyOf_Status=Awaiting+SOW&filterIsAnyOf_Status=Assigned&backgroundColor=blue&viewControls=off" frameborder="0" onmousewheel="" width="100%" height="1000" style="background: transparent; border: 1px solid #ccc;"></iframe>
Can a Salesforce Integration be Done Via API? I can’t stand using Salesforce and due to acquisition, our company has multiple instances, which screws up data integrity. I’m using Airtable on the side to clean up records but would love to be able to pull in fields form Salesforce or publish new data back to Salesforce.
I can't get Block SDK to work with Personal Access Tokens. It doesn't accept the format and returns...Error: ❌ Invalid Airtable API key specified. Make sure you copied it correctly from airtable.com/account.Code: airtableApiKeyMalformed@Olafur_Petursso: I saw your post from a few weeks ago and adding the secret key seemed to work for you. You do mean this key, correct?Any help is highly appreciated!
If you have a many-to-many relationship, chances are you have a junction table. And chances are, setting up and maintaining that junction table is probably…not your typical idea of a fun time. Welp, now it can be! Thanks to some serious help from @Stephen_Suen, we figured out how a script could help us automate this process. In the below example I have a list of projects, and for each project I’ve assigned multiple companies to it. I also have another table named “Tracking” where I track all the details related to a specific project-company pair. Previously to create that junction, I had to do a lot of finagling, which took a fair bit of time. However, with a script, I can automatically create the records I need. Below I’m going to assign companies to Project 5, and then use a script to create the junction records. Ahh, the joy of automation. :massage_woman:t5: Thank you @Stephen_Suen! Script below. Example base here. let projectsTable = base.getTable('Projects'); let projectQuery =
I have an automation script that searches a table for a matching record. Based on the examples I could find, I wrote it to retrieve that column from all the rows using selectRecordsAsync(), and then loop through all the rows looking for a match. But this sometimes times out after 30 seconds. The table has about 1800 rows.Is there some way from a script to get the lookup done on the server side, e.g. by passing in a formula? I was able to do this easily in make.com using the airtable search action and a formula, but it seems like there should be a way to do this in airtable itself.
I have an automation that uploads attachments to OneDrive, then adds them to Airtable with their publically accessible URL. This has worked for for well over 2 years, and a few months ago, randomly stopped with no changes on my end. No errors get thrown anywhere, and we can actually see an attachment pop in for a second in Airtable and then clear out. The revision log appears to show me adding the attachment, then deleting it. After weeks of forking around and thinking I was going crazy, I stumbled upon another form post and Lo! 'tis apparently a known issue. By even posting this thread, I'm probably going to make one of the veterans of this forum lose their dayumn mind, but there isn't a solution on any of the many many many existing threads other than "use a different provider" which is clearly not, like, a viable solution. Sooooo..... does anybody have any updates on this? I'd really like to not switch to a different platform as we alrea
I have a public readonly table with many links. When I click on any link, a "leave airtable" modal window opens. When I try to click on the "continue" button, the window just closes. Because of this, I can't use my table
The public api returns a very limited set of attributes in the list and get endpoints for bases and records, such as who to attribute creates and updates to. This would be very useful information to include in the api response so that third party apps can attribute Airtable records / bases to their authors. Currently record comments are the only thing to reference a user.Even at the enterprise level, the audit logs have some limited user information on creates and updates to bases, but nothing around records.
How to export Table into MYSQL table file or CSV?Can be synced table from Google Sheet into MYSQL?
I am currently trying to set up the Google Cloud Vision API via an extension in Airtable. When adding the API key, I am currently getting the following error:'Cloud Vision API is not enabled. Enable the API.'However, I have followed all the steps required for the API to work:1. Created a Google Cloud project 2. Set up billing 3. Enabled the Google Cloud Vision API, added it to my project and generated an API key.I am still getting the error message despite having disabled and enabled again, removed and re-added the extension and deleted and re-created an API key.I would be grateful for any additional suggestions regarding how I can add this extension.Many thanks,Jamie
Dear Airtable lovers, could you suggest me how to create a simple Alfred App search workflow for simple searching of defined base? More about Alfred workflows: https://www.alfredapp.com/help/workflows/. Thanks!
Hello Community,I am new to airtable. I have already created different tables in airtable database. Now I want to add data in airtable from outside using python script and later I want to update certain airtable data. So is there any way we can do it ? I am new so any blogs or threads which provides answer to this will be helpful. Regards,Viraj
Can the buttonAsync be created dynamically? I have an array of Order Numbers called filteredOrderNames. Can each value of the array serve as the button label? let selectedOrder = await input.buttonsAsync( 'Select Order Group from List below', [ {label: filteredOrdersNames, value: filteredOrders} ]);
Hey there,The "Insights" tab in our base is so useful for clean-up, and one of my favorite features is when it tells us which views in our base haven't been accessed for 90+ days. We're doing a base audit to clean things up, and we want to go through all of our views in a slightly more programmatic way. From the API docs, it looks like the metadata we can pull about a view doesn't contain its "last accessed" date, or anything like that:The only way I could think of to access this data would be to pull our Enterprise logs, search by view ID, and then grab the most recent date stamp for each access. That seems like a rather painful workaround, and since the data is already packaged so nicely in the insights tab, I was wondering if there's a workaround anybody knows of to grab it more quickly without having to do a brute force search. TIA!
Hi, I used the HelloWorld TypeScript example, installed and imported the @octokit/rest package to interact with GitHub and now I get the following error. The module is @octokit/rest present in the node_modules, vscode uses types from the package OK.Is there some caveat on using third party NPM modules?Running NodeJS 14 (per docs) and @airtable/blocks 1.18.1 $ block run --http Updating bundle... Bundle Error: Cannot find module '@octokit/rest' from '/workspaces/airtable-run-github-workflow/build/development/transpiled/user/frontend' Your block is running locally at http://localhost:9000
Hello!If I want to add a checkbox to a rich text field I simply type [] and checkbox appears.But the same does not seems to work over scripting. I tried all kinds of combinations of `[] ` and `- [ ] ` and so on with no success.```let formattedInstructions = instructions.map(instruction => `- [ ] ${instruction}`).join('\n');```Maybe it's not possible right now?Thank you!
As per the title, has anyone connected a standard html form to Airtable? I’m struggling to work it out and need a little help.
Trying to set up the barcode generator (Little Appy Co) suggested by airtable - however the content field is not valid. I have tried all the suggested field types numbers / auto number / single line text etc but still telling me when I try to generate invalid field. Does anyone know what I am doing wrong.
Field Type and Compatibility:Ensure Field Compatibility: Verify that the barcode generator field is compatible with the system or software you are using. Some platforms may not support custom field types or require specific configurations.Check Documentation: Review the documentation for your platform to see if there are specific requirements or supported field types for barcodes.Configuration and Setup:Field Configuration: Double-check that the barcode field is configured correctly. This may include setting correct parameters, like the type of barcode (e.g., QR code, Code 128), and ensuring it’s linked to the appropriate data source.Validation Rules: Ensure that any validation rules applied to the barcode field are correct and not causing it to be flagged as invalid.Integration and Implementation:API or Plugin: If using an API or plugin for barcode generation, make sure it is correctly integrated into your system. Verify that all necessary libraries and dependencies are installed and
Hai,I am trying to connect Airtable in .net maui. I installed Airtable 1.4.0 ,AirtableEfcore 1.1.0 and CData.Airtable.EntityFrameworkCore. This is my codepublic class TestDbContext : DbContext{public TestDbContext(DbContextOptions options) : base(options){}public DbSet<Student> Master { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){base.OnModelCreating(modelBuilder);}}public class Student{public string Id { get; set; }public string Name { get; set; }}protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){var services = new ServiceCollection();services.AddDbContext<TestDbContext>(o => o.UseAirtable("app66666Xep", "patSOBFs83Vv6"));var sp = services.BuildServiceProvider();var scope = sp.CreateScope();var db = scope.ServiceProvider.GetRequiredService<TestDbContext>();TestDbContext Db;var x = db.Master.ToList();}But I could not get a connection Services is null.Please help how to get connected. Thanks
This connector method exposed the PAT in cleartext. If I share the Excel spreadsheet, the user can discover my PAT and query other company tables. They would need to know different table and base IDs. If my computer storage gets compromised, the hacker will get access to this PAT. Is there a better way to authenticate than using a PAT as a parameter?I do see a method in data source settings of query editor (PowerBI or Excel) called Web API but Airtable has deprecated its use.https://support.airtable.com/docs/visualizing-airtable-records-in-microsoft-power-bi-power-query
Hi all,I have a question about exactly when an 'update' change type notification would be sent via Airtable new Webhooks API.For example, say I'm writing some text into a 'Single Line Text' or 'Long Text' field, will my webhook subscription for 'update' notifications be called multiple times as the text is being entered, or will it debounce and wait some x number of seconds after I've stopped typing?In the documentation for webhook notification delivery, it states:If multiple changes occur in rapid succession, then we may generate only a single notification for them.Does typing text into a field, at a normal typing speed, fall into the category of 'rapid succession'?
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.