How to use the Airtable Plugin with CRUD
This note enables seamless integration with an Airtable spreadsheet. 👉 Insure to install the Airtable plugin
Create and save your personal token
Create Token
Scopes:
data.records:read
data.records:write
schema.bases:read
schema.bases:write
Access:
Your workspace
Create a new Table
Info: The Airtable URL is composed like below:
https://airtable.com/BASE/TABLE/VIEW
https://airtable.com/appnXXXX/tblXXXX/viwXXX
Copy your Airtable infos in the block below
const BASE= "appnXXXX";
const TOKEN = "XXXXXXXX";
const TABLE = "tblXXX";
Create a Table Field types documentation: Field-model
const AirtableApi = require("./airtable-api.js");
const data = {
"name": "Purchases",
"description": "List of customers for downloadable content",
"fields": [
{"name": "Email", "type": "email"},
{"name": "purchaseDate", "options": {"dateFormat":{"format":"YYYY-MM-DD", "name":"iso"}}, "type": "date"},
{"name": "nbrOfDownload", "options": {"precision":0}, "type": "number"},
{"name": "version", "options": {"precision":0}, "type": "number"}
]
}
const airtable = new AirtableApi(TOKEN, BASE);
printJSON(await airtable.createTable(data));
List records
const AirtableApi = require("./airtable-api.js");
const airtable = new AirtableApi(TOKEN, BASE);
const result = await airtable.listRecords(TABLE, 100, 0);
//const result = await airtable.listRecordsSorted(TABLE, 100, 0, "purchaseDate");
printJSON(result);
Search a record Formula Documentation: formula-field-reference
const AirtableApi = require("./airtable-api.js");
const airtable = new AirtableApi(TOKEN, BASE);
const result = await airtable.searchRecord(TABLE, 'SEARCH(SUBSTITUTE("usermail@gmail.com","+","%2B"), {email})');
printJSON(result);
Create a new record
const AirtableApi = require("./airtable-api.js");
const airtable = new AirtableApi(TOKEN, BASE);
const creationDate = new Date().toISOString().split('T')[0];
const data = {
"records": [
{
"fields": {
"Email": "usermail@gmail.com",
"purchaseDate": creationDate,
"nbrOfDownload": 0,
"version": 1
}
}
]
}
const result = await airtable.createRecord(TABLE, data);
printJSON(result);
Update a record
const AirtableApi = require("./airtable-api.js");
const airtable = new AirtableApi(TOKEN, BASE);
const RECORD = "rech8grvSTiksocGa"; // recordID to change
const data = {
"fields": {
"nbrOfDownload": 1
}
}
const result = await airtable.updateRecord(TABLE, RECORD, data);
printJSON(result);