Airtable
Create, find, update, and delete records in Airtable bases.
On this page
- Connect
- Call it from a workflow
- Actions (15)
- airtable_create_record
- airtable_delete_record
- airtable_find_record
- airtable_update_record
- airtable_add_comment_to_record
- airtable_clean_record
- airtable_create_base
- airtable_create_table
- airtable_find_base
- airtable_find_table
- airtable_find_table_by_id
- airtable_get_base_schema
- airtable_get_record_by_id
- airtable_upload_file_to_column
- custom_api_call
- Details
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("airtable", "airtable_create_record", {
"base": "<base>",
"tableId": "<tableId>",
"fields": {}
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Airtable answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "airtable-airtable-create-record",
name: "Airtable: Create Airtable Record",
description: "Calls Airtable when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("airtable", {
"action": "airtable_create_record",
"base": "<base>",
"tableId": "<tableId>",
"fields": {}
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/airtable/airtable_create_record" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"base":"<base>","tableId":"<tableId>","fields":{}}}'Actions
airtable_create_recordin catalog
Create Airtable Record. Adds a record into an airtable
Also accepted as create_record.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
fieldsrequired | object (depends on other props) | Table |
airtable_delete_recordin catalog
Delete Airtable Record. Deletes a record in airtable
Also accepted as delete_record.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
recordIdrequired | text | The ID of the record. |
airtable_find_recordin catalog
Find Airtable Record. Find a record in airtable
Also accepted as find_record.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
searchFieldrequired | id (picked from your account) | Search Field |
searchValuerequired | text | Search Value |
limitToViewoptional | id (picked from your account) | View |
airtable_update_recordin catalog
Update Airtable Record. Update a record in airtable
Also accepted as update_record.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
recordIdrequired | text | The ID of the record. |
fieldsrequired | object (depends on other props) | Table |
airtable_add_comment_to_record
Add Comment to Record. Adds a comment to an existing record.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
recordIdrequired | text | The ID of the record. |
textrequired | long text | The content of the comment. To mention a user, use the format `@[userId]` or `@[userEmail]`. |
parentCommentIdoptional | text | Optional. The ID of a parent comment to create a threaded reply. |
airtable_clean_record
Clean Record. Clears fields in a record. Empty values will clear the corresponding fields.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
recordIdrequired | text | The ID of the record. |
fieldsrequired | object (depends on other props) | Table |
airtable_create_base
Create Base. Create a new base with a specified table structure.
| Input | Type | Description |
|---|---|---|
workspaceIdrequired | id (picked from your account) | Workspace |
namerequired | text | The name for the new base. |
tablesrequired | JSON | Define the tables for the new base. Use the default value as a template. The first field for each table will be its primary field. |
airtable_create_table
Create Table. Create a new table in an existing base.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
namerequired | text | The name for the new table. |
descriptionoptional | long text | An optional description for the new table. |
fieldsrequired | JSON | A JSON array of fields for the new table. The first field in the array will become the primary field. |
airtable_find_base
Find Base. Find a base by its name or a keyword.
| Input | Type | Description |
|---|---|---|
baseNamerequired | text | The name or keyword to search for within your base names. |
airtable_find_table
Find Table. Find a table in a given base by its name.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableNamerequired | text | The exact name of the table you want to find. |
airtable_find_table_by_id
Find Table by ID. Get a table's details and schema using its ID.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
airtable_get_base_schema
Get Base Schema. Retrieve the schema for a specific base, including all its tables and fields.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
airtable_get_record_by_id
Get Record by ID. Retrieve a single record from a table by its unique ID.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
recordIdrequired | id (picked from your account) | Record |
airtable_upload_file_to_column
Upload File to Column. Uploads a file to attachment type column.
| Input | Type | Description |
|---|---|---|
baserequired | id (picked from your account) | Base |
tableIdrequired | id (picked from your account) | Table |
attachment_columnrequired | id (picked from your account) | Attachment Column |
recordIdrequired | text | The ID of the record to which you want to upload the file. |
filerequired | file | The file to be uploaded, which can be provided either as a public file URL or in Base64 encoded format. |
file_content_typerequired | text | Specifies the MIME type of the file being uploaded (e.g., 'image/png', 'application/pdf'). |
filenameoptional | text | The name of the file as it should appear after upload. |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
Details
- Id
airtable- Category
- Productivity
- Tags
- database, spreadsheet, nocode, records
- Package
@activepieces/piece-airtable@0.6.6- Tier
- Built in