Prompt is an array of strings and field references. All referenced field ids
Field options write format
Creating or updating AI_TEXT fields is not supported.
AUTO_NUMBER
"autoNumber"
Automatically incremented unique counter for each record.
Cell read format
number
Cell write format
n/a
Field options read format
n/a
Field options write format
Creating or updating AUTO_NUMBER fields is not supported.
BARCODE
"barcode"
Use the Airtable iOS or Android app to scan barcodes.
Cell read format
{
// the text value of the barcode
text: string,
// the type of barcode
type?: string,
}
Cell write format
n/a
Field options
n/a
BUTTON
"button"
A button that can be clicked from the Airtable UI to open a URL or open a block.
You cannot currently programmatically interact with a button field from a block, but you can
configure your block to perform a certain action when it's opened from a button field: see
useRecordActionData for details.
Cell read format
{
// The label of the button
label: string,
// URL the button opens, or URL of the block that the button opens.
// Null when the URL formula has become invalid.
url: string |null,
}
Cell write format
n/a
Field options read format
n/a
Field options write format
Creating or updating BUTTON fields is not supported.
CHECKBOX
"checkbox"
A checkbox.
This field is "true" when checked and "null" when unchecked.
Cell read format
true|null
You can write to the cell with "false", but the read value will be still be "null"
(unchecked).
Bases on a free or plus plan are limited to using the 'check' icon and 'greenBright' color.
COUNT
"count"
Count the number of linked records.
Cell read format
number
Cell write format
n/a
Field options read format
{
// is the field currently valid (e.g. false if the linked record
// field has been changed to a different field type)
isValid: boolean,
// the linked record field in this table that we're counting
recordLinkFieldId:FieldId,
}
Field options write format
Creating or updating COUNT fields is not supported.
CREATED_BY
"createdBy"
The collaborator who created a record.
The cell value format is the same as the SINGLE_COLLABORATOR field, without the ability to
write to the cell value.
Cell read format
{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}
Cell write format
n/a
Field options read format
{
choices:Array<{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}>,
}
Field options write format
Creating or updating CREATED_BY fields is not supported.
CREATED_TIME
"createdTime"
The time the record was created in UTC.
When reading from a "Created time" field, the cell value will always be an
ISO 8601 formatted date time.
(Field options specify how it's displayed in the UI.)
Cell read format
string
Cell write format
n/a
Field options read format
{
result:{
type:'date'|'dateTime',
// See DATE and DATE_TIME for detailed field options
options:DateOrDateTimeFieldOptions,
},
}
Field options write format
Creating or updating CREATED_TIME fields is not supported.
CURRENCY
"currency"
An amount of a currency.
Cell format
number
Field options
{
precision: number,// from 0 to 7 inclusive
symbol: string,
}
DATE
"date"
A date.
When reading from and writing to a date field, the cell value will always be an
ISO 8601 formatted date. (Field
options specify how it's formatted in the main Airtable UI - format can be used with
moment.js to match that.)
The date format string follows the moment.js structure documented
here
Cell read format
string
Cell write format
Date| string
Field options read format
{
dateFormat:
|{name:'local',format:'l'}
|{name:'friendly',format:'LL'}
|{name:'us',format:'M/D/YYYY'}
|{name:'european',format:'D/M/YYYY'}
|{name:'iso',format:'YYYY-MM-DD'}
}
Field options write format
{
dateFormat:
// Format is optional, but must match name if provided.
|{name:'local', format?:'l'}
|{name:'friendly', format?:'LL'}
|{name:'us', format?:'M/D/YYYY'}
|{name:'european', format?:'D/M/YYYY'}
|{name:'iso', format?:'YYYY-MM-DD'}
}
DATE_TIME
"dateTime"
A date field configured to also include a time.
When reading from and writing to a date field, the cell value will always be an
ISO 8601 formatted date. (Field
options specify how it's formatted in the main Airtable UI - format can be used with
moment.js to match that.)
The date and time format strings follow the moment.js structure documented
here
Cell read format
string
Cell write format
Date| string
For a dateTime field configured with a non utc or client time zone like America/Los_Angeles,
ambiguous string inputs like "2020-09-05T07:00:00" and "2020-09-08" will be interpreted according to timeZone of the field instead of utc, and
nonambiguous string inputs with zone offset like "2020-09-05T07:00:00.000Z" and "2020-09-08T00:00:00-07:00" will be interpreted as the underlying timestamp.
Shows the name of the source that a record is synced from. This field is only available on
synced tables.
Cell read format
{
id: string,
name: string,
color?:Color
}
Cell write format
n/a
Field options read format
{
choices:Array<{
id: string,
name: string,
color?:[Color](/api/Color),// Color is not provided when field coloring is disabled.
}>,
}
Every choice represents a sync source, and choices are added or removed automatically as
sync sources are added or removed. Choice names and colors are user-configurable.
Field options write format
Creating or updating EXTERNAL_SYNC_SOURCE fields is not supported.
FORMULA
"formula"
Compute a value in each record based on other fields in the same record.
Cell read format
Check options.result to know the resulting field type.
any
Cell write format
n/a
Field options read format
{
// false if the formula contains an error
isValid: boolean,
// the other fields in the record that are used in the formula
referencedFieldIds:Array<FieldId>,
// the resulting field type and options returned by the formula
result: {
// the field type of the formula result
type: string,
// that types options
options?: any,
},
}
Field options write format
Creating or updating FORMULA fields is not supported.
LAST_MODIFIED_BY
"lastModifiedBy"
Shows the last collaborator who most recently modified any editable field or just in specific
editable fields.
The cell value format is the same as the SINGLE_COLLABORATOR field, without the ability to
write to the cell value.
Cell read format
{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}
Cell write format
n/a
Field options read format
{
referencedFieldIds:Array<FieldId>,
choices: Array<{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}>,
}
Field options write format
Creating or updating LAST_MODIFIED_BY fields is not supported.
LAST_MODIFIED_TIME
"lastModifiedTime"
Shows the date and time that a record was most recently modified in any editable field or
just in specific editable fields.
When reading from a "Last modified time" field, the cell value will always be an
ISO 8601 formatted date time.
(Field options specify how it's displayed in the UI.)
Cell read format
string
Cell write format
n/a
Field options read format
{
// false if the formula contains an error
isValid: boolean,
// the fields to check the last modified time of
referencedFieldIds:Array<FieldId>,
// the cell value result type
result: {
type:'date'|'dateTime',
// See DATE and DATE_TIME for detailed field options
options:DateOrDateTimeFieldOptions,
},
}
Field options write format
Creating or updating LAST_MODIFIED_TIME fields is not supported.
MULTILINE_TEXT
"multilineText"
A long text field that can span multiple lines. May contain "mention tokens",
e.g. <airtable:mention id="menE1i9oBaGX3DseR">@Alex</airtable:mention>
Cell format
string
Field options
n/a
MULTIPLE_ATTACHMENTS
"multipleAttachments"
Attachments allow you to add images, documents, or other files which can then be viewed or downloaded.
When updating an existing attachment cell value, the specified array will
overwrite the current cell value. If you want to add a new attachment without
deleting the current attachments, you can spread the current cell value like so:
Similarly, you can clear the current cell value by passing an empty array, or
remove specific attachments by passing a filtered array of the current cell
value.
Note: when you pass an existing attachment, you must pass the full attachment
object. New attachments only require the url property. You can optionally
pass the `filename` property to give it a readable name.
Additionally, the Airtable generated attachment URLs do not currently expire,
but this will change in the future. If you want to persist the attachments, we
recommend downloading them instead of saving the URL. Before this change is
rolled out, we will post a more detailed deprecation timeline.
Cell read format
Array<{
// unique attachment id
id: string,
// url, e.g. "https://dl.airtable.com/foo.jpg"
url: string,
// filename, e.g. "foo.jpg"
filename: string,
// file size, in bytes
size?: number,
// content type, e.g. "image/jpeg"
type?: string,
// thumbnails if available
thumbnails?:{
small?:{
url: string,
width: number,
height: number,
},
large?:{
url: string,
width: number,
height: number,
},
full?:{
url: string,
width: number,
height: number,
},
},
}>
Cell write format
Array<
// New attachment format
{url: string, filename?: string}||
// Pre-existing attachments use cell read format specified above
{...}
>
For pre-existing attachments, pass the object read from the cell value.
You cannot change any properties of pre-existing attachments.
Field options read format
{
// Whether attachments are rendered in the reverse order from the cell value in the
// Airtable UI (i.e. most recent first)
// You generally do not need to rely on this option.
isReversed: boolean,
}
Field options write format
N/A
Options are not required when creating a MULTIPLE_ATTACHMENTS field, and updating options
is not supported.
MULTIPLE_COLLABORATORS
"multipleCollaborators"
A collaborator field lets you add collaborators to your records. Collaborators can optionally
be notified when they're added. A multiple collaborator field has been configured to
reference any number of user or user group collaborators.
Note: Adding user groups to multiple collaborator fields is an upcoming enterprise feature currently
in beta, and will be generally released on August 29, 2022.
Similar to MULTIPLE_ATTACHMENTS and MULTIPLE_SELECTS, this array-type field
will override the current cell value when being updated. Be sure to spread the current
cell value if you want to keep the currently selected collaborators.
Cell read format
Array<{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}>
The currently selected user or user group collaborators. The email property is either the email
address of the user collaborator or an RFC 2822 mailbox-list (comma-separated list of emails) that
can be used to contact all members of the user group collaborator.
Cell write format
Array<{id: string }>
Field options read format
{
choices:Array<{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}>,
}
Field options write format
N/A
Options are not required when creating a MULTIPLE_COLLABORATORS field, and updating options
is not supported.
MULTIPLE_LOOKUP_VALUES
"multipleLookupValues"
Lookup a field on linked records.
Cell read format
Array<{
// the ID of the linked record this lookup value comes from
linkedRecordId:RecordId,
// the cell value of the lookup. the actual type depends on the field being looked up
value: unknown,
}>
Cell write format
n/a
Field options read format
{
// whether the lookup field is correctly configured
isValid: boolean,
// the linked record field in this table that this field is
// looking up
recordLinkFieldId:FieldId,
// the field in the foreign table that will be looked up on
// each linked record
fieldIdInLinkedTable:FieldId|null,
// the local field configuration for the foreign field being
Creating or updating MULTIPLE_LOOKUP_VALUES fields is not supported.
MULTIPLE_RECORD_LINKS
"multipleRecordLinks"
Link to another record.
When updating an existing linked record cell value, the specified array will
overwrite the current cell value. If you want to add a new linked record without
deleting the current linked records, you can spread the current cell value like so:
Similarly, you can clear the current cell value by passing an empty array, or
remove specific linked records by passing a filtered array of the current cell
value.
Cell read format
Array<{
id:RecordId,
name: string,
}>
The currently linked record IDs and their primary cell values from the linked table.
Cell write format
Array<{id:RecordId}>
Field options read format
{
// The ID of the table this field links to
linkedTableId:TableId,
// The ID of the field in the linked table that links back
// to this one
inverseLinkFieldId?:FieldId,
// The ID of the view in the linked table to use when showing
// a list of records to select from
viewIdForRecordSelection?:ViewId,
// Whether linked records are rendered in the reverse order from the cell value in the
// Airtable UI (i.e. most recent first)
// You generally do not need to rely on this option.
isReversed: boolean,
// Whether this field prefers to only have a single linked record. While this preference
// is enforced in the Airtable UI, it is possible for a field that prefers single linked
// records to have multiple record links (for example, via copy-and-paste or programmatic
// updates).
prefersSingleRecordLink: boolean,
}
Field options write format
{
// The ID of the table this field links to
linkedTableId:TableId,
// The ID of the view in the linked table to use when showing
// a list of records to select from
viewIdForRecordSelection?:ViewId,
// Note: prefersSingleRecordLink cannot be specified via programmatic field creation
// and will be false for fields created within an app
}
Creating MULTIPLE_RECORD_LINKS fields is supported but updating options for existing
MULTIPLE_RECORD_LINKS fields is not supported.
MULTIPLE_SELECTS
"multipleSelects"
Multiple select allows you to select one or more predefined choices from a dropdown
Similar to MULTIPLE_ATTACHMENTS and MULTIPLE_COLLABORATORS, this array-type field
will override the current cell value when being updated. Be sure to spread the current
cell value if you want to keep the currently selected choices.
Cell read format
Array<{
id: string,
name: string,
color?:Color,
}>
The currently selected choices.
Cell write format
Array<{id: string}|{name: string}>
Field options read format
{
choices:Array<{
id: string,
name: string,
color?:Color,
}>,
}
Field options write format
{
choices:Array<
// New choice format
{name: string, color?:Color}|
// Pre-existing choices use read format specified above
>,
}
The default behavior of calling updateOptionsAsync on a MULTIPLE_SELECTS field allows
choices to be added or updated, but not deleted. Therefore, you should pass all pre-existing
choices in choices (similar to updating a SINGLE_SELECT field type cell value). You can
do this by spreading the current choices:
If you want to allow choices to be deleted, you can pass an object with
enableSelectFieldChoiceDeletion: true as the second argument. By passing this argument,
any existing choices which are not passed again via choices will be deleted, and any
cells which referenced a now-deleted choice will be cleared.
A rollup allows you to summarize data from records that are linked to this table.
Cell read format
Check options.result to know the resulting field type.
any
Cell write format
n/a
Field options read format
{
// false if the formula contains an error
isValid: boolean,
// the linked record field in this table that this field is
// summarizing.
recordLinkFieldId:FieldId,
// the field id in the linked table that this field is summarizing.
fieldIdInLinkedTable:FieldId,
// the other fields in the record that are used in the formula
referencedFieldIds:Array<FieldId>,
// the resulting field type and options returned by the formula
result: {
// the field type of the formula result
type: string,
// that types options
options?: any,
},
}
Field options write format
Creating or updating ROLLUP fields is not supported.
SINGLE_COLLABORATOR
"singleCollaborator"
A collaborator field lets you add collaborators to your records. Collaborators can optionally
be notified when they're added. A single collaborator field has been configured to only
reference one user collaborator.
Cell read format
{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}
The currently selected user collaborator.
Cell write format
{id: string }
Field options read format
{
choices:Array<{
id: string,
email: string,
name?: string,
profilePicUrl?: string,
}>,
}
Field options write format
N/A
Options are not required when creating a SINGLE_COLLABORATOR field, and updating options is
not supported.
SINGLE_LINE_TEXT
"singleLineText"
A single line of text.
Cell format
string
Field options
n/a
SINGLE_SELECT
"singleSelect"
Single select allows you to select a single choice from predefined choices in a dropdown.
Cell read format
{
id: string,
name: string,
color?:Color
}
The currently selected choice.
Cell write format
{id: string }|{name: string }
Field options read format
{
choices:Array<{
id: string,
name: string,
color?:[Color](/api/Color),// Color is not provided when field coloring is disabled.
}>,
}
All colors except base colors from Color can be used as choice colors (e.g.
"blueBright", "blueDark1", "blueLight1", "blueLight2" are supported, "blue" is not)
Bases on a free or plus plan are limited to colors ending in "Light2".
Field options write format
{
choices:Array<
// New choice format
{name: string, color?:[Color](/api/Color)}|
// Pre-existing choices use read format specified above
>,
}
The default behavior of calling updateOptionsAsync on a SINGLE_SELECT field allows
choices to be added or updated, but not deleted. Therefore, you should pass all pre-existing
choices in choices (similar to updating a MULTIPLE_SELECTS field type cell value). You can
do this by spreading the current choices:
If you want to allow choices to be deleted, you can pass an object with
enableSelectFieldChoiceDeletion: true as the second argument. By passing this argument,
any existing choices which are not passed again via choices will be deleted, and any
cells which referenced a now-deleted choice will be cleared.