Cell values & field options
singleLineText
A single line of text.
Cell format
string
Field options
n/a
A valid email address (e.g. andrew@example.com).
Cell format
string
Field options
n/a
url
A valid URL (e.g. airtable.com or https://airtable.com/universe).
Cell format
string
Field options
n/a
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
number
A number.
The precision
option indicates the number of digits shown to the right of
the decimal point for this field.
Cell format
number
Field options
{precision: number, // from 0 to 8 inclusive}
percent
A percentage.
When reading from and writing to a "Percent" field, the cell value is a decimal. For example, 0 is 0%, 0.5 is 50%, and 1 is 100%.
Cell format
number
Field options
{precision: number, // from 0 to 8 inclusive}
currency
An amount of a currency.
Cell format
number
Field options
{precision: number, // from 0 to 7 inclusivesymbol: string,}
singleSelect
Single select allows you to select a single option from predefined options in a dropdown.
Cell read format
{id: string,name: string,color?: string,}
Cell write format
{ id: string } | { name: string }
Field options read format
{choices: Array<{id: string,name: string,color?: string,}>,}
Field options write format
{choices: Array<// New choice format| {name: string, color?: string}// Pre-existing choices use read format specified above| {id: string, name: string, color?: string}>}
The default behavior of calling updateOptionsAsync
on a "singleSelect"
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 "multipleSelects"
field type cell value). You can
do this by spreading the current choices:
const selectField = table.getField('My select field');await selectField.updateOptionsAsync({choices: [...selectField.options.choices,{name: 'My new choice'},],});
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.
const selectField = table.getField('My select field');await selectField.updateOptionsAsync({choices: selectField.options.choices.filter((choice) => choice.name !== 'Choice to delete'),},{enableSelectFieldChoiceDeletion: true},);
multipleSelects
Multiple select allows you to select one or more predefined options from a dropdown
Similar to multipleAttachments and multipleCollaborators, 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?: string,}>
The currently selected choices.
Cell write format
Array<{id: string} | {name: string}>
Field options read format
{choices: Array<{id: string,name: string,color?: string,}>,}
Field options write format
{choices: Array<// New choice format| {name: string, color?: string}// Pre-existing choices use read format specified above| {id: string, name: string, color?: string}>}
The default behavior of calling updateOptionsAsync
on a "multipleSelects"
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 "singleSelect"
field type cell value). You can
do this by spreading the current choices:
const multipleSelectField = table.getField('My multiple select field');await multipleSelectField.updateOptionsAsync({choices: [...multipleSelectField.options.choices,{name: 'My new choice'},],});
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.
const multipleSelectField = table.getField('My multiple select field');await multipleSelectField.updateOptionsAsync({choices: multipleSelectField.options.choices.filter((choice) => choice.name !== 'Choice to delete'),},{enableSelectFieldChoiceDeletion: true},);
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.
See 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
Options are not required when creating a "singleCollaborator"
field, and updating options is not supported
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 multipleAttachments and multipleSelects, 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.
See Collaborator.
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
Options are not required when creating a "multipleCollaborators"
field, and updating options is not supported
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:
let newForeignRecordIdToLink = 'recXXXXXXXXXXXXXX';myTable.updateRecordAsync(myRecord, {'myLinkedRecordField': [...myRecord.getCellValue('myLinkedRecordField'),{ id: newForeignRecordIdToLink }]})
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: string,name: string,}>
The currently linked record IDs and their primary cell values from the linked table in string format.
Cell write format
Array<{ id: string }>
Field options read format
{// The ID of the table this field links tolinkedTableId: string,// The ID of the field in the linked table that links back// to this oneinverseLinkFieldId?: string,// The ID of the view in the linked table to use when showing// a list of records to select fromviewIdForRecordSelection?: string,// 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 tolinkedTableId: TableId,// The ID of the view in the linked table to use when showing// a list of records to select fromviewIdForRecordSelection?: ViewId,// Note: prefersSingleRecordLink cannot be specified via programmatic field creation// and will be false for fields created within an app}
Creating "multipleRecordLinks"
fields is supported but updating options for
existing "multipleRecordLinks"
fields is not supported.
date
A date.
When reading from and writing to a date field, the cell value will always be an ISO 8601 formatted date.
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'}}
dateTime
A date field configured to also include a time.
When reading from and writing to a date time field, the cell value will always be an ISO 8601 formatted date time.
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 the timeZone
of the field, 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.
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'},timeFormat:| {name: '12hour', format: 'h:mma'}| {name: '24hour', format: 'HH:mm'},timeZone: 'utc' | 'client' | 'Africa/Abidjan' | 'Africa/Accra' | 'Africa/Addis_Ababa' | 'Africa/Algiers' | 'Africa/Asmara' | 'Africa/Bamako' | 'Africa/Bangui' | 'Africa/Banjul' | 'Africa/Bissau' | 'Africa/Blantyre' | 'Africa/Brazzaville' | 'Africa/Bujumbura' | 'Africa/Cairo' | 'Africa/Casablanca' | 'Africa/Ceuta' | 'Africa/Conakry' | 'Africa/Dakar' | 'Africa/Dar_es_Salaam' | 'Africa/Djibouti' | 'Africa/Douala' | 'Africa/El_Aaiun' | 'Africa/Freetown' | 'Africa/Gaborone' | 'Africa/Harare' | 'Africa/Johannesburg' | 'Africa/Juba' | 'Africa/Kampala' | 'Africa/Khartoum' | 'Africa/Kigali' | 'Africa/Kinshasa' | 'Africa/Lagos' | 'Africa/Libreville' | 'Africa/Lome' | 'Africa/Luanda' | 'Africa/Lubumbashi' | 'Africa/Lusaka' | 'Africa/Malabo' | 'Africa/Maputo' | 'Africa/Maseru' | 'Africa/Mbabane' | 'Africa/Mogadishu' | 'Africa/Monrovia' | 'Africa/Nairobi' | 'Africa/Ndjamena' | 'Africa/Niamey' | 'Africa/Nouakchott' | 'Africa/Ouagadougou' | 'Africa/Porto-Novo' | 'Africa/Sao_Tome' | 'Africa/Tripoli' | 'Africa/Tunis' | 'Africa/Windhoek' | 'America/Adak' | 'America/Anchorage' | 'America/Anguilla' | 'America/Antigua' | 'America/Araguaina' | 'America/Argentina/Buenos_Aires' | 'America/Argentina/Catamarca' | 'America/Argentina/Cordoba' | 'America/Argentina/Jujuy' | 'America/Argentina/La_Rioja' | 'America/Argentina/Mendoza' | 'America/Argentina/Rio_Gallegos' | 'America/Argentina/Salta' | 'America/Argentina/San_Juan' | 'America/Argentina/San_Luis' | 'America/Argentina/Tucuman' | 'America/Argentina/Ushuaia' | 'America/Aruba' | 'America/Asuncion' | 'America/Atikokan' | 'America/Bahia' | 'America/Bahia_Banderas' | 'America/Barbados' | 'America/Belem' | 'America/Belize' | 'America/Blanc-Sablon' | 'America/Boa_Vista' | 'America/Bogota' | 'America/Boise' | 'America/Cambridge_Bay' | 'America/Campo_Grande' | 'America/Cancun' | 'America/Caracas' | 'America/Cayenne' | 'America/Cayman' | 'America/Chicago' | 'America/Chihuahua' | 'America/Costa_Rica' | 'America/Creston' | 'America/Cuiaba' | 'America/Curacao' | 'America/Danmarkshavn' | 'America/Dawson' | 'America/Dawson_Creek' | 'America/Denver' | 'America/Detroit' | 'America/Dominica' | 'America/Edmonton' | 'America/Eirunepe' | 'America/El_Salvador' | 'America/Fort_Nelson' | 'America/Fortaleza' | 'America/Glace_Bay' | 'America/Godthab' | 'America/Goose_Bay' | 'America/Grand_Turk' | 'America/Grenada' | 'America/Guadeloupe' | 'America/Guatemala' | 'America/Guayaquil' | 'America/Guyana' | 'America/Halifax' | 'America/Havana' | 'America/Hermosillo' | 'America/Indiana/Indianapolis' | 'America/Indiana/Knox' | 'America/Indiana/Marengo' | 'America/Indiana/Petersburg' | 'America/Indiana/Tell_City' | 'America/Indiana/Vevay' | 'America/Indiana/Vincennes' | 'America/Indiana/Winamac' | 'America/Inuvik' | 'America/Iqaluit' | 'America/Jamaica' | 'America/Juneau' | 'America/Kentucky/Louisville' | 'America/Kentucky/Monticello' | 'America/Kralendijk' | 'America/La_Paz' | 'America/Lima' | 'America/Los_Angeles' | 'America/Lower_Princes' | 'America/Maceio' | 'America/Managua' | 'America/Manaus' | 'America/Marigot' | 'America/Martinique' | 'America/Matamoros' | 'America/Mazatlan' | 'America/Menominee' | 'America/Merida' | 'America/Metlakatla' | 'America/Mexico_City' | 'America/Miquelon' | 'America/Moncton' | 'America/Monterrey' | 'America/Montevideo' | 'America/Montserrat' | 'America/Nassau' | 'America/New_York' | 'America/Nipigon' | 'America/Nome' | 'America/Noronha' | 'America/North_Dakota/Beulah' | 'America/North_Dakota/Center' | 'America/North_Dakota/New_Salem' | 'America/Nuuk' | 'America/Ojinaga' | 'America/Panama' | 'America/Pangnirtung' | 'America/Paramaribo' | 'America/Phoenix' | 'America/Port-au-Prince' | 'America/Port_of_Spain' | 'America/Porto_Velho' | 'America/Puerto_Rico' | 'America/Punta_Arenas' | 'America/Rainy_River' | 'America/Rankin_Inlet' | 'America/Recife' | 'America/Regina' | 'America/Resolute' | 'America/Rio_Branco' | 'America/Santarem' | 'America/Santiago' | 'America/Santo_Domingo' | 'America/Sao_Paulo' | 'America/Scoresbysund' | 'America/Sitka' | 'America/St_Barthelemy' | 'America/St_Johns' | 'America/St_Kitts' | 'America/St_Lucia' | 'America/St_Thomas' | 'America/St_Vincent' | 'America/Swift_Current' | 'America/Tegucigalpa' | 'America/Thule' | 'America/Thunder_Bay' | 'America/Tijuana' | 'America/Toronto' | 'America/Tortola' | 'America/Vancouver' | 'America/Whitehorse' | 'America/Winnipeg' | 'America/Yakutat' | 'America/Yellowknife' | 'Antarctica/Casey' | 'Antarctica/Davis' | 'Antarctica/DumontDUrville' | 'Antarctica/Macquarie' | 'Antarctica/Mawson' | 'Antarctica/McMurdo' | 'Antarctica/Palmer' | 'Antarctica/Rothera' | 'Antarctica/Syowa' | 'Antarctica/Troll' | 'Antarctica/Vostok' | 'Arctic/Longyearbyen' | 'Asia/Aden' | 'Asia/Almaty' | 'Asia/Amman' | 'Asia/Anadyr' | 'Asia/Aqtau' | 'Asia/Aqtobe' | 'Asia/Ashgabat' | 'Asia/Atyrau' | 'Asia/Baghdad' | 'Asia/Bahrain' | 'Asia/Baku' | 'Asia/Bangkok' | 'Asia/Barnaul' | 'Asia/Beirut' | 'Asia/Bishkek' | 'Asia/Brunei' | 'Asia/Chita' | 'Asia/Choibalsan' | 'Asia/Colombo' | 'Asia/Damascus' | 'Asia/Dhaka' | 'Asia/Dili' | 'Asia/Dubai' | 'Asia/Dushanbe' | 'Asia/Famagusta' | 'Asia/Gaza' | 'Asia/Hebron' | 'Asia/Ho_Chi_Minh' | 'Asia/Hong_Kong' | 'Asia/Hovd' | 'Asia/Irkutsk' | 'Asia/Istanbul' | 'Asia/Jakarta' | 'Asia/Jayapura' | 'Asia/Jerusalem' | 'Asia/Kabul' | 'Asia/Kamchatka' | 'Asia/Karachi' | 'Asia/Kathmandu' | 'Asia/Khandyga' | 'Asia/Kolkata' | 'Asia/Krasnoyarsk' | 'Asia/Kuala_Lumpur' | 'Asia/Kuching' | 'Asia/Kuwait' | 'Asia/Macau' | 'Asia/Magadan' | 'Asia/Makassar' | 'Asia/Manila' | 'Asia/Muscat' | 'Asia/Nicosia' | 'Asia/Novokuznetsk' | 'Asia/Novosibirsk' | 'Asia/Omsk' | 'Asia/Oral' | 'Asia/Phnom_Penh' | 'Asia/Pontianak' | 'Asia/Pyongyang' | 'Asia/Qatar' | 'Asia/Qostanay' | 'Asia/Qyzylorda' | 'Asia/Rangoon' | 'Asia/Riyadh' | 'Asia/Sakhalin' | 'Asia/Samarkand' | 'Asia/Seoul' | 'Asia/Shanghai' | 'Asia/Singapore' | 'Asia/Srednekolymsk' | 'Asia/Taipei' | 'Asia/Tashkent' | 'Asia/Tbilisi' | 'Asia/Tehran' | 'Asia/Thimphu' | 'Asia/Tokyo' | 'Asia/Tomsk' | 'Asia/Ulaanbaatar' | 'Asia/Urumqi' | 'Asia/Ust-Nera' | 'Asia/Vientiane' | 'Asia/Vladivostok' | 'Asia/Yakutsk' | 'Asia/Yangon' | 'Asia/Yekaterinburg' | 'Asia/Yerevan' | 'Atlantic/Azores' | 'Atlantic/Bermuda' | 'Atlantic/Canary' | 'Atlantic/Cape_Verde' | 'Atlantic/Faroe' | 'Atlantic/Madeira' | 'Atlantic/Reykjavik' | 'Atlantic/South_Georgia' | 'Atlantic/St_Helena' | 'Atlantic/Stanley' | 'Australia/Adelaide' | 'Australia/Brisbane' | 'Australia/Broken_Hill' | 'Australia/Currie' | 'Australia/Darwin' | 'Australia/Eucla' | 'Australia/Hobart' | 'Australia/Lindeman' | 'Australia/Lord_Howe' | 'Australia/Melbourne' | 'Australia/Perth' | 'Australia/Sydney' | 'Europe/Amsterdam' | 'Europe/Andorra' | 'Europe/Astrakhan' | 'Europe/Athens' | 'Europe/Belgrade' | 'Europe/Berlin' | 'Europe/Bratislava' | 'Europe/Brussels' | 'Europe/Bucharest' | 'Europe/Budapest' | 'Europe/Busingen' | 'Europe/Chisinau' | 'Europe/Copenhagen' | 'Europe/Dublin' | 'Europe/Gibraltar' | 'Europe/Guernsey' | 'Europe/Helsinki' | 'Europe/Isle_of_Man' | 'Europe/Istanbul' | 'Europe/Jersey' | 'Europe/Kaliningrad' | 'Europe/Kiev' | 'Europe/Kirov' | 'Europe/Lisbon' | 'Europe/Ljubljana' | 'Europe/London' | 'Europe/Luxembourg' | 'Europe/Madrid' | 'Europe/Malta' | 'Europe/Mariehamn' | 'Europe/Minsk' | 'Europe/Monaco' | 'Europe/Moscow' | 'Europe/Nicosia' | 'Europe/Oslo' | 'Europe/Paris' | 'Europe/Podgorica' | 'Europe/Prague' | 'Europe/Riga' | 'Europe/Rome' | 'Europe/Samara' | 'Europe/San_Marino' | 'Europe/Sarajevo' | 'Europe/Saratov' | 'Europe/Simferopol' | 'Europe/Skopje' | 'Europe/Sofia' | 'Europe/Stockholm' | 'Europe/Tallinn' | 'Europe/Tirane' | 'Europe/Ulyanovsk' | 'Europe/Uzhgorod' | 'Europe/Vaduz' | 'Europe/Vatican' | 'Europe/Vienna' | 'Europe/Vilnius' | 'Europe/Volgograd' | 'Europe/Warsaw' | 'Europe/Zagreb' | 'Europe/Zaporozhye' | 'Europe/Zurich' | 'Indian/Antananarivo' | 'Indian/Chagos' | 'Indian/Christmas' | 'Indian/Cocos' | 'Indian/Comoro' | 'Indian/Kerguelen' | 'Indian/Mahe' | 'Indian/Maldives' | 'Indian/Mauritius' | 'Indian/Mayotte' | 'Indian/Reunion' | 'Pacific/Apia' | 'Pacific/Auckland' | 'Pacific/Bougainville' | 'Pacific/Chatham' | 'Pacific/Chuuk' | 'Pacific/Easter' | 'Pacific/Efate' | 'Pacific/Enderbury' | 'Pacific/Fakaofo' | 'Pacific/Fiji' | 'Pacific/Funafuti' | 'Pacific/Galapagos' | 'Pacific/Gambier' | 'Pacific/Guadalcanal' | 'Pacific/Guam' | 'Pacific/Honolulu' | 'Pacific/Kanton' | 'Pacific/Kiritimati' | 'Pacific/Kosrae' | 'Pacific/Kwajalein' | 'Pacific/Majuro' | 'Pacific/Marquesas' | 'Pacific/Midway' | 'Pacific/Nauru' | 'Pacific/Niue' | 'Pacific/Norfolk' | 'Pacific/Noumea' | 'Pacific/Pago_Pago' | 'Pacific/Palau' | 'Pacific/Pitcairn' | 'Pacific/Pohnpei' | 'Pacific/Port_Moresby' | 'Pacific/Rarotonga' | 'Pacific/Saipan' | 'Pacific/Tahiti' | 'Pacific/Tarawa' | 'Pacific/Tongatapu' | 'Pacific/Wake' | 'Pacific/Wallis',}
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'},timeFormat:// Format is optional, but must match name if provided.| {name: '12hour', format?: 'h:mma'}| {name: '24hour', format?: 'HH:mm'},timeZone: 'utc' | 'client' | 'Africa/Abidjan' | 'Africa/Accra' | 'Africa/Addis_Ababa' | 'Africa/Algiers' | 'Africa/Asmara' | 'Africa/Bamako' | 'Africa/Bangui' | 'Africa/Banjul' | 'Africa/Bissau' | 'Africa/Blantyre' | 'Africa/Brazzaville' | 'Africa/Bujumbura' | 'Africa/Cairo' | 'Africa/Casablanca' | 'Africa/Ceuta' | 'Africa/Conakry' | 'Africa/Dakar' | 'Africa/Dar_es_Salaam' | 'Africa/Djibouti' | 'Africa/Douala' | 'Africa/El_Aaiun' | 'Africa/Freetown' | 'Africa/Gaborone' | 'Africa/Harare' | 'Africa/Johannesburg' | 'Africa/Juba' | 'Africa/Kampala' | 'Africa/Khartoum' | 'Africa/Kigali' | 'Africa/Kinshasa' | 'Africa/Lagos' | 'Africa/Libreville' | 'Africa/Lome' | 'Africa/Luanda' | 'Africa/Lubumbashi' | 'Africa/Lusaka' | 'Africa/Malabo' | 'Africa/Maputo' | 'Africa/Maseru' | 'Africa/Mbabane' | 'Africa/Mogadishu' | 'Africa/Monrovia' | 'Africa/Nairobi' | 'Africa/Ndjamena' | 'Africa/Niamey' | 'Africa/Nouakchott' | 'Africa/Ouagadougou' | 'Africa/Porto-Novo' | 'Africa/Sao_Tome' | 'Africa/Tripoli' | 'Africa/Tunis' | 'Africa/Windhoek' | 'America/Adak' | 'America/Anchorage' | 'America/Anguilla' | 'America/Antigua' | 'America/Araguaina' | 'America/Argentina/Buenos_Aires' | 'America/Argentina/Catamarca' | 'America/Argentina/Cordoba' | 'America/Argentina/Jujuy' | 'America/Argentina/La_Rioja' | 'America/Argentina/Mendoza' | 'America/Argentina/Rio_Gallegos' | 'America/Argentina/Salta' | 'America/Argentina/San_Juan' | 'America/Argentina/San_Luis' | 'America/Argentina/Tucuman' | 'America/Argentina/Ushuaia' | 'America/Aruba' | 'America/Asuncion' | 'America/Atikokan' | 'America/Bahia' | 'America/Bahia_Banderas' | 'America/Barbados' | 'America/Belem' | 'America/Belize' | 'America/Blanc-Sablon' | 'America/Boa_Vista' | 'America/Bogota' | 'America/Boise' | 'America/Cambridge_Bay' | 'America/Campo_Grande' | 'America/Cancun' | 'America/Caracas' | 'America/Cayenne' | 'America/Cayman' | 'America/Chicago' | 'America/Chihuahua' | 'America/Costa_Rica' | 'America/Creston' | 'America/Cuiaba' | 'America/Curacao' | 'America/Danmarkshavn' | 'America/Dawson' | 'America/Dawson_Creek' | 'America/Denver' | 'America/Detroit' | 'America/Dominica' | 'America/Edmonton' | 'America/Eirunepe' | 'America/El_Salvador' | 'America/Fort_Nelson' | 'America/Fortaleza' | 'America/Glace_Bay' | 'America/Godthab' | 'America/Goose_Bay' | 'America/Grand_Turk' | 'America/Grenada' | 'America/Guadeloupe' | 'America/Guatemala' | 'America/Guayaquil' | 'America/Guyana' | 'America/Halifax' | 'America/Havana' | 'America/Hermosillo' | 'America/Indiana/Indianapolis' | 'America/Indiana/Knox' | 'America/Indiana/Marengo' | 'America/Indiana/Petersburg' | 'America/Indiana/Tell_City' | 'America/Indiana/Vevay' | 'America/Indiana/Vincennes' | 'America/Indiana/Winamac' | 'America/Inuvik' | 'America/Iqaluit' | 'America/Jamaica' | 'America/Juneau' | 'America/Kentucky/Louisville' | 'America/Kentucky/Monticello' | 'America/Kralendijk' | 'America/La_Paz' | 'America/Lima' | 'America/Los_Angeles' | 'America/Lower_Princes' | 'America/Maceio' | 'America/Managua' | 'America/Manaus' | 'America/Marigot' | 'America/Martinique' | 'America/Matamoros' | 'America/Mazatlan' | 'America/Menominee' | 'America/Merida' | 'America/Metlakatla' | 'America/Mexico_City' | 'America/Miquelon' | 'America/Moncton' | 'America/Monterrey' | 'America/Montevideo' | 'America/Montserrat' | 'America/Nassau' | 'America/New_York' | 'America/Nipigon' | 'America/Nome' | 'America/Noronha' | 'America/North_Dakota/Beulah' | 'America/North_Dakota/Center' | 'America/North_Dakota/New_Salem' | 'America/Nuuk' | 'America/Ojinaga' | 'America/Panama' | 'America/Pangnirtung' | 'America/Paramaribo' | 'America/Phoenix' | 'America/Port-au-Prince' | 'America/Port_of_Spain' | 'America/Porto_Velho' | 'America/Puerto_Rico' | 'America/Punta_Arenas' | 'America/Rainy_River' | 'America/Rankin_Inlet' | 'America/Recife' | 'America/Regina' | 'America/Resolute' | 'America/Rio_Branco' | 'America/Santarem' | 'America/Santiago' | 'America/Santo_Domingo' | 'America/Sao_Paulo' | 'America/Scoresbysund' | 'America/Sitka' | 'America/St_Barthelemy' | 'America/St_Johns' | 'America/St_Kitts' | 'America/St_Lucia' | 'America/St_Thomas' | 'America/St_Vincent' | 'America/Swift_Current' | 'America/Tegucigalpa' | 'America/Thule' | 'America/Thunder_Bay' | 'America/Tijuana' | 'America/Toronto' | 'America/Tortola' | 'America/Vancouver' | 'America/Whitehorse' | 'America/Winnipeg' | 'America/Yakutat' | 'America/Yellowknife' | 'Antarctica/Casey' | 'Antarctica/Davis' | 'Antarctica/DumontDUrville' | 'Antarctica/Macquarie' | 'Antarctica/Mawson' | 'Antarctica/McMurdo' | 'Antarctica/Palmer' | 'Antarctica/Rothera' | 'Antarctica/Syowa' | 'Antarctica/Troll' | 'Antarctica/Vostok' | 'Arctic/Longyearbyen' | 'Asia/Aden' | 'Asia/Almaty' | 'Asia/Amman' | 'Asia/Anadyr' | 'Asia/Aqtau' | 'Asia/Aqtobe' | 'Asia/Ashgabat' | 'Asia/Atyrau' | 'Asia/Baghdad' | 'Asia/Bahrain' | 'Asia/Baku' | 'Asia/Bangkok' | 'Asia/Barnaul' | 'Asia/Beirut' | 'Asia/Bishkek' | 'Asia/Brunei' | 'Asia/Chita' | 'Asia/Choibalsan' | 'Asia/Colombo' | 'Asia/Damascus' | 'Asia/Dhaka' | 'Asia/Dili' | 'Asia/Dubai' | 'Asia/Dushanbe' | 'Asia/Famagusta' | 'Asia/Gaza' | 'Asia/Hebron' | 'Asia/Ho_Chi_Minh' | 'Asia/Hong_Kong' | 'Asia/Hovd' | 'Asia/Irkutsk' | 'Asia/Istanbul' | 'Asia/Jakarta' | 'Asia/Jayapura' | 'Asia/Jerusalem' | 'Asia/Kabul' | 'Asia/Kamchatka' | 'Asia/Karachi' | 'Asia/Kathmandu' | 'Asia/Khandyga' | 'Asia/Kolkata' | 'Asia/Krasnoyarsk' | 'Asia/Kuala_Lumpur' | 'Asia/Kuching' | 'Asia/Kuwait' | 'Asia/Macau' | 'Asia/Magadan' | 'Asia/Makassar' | 'Asia/Manila' | 'Asia/Muscat' | 'Asia/Nicosia' | 'Asia/Novokuznetsk' | 'Asia/Novosibirsk' | 'Asia/Omsk' | 'Asia/Oral' | 'Asia/Phnom_Penh' | 'Asia/Pontianak' | 'Asia/Pyongyang' | 'Asia/Qatar' | 'Asia/Qostanay' | 'Asia/Qyzylorda' | 'Asia/Rangoon' | 'Asia/Riyadh' | 'Asia/Sakhalin' | 'Asia/Samarkand' | 'Asia/Seoul' | 'Asia/Shanghai' | 'Asia/Singapore' | 'Asia/Srednekolymsk' | 'Asia/Taipei' | 'Asia/Tashkent' | 'Asia/Tbilisi' | 'Asia/Tehran' | 'Asia/Thimphu' | 'Asia/Tokyo' | 'Asia/Tomsk' | 'Asia/Ulaanbaatar' | 'Asia/Urumqi' | 'Asia/Ust-Nera' | 'Asia/Vientiane' | 'Asia/Vladivostok' | 'Asia/Yakutsk' | 'Asia/Yangon' | 'Asia/Yekaterinburg' | 'Asia/Yerevan' | 'Atlantic/Azores' | 'Atlantic/Bermuda' | 'Atlantic/Canary' | 'Atlantic/Cape_Verde' | 'Atlantic/Faroe' | 'Atlantic/Madeira' | 'Atlantic/Reykjavik' | 'Atlantic/South_Georgia' | 'Atlantic/St_Helena' | 'Atlantic/Stanley' | 'Australia/Adelaide' | 'Australia/Brisbane' | 'Australia/Broken_Hill' | 'Australia/Currie' | 'Australia/Darwin' | 'Australia/Eucla' | 'Australia/Hobart' | 'Australia/Lindeman' | 'Australia/Lord_Howe' | 'Australia/Melbourne' | 'Australia/Perth' | 'Australia/Sydney' | 'Europe/Amsterdam' | 'Europe/Andorra' | 'Europe/Astrakhan' | 'Europe/Athens' | 'Europe/Belgrade' | 'Europe/Berlin' | 'Europe/Bratislava' | 'Europe/Brussels' | 'Europe/Bucharest' | 'Europe/Budapest' | 'Europe/Busingen' | 'Europe/Chisinau' | 'Europe/Copenhagen' | 'Europe/Dublin' | 'Europe/Gibraltar' | 'Europe/Guernsey' | 'Europe/Helsinki' | 'Europe/Isle_of_Man' | 'Europe/Istanbul' | 'Europe/Jersey' | 'Europe/Kaliningrad' | 'Europe/Kiev' | 'Europe/Kirov' | 'Europe/Lisbon' | 'Europe/Ljubljana' | 'Europe/London' | 'Europe/Luxembourg' | 'Europe/Madrid' | 'Europe/Malta' | 'Europe/Mariehamn' | 'Europe/Minsk' | 'Europe/Monaco' | 'Europe/Moscow' | 'Europe/Nicosia' | 'Europe/Oslo' | 'Europe/Paris' | 'Europe/Podgorica' | 'Europe/Prague' | 'Europe/Riga' | 'Europe/Rome' | 'Europe/Samara' | 'Europe/San_Marino' | 'Europe/Sarajevo' | 'Europe/Saratov' | 'Europe/Simferopol' | 'Europe/Skopje' | 'Europe/Sofia' | 'Europe/Stockholm' | 'Europe/Tallinn' | 'Europe/Tirane' | 'Europe/Ulyanovsk' | 'Europe/Uzhgorod' | 'Europe/Vaduz' | 'Europe/Vatican' | 'Europe/Vienna' | 'Europe/Vilnius' | 'Europe/Volgograd' | 'Europe/Warsaw' | 'Europe/Zagreb' | 'Europe/Zaporozhye' | 'Europe/Zurich' | 'Indian/Antananarivo' | 'Indian/Chagos' | 'Indian/Christmas' | 'Indian/Cocos' | 'Indian/Comoro' | 'Indian/Kerguelen' | 'Indian/Mahe' | 'Indian/Maldives' | 'Indian/Mauritius' | 'Indian/Mayotte' | 'Indian/Reunion' | 'Pacific/Apia' | 'Pacific/Auckland' | 'Pacific/Bougainville' | 'Pacific/Chatham' | 'Pacific/Chuuk' | 'Pacific/Easter' | 'Pacific/Efate' | 'Pacific/Enderbury' | 'Pacific/Fakaofo' | 'Pacific/Fiji' | 'Pacific/Funafuti' | 'Pacific/Galapagos' | 'Pacific/Gambier' | 'Pacific/Guadalcanal' | 'Pacific/Guam' | 'Pacific/Honolulu' | 'Pacific/Kanton' | 'Pacific/Kiritimati' | 'Pacific/Kosrae' | 'Pacific/Kwajalein' | 'Pacific/Majuro' | 'Pacific/Marquesas' | 'Pacific/Midway' | 'Pacific/Nauru' | 'Pacific/Niue' | 'Pacific/Norfolk' | 'Pacific/Noumea' | 'Pacific/Pago_Pago' | 'Pacific/Palau' | 'Pacific/Pitcairn' | 'Pacific/Pohnpei' | 'Pacific/Port_Moresby' | 'Pacific/Rarotonga' | 'Pacific/Saipan' | 'Pacific/Tahiti' | 'Pacific/Tarawa' | 'Pacific/Tongatapu' | 'Pacific/Wake' | 'Pacific/Wallis',}
phoneNumber
A telephone number (e.g. (415) 555-9876).
Cell format
string
Field options
n/a
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:
let newAttachmentUrl = 'example.com/cute-cats.jpeg';myTable.updateRecordAsync(myRecord, {'myAttachmentField': [...myRecord.getCellValue('myAttachmentField'),{ url: newAttachmentUrl }]})
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.
Attachment URLs returned will expire 2 hours after being returned from our API. If you want to persist the attachments, we recommend downloading them instead of saving the URL. See our support article for more information.
Cell read format
Array<{// unique attachment idid: string,// url, e.g. "https://v5.airtableusercontent.com/foo"// Note: Attachment URLs returned will expire 2 hours after being returned from our API.// If you want to persist the attachments, we recommend downloading them instead of saving the URL.url: string,// filename, e.g. "foo.jpg"filename: string,// file size, in bytessize?: number,// content type, e.g. "image/jpeg"type?: string,// thumbnails if availablethumbnails?: {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<{url: string,filename?: string,}>
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
Options are not required when creating a "multipleAttachments"
field, and updating options is not supported
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).
Cell write format
boolean | null
Field options
{// an icon nameicon: 'check' | 'star' | 'heart' | 'thumbsUp' | 'flag' | 'dot',// the color of the check boxcolor: 'yellowBright' | 'orangeBright' | 'redBright' | 'pinkBright' | 'purpleBright' | 'blueBright' | 'cyanBright' | 'tealBright' | 'greenBright' | 'grayBright' ,}
Bases on a free or plus plan are limited to using the 'check' icon and 'greenBright' color.
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
This field is read-only.
Field options read format
{// false if the formula contains an errorisValid: boolean,// the other fields in the record that are used in the formulareferencedFieldIds: Array<string>,// the resulting field type and options returned by the formularesult: {// the field type of the formula resulttype: string,// that types optionsoptions?: any,},}
Field options write format
Creating or updating "formula"
fields is not allowed
createdBy
The collaborator who created the record.
Cell read format
{id: string,email: string,name?: string,profilePicUrl?: string,}
Cell write format
This field is read-only.
Field options read format
{choices: Array<{id: string,email: string,name?: string,profilePicUrl?: string,}>,}
Field options write format
Creating or updating "createdBy"
fields is not allowed
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
Cell read format
string
Cell write format
This field is read-only.
Field options read format
{result: {type: 'date' | 'dateTime',options: DateOrDateTimeFieldOptions,},}
See date and dateTime for detailed field options
Field options write format
Creating or updating "createdTime"
fields is not supported.
rollup
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
This field is read-only.
Field options read format
{// false if the formula contains an errorisValid: boolean,// the linked record field in this table that this field is// summarizing.recordLinkFieldId: string,// the field id in the linked table that this field is summarizing.fieldIdInLinkedTable: string,// the other fields in the record that are used in the formulareferencedFieldIds: Array<string>,// the resulting field type and options returned by the formularesult: {// the field type of the formula resulttype: string,// that types optionsoptions?: any,},}
Field options write format
Creating or updating "rollup"
fields is not allowed
count
Count the number of linked records.
Cell read format
number
Cell write format
This field is read-only.
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 countingrecordLinkFieldId: string,}
Field options write format
Creating or updating "count"
fields is not allowed
multipleLookupValues
Lookup a field on linked records.
Cell read format
Check options.result
to know the resulting field type.
Array<any>
Cell write format
This field is read-only.
Field options read format
{// The field in the linked table that this field is looking upfieldIdInLinkedTable: string,// is the field currently valid (e.g. false if the linked record field has// been deleted)isValid: boolean,// The linked record field in the current tablerecordLinkFieldId: string,result: {// The type of the field in the linked tabletype: string,// For field options, refer to the section for the relevant field typeoptions?: object,},}
Field options write format
Creating or updating "multipleLookupValues"
fields is not allowed
autoNumber
Automatically incremented unique counter for each record.
Cell read format
number
Cell write format
This field is read-only.
Field options
n/a
barcode
Use the Airtable iOS or Android app to scan barcodes.
Cell format
{// the text value of the barcodetext: string,// the type of barcodetype?: string,}
Field options
n/a
rating
A rating (e.g. stars out of 5)
Cell format
number
Field options
{// the icon name used to display the ratingicon: 'star' | 'heart' | 'thumbsUp' | 'flag' | 'dot',// the maximum value for the rating, from 1 to 10 inclusivemax: number,// the color of selected iconscolor: 'yellowBright' | 'orangeBright' | 'redBright' | 'pinkBright' | 'purpleBright' | 'blueBright' | 'cyanBright' | 'tealBright' | 'greenBright' | 'grayBright',}
Bases on a free or plus plan are limited to using the 'star' icon and 'yellowBright' color.
richText
A long text field with rich formatting enabled.
Returned string is formatted with markdown syntax for Airtable rich text formatting. Use this formatting when updating cell values.
Cell format
string
Field options
n/a
duration
A duration of time in seconds.
The durationFormat
string follows the moment.js structure documented
here.
Cell format
number
Field options
{durationFormat: 'h:mm' | 'h:mm:ss' | 'h:mm:ss.S' | 'h:mm:ss.SS' | 'h:mm:ss.SSS'}
lastModifiedBy
Shows the collaborator who most recently modified any editable field or just in specific editable fields.
Cell read format
{id: string,email: string,name?: string,profilePicUrl?: string,}
Cell write format
This field is read-only.
Field options read format
{referencedFieldIds: Array<string>,choices: Array<{id: string,email: string,name?: string,profilePicUrl?: string,}>,}
Field options write format
Creating or updating "lastModifiedBy"
fields is not allowed
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
Cell read format
string
Cell write format
This field is read-only.
Field options read format
{// false if the formula contains an errorisValid: boolean,// the fields to check the last modified time ofreferencedFieldIds: Array<string>,// the cell value result typeresult: {type: 'date' | 'dateTime',options: DateOrDateTimeFieldOptions,},}
See date and dateTime for detailed field options
Field options write format
Creating or updating "lastModifiedTime"
fields is not supported.
externalSyncSource
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?: string,}
The name of the source the record is synced from.
Cell write format
This field is read-only.
Field options read format
{choices: Array<{id: string,name: string,color?: string,}>,}
Field options write format
Creating or updating "externalSyncSource"
fields is not allowed
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 "externalSyncSource"
fields is not supported.
aiText
Long text (with AI output enabled)
AI generated text can depend on other cells in the same record and can be in a loading state.
Cell read format
{state: 'empty' | 'loading' | 'generated' | 'error',value: string,isStale: boolean,// Only populated if state is 'error'errorType?: string,}
Cell write format
This field is read-only.
Field options read format
{prompt?: Array<string | {field: {fieldId: string}}>,referencedFieldIds?: Array<string>,}
Field options write format
Creating or updating "aiText"
fields is not allowed
button
A button that can be clicked from the Airtable UI to open a URL or open an extension.
You cannot currently programmatically interact with a button field from a script, but you can use your
scripting extension with the "Run script" button field action. The first input.recordAsync
call in your
script will be skipped, and the button's record returned.
You can use the Record picker example as a starting point for a button field script.
Cell read format
{// The label of the buttonlabel: string,// URL the button opens, or URL of the extension that the button opens.// Null when the URL formula has become invalid.url: string | null,}
Cell write format
This field is read-only.
Field options
n/a