Need development and API help? Ask your questions here!
Recently active
I am trying to sync AirTable data to HubSpot. However, I do not understand the "Last Modified Time" field requirement by HubSpot. I created a Last modified time field in my AirTable base, but it still isn't working. Have anyone experienced these issues?
Hello and thank you for everyone I have api documentation from a Delivery Company and I would like to get shipping quote to our airtableThat’s what I got from themhttps://api.aitworldwide.comif anyone have idea I would love to know thank you 🙏
The Customer Rewards Extension Management codeunit encapsulates most of the logic and functionality that is required for the Customer Rewards extension. This codeunit contains examples of how you can use events to react to specific actions or behavior that occurs within your extension.This extension includes a requirement to make a call to an external service or API to validate activation codes that are entered by the user. Typically, you would complete this verification by defining procedures that take in the activation code and then make calls to the API. Instead of using that approach, you can use events in AL.To create a new codeunit in your project, create a new file with the name CustomerRewardsExtMgt.Codeunit.al.Next, add the following code to the codeunit:al-languageCopy codeunit 50101 "Customer Rewards Ext. Mgt" { EventSubscriberInstance = StaticAutomatic; // Determines if the extension is activated procedure IsCustomerRewardsActivated(): Boolean; v
Hey!I am trying to update a record based on the user's id, currently, I have this code but for some reason it errors saying: TypeError: Invalid arguments passed to table.updateRecordAsync(recordOrRecordId, fields): • recordOrRecordId → recordOrRecordId should be a Record, not a number (5) or recordOrRecordId should be a string, not a number (5)Basically I am trying to update the field URL for the user based off their user id, the text I want in the field URL is from the "strHash" stringlet table = base.getTable("Participant"); let record_id = inputConfig.record_id; await table.updateRecordAsync(record_id, { "URL": strHash })
Hi, I want to update the choices a singleSelect field has without adding a new record.I tried this approach, but that yields the following errorTypeError: Cannot add property 2, object is not extensibleHere is the relevant code (MtypeName gets its value from a singleLineText field)let MtypeName = Mtype.getCellValueAsString("Meeting Type") let Types = MeetingsTable.getField("Meeting Type") Types.options.choices.push({name: MtypeName}) I this possible without residing to API calls?If this is only possible using the Rest API, I suppose I cannot use this without providing the authentication details, right ?
I've been submitting tests for me event form however there is no restriction on being able to put the end date earlier than the start date. Does anyone know how I can remedy this?Thank you.
Hi there Airtablers, I’m using Airtable + MiniExtensions to do a little CSV uploading and processing, and I need to add client approval functionality. This would be via a PDF emailed back to them once a list is ‘approved’ via a limited write-access version of my base via MiniExtensions. Could someone please help me with some code in a code block, along the lines of… if CHECKBOX is ticked --> create PDF in PAGE DESIGNER, then save PDF somewhere useful afterwards. Any help very much appreciated, Airtable wizards! Thanks so much in advance.
Hey folks,We are implementing Airtable OAuth integration, and we are getting the following error: You have reached the maximum access authorizations for this integration. You cannot authorize this integration again until you revoke at least one of the authorizations Is there public documentation and explanation of this error? --Artur
It is impossible to communicate with the support team because requests can not be sent. Even though your API does not work, and I do not have any channel to communicate with
I’m using your API to upload attachments.While simple requests work fine, when I try to send real files, the API responds with a 404 error. This makes it difficult to debug the issue.
Hello I’ve not been able to find documentation on whether it is possible to obtain the schema of an existing base, other than the one that is autogenerated in the form of online documentation. I intend to use this Schema to auto generate language bindings for specific bases; while code changes may still be required in the case of statically type languages one has to deal with updating the data structs that allow use to enforce type-safety and the specific code that use the endpoints. It’d be ideal if the API for each base conformed to something like Swagger 2.0 Best, Tristian
I tried posting this question yesterday but now I can't find the post so it looks like it didn't actually get created so I'm trying again.I've been tasked with creating an interface to our AirTable data using an API developed by Brightvine (Brightvine Data Link). I can get back all the data using the API interface but I need to be able to pass in the last date the process ran on our end and get only those rows created since the last run date/time. The BVDL gives me a place to enter URL parameters and I've tried using the "filterByFormula" option but I keep getting an invalid formula error. The BVDL gives me access to the last run date/time in a couple of different formats when creating a parameter.Any suggestions will be greatly appreciated.Thanks,Ray Porter
Use Case: You have a table of assets (library books, conference rooms, etc.) that you want people to reserve, but don’t want people to be able to reserve an individual asset at the same time it has already been reserved. Solution: No-Conflict Asset Reservations script by Kamille. This script allows you to schedule a new asset reservation in a form-like interface by setting a date range, then selecting from a list of assets which are un-reserved for that time period. Potential Users: Event Planners, Inventory Managers, Librarians, etc. Demo: drive.google.com No-Conflict Asset Reservations - Demo Video.mov (video) Google Drive file. Special shoutout to @Jeremy_Oglesby for his wonderful Detect Scheduling Conflicts script, which inspired me to make my own script. Using both scripts together, I think Airtable users will never have to worry about double-booking an asset again! Instructions: This script includes a “variables” section to
Hi allI've been working on SAP Integration Suite for connecting to airtable and perform CRUD operations. I've created a integration flow for PATCH request in my suite and wanted to test it through POSTMAN by hitting the endpoint of PATCH iflow. The issue here is that even though i'm sending my json payload in the format of airtable PATCH request postman is throwing 500 error.My table in airtableNote that EmpID is also Single Line Text hereBelow are my configurations of the integration flow i've created to perform a PATCH operation through POSTMAN.Json payload i'm sending through postman to suite{ "id": "rec6jjMo9lBFpfI62", "fields": { "Location": "India", "EmpID": "4", "Name": "Tester", "D
With a correct budgeting process, companies can benefit from forecasting and use financial insights to compare actuals against allocated budget. You can use the Budgeting module in Finance for basic budgeting, budget planning, and budget control.After a budget is established and approved in Finance, you can convert the budget plan to a budget register entry. Budget register entries provide tools for maintaining the budget and for keeping amounts traceable through budget codes.Budget register entries let you revise original budgets, perform transfers, and carry forward budget amounts from the previous year. Based on the established budget, a company can enable budget control. The level of control depends on the organizational culture and the organization's level of maturity.Finance includes a budget control framework that lets the company's management select either hard control (which prevents postings that would go over the budget) or soft control (where users are warned that they will
By asking questions and gathering customer requirements, you can plan a chart of accounts that fits the customer's needs. In many cases, the customer chooses to bring in their existing chart of accounts from the legacy system into Dynamics 365 Finance. If this is the case, you need the source data that you create by extracting data or by exporting from the legacy system in a format, such as CSV or Microsoft Excel.Then, after you cleanse and restructure the chart of accounts according to what the customer wants, you can use the Data management workspace to import the data to Finance.For more information, see Migrate data and go live with finance and operations apps.The following questions are typical examples of what you can ask when interviewing personnel in your customer's finance department:What degree of specification is needed?How should the chart of accounts be structured?Have external accountants offered suggestions about the structure of the chart of accounts? Doe
Hey, I’m a newbie with JavaScript so this might be obvious … I need a delay(ms) method to slow down the script after 5 API calls (limit 5/min.). Problem is all the JavaScript help on the intertube points to the setTimeout() method of the Window object. But it appears that Window is not instantiated inside the Airtable code block, therefore, no setTimeout() method. What’s a good workaround for this? What might I be missing - other methods? Thanks David
Hi all,I'm using:Airtable as the main databaseFillout connected to Airtable to get responses from users (about 250 fields)Softr as front-end to get list of filtered records, get record detail, and buttons to open Fillout form or start an automation (basically change the status field to be used as trigger to n8n)n8n for automating the data processing (mostly to generate PDF using PDFMonkey, I received data from Airtable in the trigger and just change the status field at the end)My understanding (that was also confirmed by the support chatbot) is that:getting a list of records in Softr = 1 API call (I have only 8 records)getting a record detail in Softr = 1 API callone response in Fillout = 1 API call (maybe 2 or 3 as there is a lot of fields)automation trigger = 1 API callchange the status from automation = 1 API call (changing just one field)etc.If I test the solution - open list of records in Softr, get record detail, open Fillout, fill one response, start automation in n8n and finish
Hello everybody,I am experiencing issues running an automation script. Basically, I have created an automation that sends information to a webhook link. My issue arises during the step where the information is sent to the webhook link—I am encountering challenges here. I created one variable, which I then implemented in the code using the configuration provided by Airtable, but it does not work as expected.What happens is that if I run the same script without the variable, it works, eventhood i use thes same script for the variables (see attached photo). To sum up: it’s the same script in both scenarios. When the variable is present in the left column, the script does not work. However, when the variable is not present, the script functions correctly.
I want to link Apollo to Airtable so I can people search from within my base.I got the Apollo organization data working with the code below to fetch company details:let apiToken = 'API KEY HERE'; let table = base.getTable('TABLE NAME HERE'); let { records } = await table.selectRecordsAsync(); console.log(records); for (let record of records) { let domain = record.getCellValue('Domain'); let response = await remoteFetchAsync(`https://api.apollo.io/v1/organizations/enrich?domain=${domain}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Cache-Control': 'no-cache', 'X-Api-Key': apiToken } }); let data = await response.json(); let organization = data.organization; await table.updateRecordAsync(record.id, { 'Company Name': organization.name, 'Linkedin URL': organization.linkedin_url, 'Address': organization.street_address, 'City': organization.city,
Hi guys, I don’t know if the title is clear. So here’s some context. I am currently using Airtable as a CRM. Thus, I have 3 important Tables : Leads, Unpaid Leads and Clients. As of now, people can pre-subscribe to my service (not open yet). When filling the form, they will go to “Leads”. Once the service will open, I will manually validate them to send them a form for Subscription. If they fill the form, they will go to “Unpaid Leads”. If they do not, they will stay in Leads and receive a followup at D+3. If they do fill the subscription form, I’d like to erase them from “Leads” in order not to follow up with them if not needed. Do you know if there is a script for that ? Or anyway to work around it ? If there isn’t, is there a script that can help me update the status in the 1st Table when a form is submitted in the 2nd one ? PS: FI, I first wanted to keep everything in the same Table ‘Leads’ until they became clients but I need more info between pre-sub. and sub. and I couldn’t fin
Hello Airtable people!I am trying to use the Rest API through a python script to create a subcategories table with a multipleRecordLinks field that links to a category table. I am having the toughest time trying to create this field and decipher the error messages I am getting. I am hoping someone on this community can help me.My first attempt looked something like this:{"description": "A list of all of the subcategories","fields": [{"name": "Category","options": {"linkedTableId": "tblPyvCqwd50kh7P2","inverseLinkFieldId": "flduKctYyZ1ckgVxR","isReversed": false,"prefersSingleRecordLink" : true},"type": "multipleRecordLinks"},{"description": "Name of the subcategory","name": "Subcategory Name","type": "singleLineText"},{"name": "Display Color","type": "singleLineText"}],"name": "SubCategories"}And I get this error message saying that options that I've included are not included:{'error': {'message': 'Invalid options for SubCategories.Category: Failed ''schema validation: inverseLinkField
When you are exporting an attachment value from the API the JSON object has multiple properties: url, width, height, etc. We have made it possible to distill the JSON down on our platform, https://www.csvgetter.com.This means, if you'd like just want image URLs in an Airtable CSV export, you can do it quite easily now. Check out this brief video demo of how it works:https://youtu.be/4IvIj0ir-BY
I've seen this question, but not the type of answer I'm hoping for. A CURL example is a great for me to translate the request. Similar to the CURL examples in the docs for List Records, it looks like I should be able to request records 101-200 using the offset value returned in the original request. The docs say it's a Query, therefore: ...?offset=itrvDOnB9cbRDnn63/rec1VA0JPORC2S9Zz It's not working. I haven't inspected the returned headers yet. So the questions:-- should the request be RAW or POST?--should/could the request be a JSON payload instead of querystring params? I need to retrieve thousands of records. My follow up question for data from a different table, USING JSON Payloads can I somehow filter fields? There are many fields I really don't want to process on my end.Thanks,ScottIDS PS: I plan on using POSTMAN for testing.
According to the API docs, it should be possible to set a rollup field using the REST API.However, if I send this:{ "name": "Total Points", "description": "Automatically calculated total points for each user", "type": "rollup", "options": { "fieldId": "fld...", // Field ID of a "Points" field in a Points table "linkedTableId": "tbl...", // ID of the Points table "aggregation": "SUM" } }I am getting this error:{ "error": { "type": "UNSUPPORTED_FIELD_TYPE_FOR_CREATE", "message": "Invalid options for Leaderboard.Total Points: Creating rollup fields is not supported at this time" } }I asked ChatGPT and it tells me that rollup fields cannot be created using the API, despite the API docs claiming otherwise. Is this true, or am I doing something wrong here?(Setting up the rollup field using the UI works just fine.)
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.