Web API

Press shift + S to search API reference.

Audit Logs

Audit log event types

This documents all of the currently supported audit log event types and their corresponding payload formats.

Create base

Event type:createBase

A new base was created.

object
name
string

The name of the created base

Payload Version

Example payload
{
"name": "My New Base"
}

Delete base

Event type:deleteBase

A base was deleted.

object
name
string

The name of the deleted base

Payload Version

Example payload
{
"name": "My Base"
}

Move base

Event type:moveBase

A base was moved.

object
name
string

The name of the moved base

previous
object

The previous workspace and enterprise account.

enterpriseAccount
optional<object>

The enterprise account from which the base was moved. If blank, the base was moved from a non-enterprise workspace.

id
string
name
string
workspace
object
id
string
name
optional<string>

The name of the workspace. This is optional if a base is moved across differing enterprises to avoid leaking a workspace name (customer sensitive data) to another enterprise.

current
object

The current workspace and enterprise account.

enterpriseAccount
optional<object>

The enterprise account into which the base was moved. If blank, the base was moved into a non-enterprise workspace.

id
string
name
string
workspace
object
id
string
name
optional<string>

The name of the workspace. This is optional if a base is moved across differing enterprises to avoid leaking a workspace name (customer sensitive data) to another enterprise.

Payload Version

Example payload
{
"name": "My Base",
"previous": {
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "Previous Workspace"
}
},
"current": {
"workspace": {
"id": "wspHvvm4dAktsStZH",
"name": "Current Workspace"
},
"enterpriseAccount": {
"id": "entUBq2RGdihxl3vU",
"name": "Current Enterprise Account"
}
}
}

Duplicate base

Event type:duplicateBase

A base was duplicated.

object
previous
object

The previous workspace and enterprise account.

enterpriseAccount
optional<object>

The enterprise account from which the base was duplicated. If blank, the base was duplicated from a non-enterprise workspace.

id
string
name
string
application
object
id
string
name
optional<string>

The name of the base that was duplicated. This is optional if a base is duplicated across differing enterprises to avoid leaking an application name (customer sensitive data) to another enterprise.

workspace
object
id
string
name
optional<string>

The name of the workspace. This is optional if a base is duplicated across differing enterprises to avoid leaking a workspace name (customer sensitive data) to another enterprise.

current
object

The current workspace and enterprise account.

enterpriseAccount
optional<object>

The enterprise account into which the base was duplicated. If blank, the base was duplicated into a non-enterprise workspace.

id
string
name
string
application
object
id
string
name
optional<string>

The name of the newly-duplicated base. This is optional if a base is duplicated across differing enterprises to avoid leaking an application name (customer sensitive data) to another enterprise.

workspace
object
id
string
name
optional<string>

The name of the workspace. This is optional if a base is duplicated across differing enterprises to avoid leaking an application name (customer sensitive data) to another enterprise.

Payload Version

Example payload
{
"previous": {
"application": {
"id": "appLkNDICXNqxSDhG",
"name": "Monthly budgeting"
},
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "Family Workspace"
}
},
"current": {
"application": {
"id": "appSW9R5uCNmRmfl6",
"name": "Monthly budgeting copy"
},
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "Family Workspace"
}
}
}

View base

Event type:viewBase

A base was viewed. This includes viewing a base, table, view or record. This event is emitted at most once every 5 minutes per user/base combination.

object
name
string

The name of the viewed base

Payload Version

Example payload
{
"name": "My Base"
}

Restore base from snapshot

Event type:restoreBaseFromSnapshot

A base was restored from a snapshot.

object
id
string

The new ID of the restored base.

name
string

The new name of the restored base

workspace
object
id
string
name
string

The name of the workspace at time of restore

Payload Version

Example payload
{
"id": "appLkNDICXNqxSDhG",
"name": "My Base",
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "My Workspace"
}
}

Restore base from trash

Event type:restoreBaseFromTrash

A base was restored from the trash.

object
name
string

The name of the restored base

workspace
object
id
string
name
string

The name of the workspace at time of restore

Payload Version

Example payload
{
"name": "My Base",
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "My Workspace"
}
}

Download attachment

Event type:downloadAttachment

An attachment download was initiated.

object
type
string

The attachment file type.

filename
string
table
object

Table from which the attachment was downloaded.

id
string
name
string

The name of the table.

field
object

Field from which the attachment was downloaded.

id
string
name
string

The name of the field.

record
object

Record from which the attachment was downloaded.

id
string

Payload Version

Example payload
{
"filename": "image.png",
"type": "image/png",
"table": {
"id": "tblqanjXyxwWrvkUm",
"name": "Table name"
},
"field": {
"id": "fldnub6EOKobEpdGx",
"name": "Attachments"
},
"record": {
"id": "recqrHTqPZOc8mlWW"
}
}

Rename base

Event type:updateBaseName

A base was renamed.

object
previous
object
name
string

The name of the base prior to being renamed

current
object
name
string

The new name of the base

Payload Version

Example payload
{
"previous": {
"name": "Previous base name"
},
"current": {
"name": "New base name"
}
}

Update base guide text

Event type:updateBaseGuideText

Base guide text for a base was changed.

object
previous
object
guideText
string

The content of the base guide text before being updated

current
object
guideText
string

The content of the base guide text after being updated

Payload Version

Example payload
{
"previous": {
"guideText": "Previous base guide text"
},
"current": {
"guideText": "New base guide text"
}
}

Create a base invite link

Event type:addBaseInviteLink

An invite link for a base was created.

object
url
string

The URL of the invite link

permissionLevel
"read" | "comment" | "edit" | "create"

The permission level a user would be granted when accepting this invite

restrictedToEmailDomains
array of strings

The email domain restrictions assigned to the invite link. When null, no domain restrictions are assigned to the invite link,but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand invite link accessibility.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this invite link. This factors in the invite link's email domain restrictions and all enterprise-wide invite link restrictions. A viewer must have an account associated with an email domain included in the allow list to accept this invite link. When null, any email domain may accept the invite link. If the list is empty, the invite link cannot be used by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide invite restrictions).

base
object
id
string
name
string

The name of the base at time of invite link creation

Payload Version

Example payload
{
"url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000",
"permissionLevel": "comment",
"restrictedToEmailDomains": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
],
"base": {
"name": "My base",
"id": "appLkNDICXNqxSDhG"
}
}

Remove a base invite link

Event type:removeBaseInviteLink

An invite link for a base was removed.

object
url
string

The URL of the invite link

permissionLevel
"read" | "comment" | "edit" | "create"

The permission level a user would be granted when accepting this invite

restrictedToEmailDomains
array of strings

The email domain restrictions assigned to the invite link. When null, no domain restrictions are assigned to the invite link,but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand invite link accessibility.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this invite link. This factors in the invite link's email domain restrictions and all enterprise-wide invite link restrictions. A viewer must have an account associated with an email domain included in the allow list to accept this invite link. When null, any email domain may accept the invite link. If the list is empty, the invite link cannot be used by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide invite restrictions).

base
object
id
string
name
string

The name of the base at time of invite link removal

Payload Version

Example payload
{
"url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000",
"permissionLevel": "comment",
"restrictedToEmailDomains": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
],
"base": {
"name": "My base",
"id": "appLkNDICXNqxSDhG"
}
}

Configure base invite link

Event type:configureBaseInviteLink

A base invite link's configuration was changed.

object
url
optional<string>

The URL of the invite link

permissionLevel
optional<"read" | "comment" | "edit" | "create">

The permission level a user would be granted when accepting this invite

previous
object

The properties of the invite link configuration before these changes were applied

url
optional<string>
permissionLevel
optional<"read" | "comment" | "edit" | "create">
restrictedToEmailDomains
optional<array of strings>
effectiveEmailDomainAllowList
optional<array of strings>
current
object

The properties of the invite link configuration after these changes were applied

url
optional<string>
permissionLevel
optional<"read" | "comment" | "edit" | "create">
restrictedToEmailDomains
optional<array of strings>
effectiveEmailDomainAllowList
optional<array of strings>
restrictedToEmailDomains
optional<array of strings>

The email domain restrictions assigned to the invite link. When null, no domain restrictions are assigned to the invite link,but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand invite link accessibility.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this invite link. This factors in the invite link's email domain restrictions and all enterprise-wide invite link restrictions. A viewer must have an account associated with an email domain included in the allow list to accept this invite link. When null, any email domain may accept the invite link. If the list is empty, the invite link cannot be used by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide invite restrictions).

base
object
id
string
name
string

The name of the invite link's base

Payload Version

Example payload
{
"url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000",
"restrictedToEmailDomains": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
],
"previous": {
"permissionLevel": "comment"
},
"current": {
"permissionLevel": "edit"
},
"base": {
"name": "My base",
"id": "appLkNDICXNqxSDhG"
}
}

Invite base collaborator

Event type:inviteBaseCollaborator

A user was invited to collaborate on a base.

object
name
string

The name of the base to which this user was invited

user
object

The user invited as a collaborator.

id
optional<string>

Present when the invited user is already an Airtable user

permissionLevel
"read" | "comment" | "edit" | "create"

The permission level at which the user was invited as a collaborator.

name
optional<string>

Present when the invited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "My Base",
"user": {
"email": "john.jacob@example.com",
"permissionLevel": "comment"
}
}

Add base collaborator

Event type:addBaseCollaborator

A collaborator was added to a base.

any of the below objects

type
"user"

The type of collaborator added to the base

name
string

The name of the base to which this user was added

user
object

The user added as a collaborator.

id
string
permissionLevel
"read" | "comment" | "edit" | "create"

The permission level at which the user was added as a collaborator.

name
string
email
string

type
"group"

The type of collaborator added to the base

name
string

The name of the base to which this group was added

group
object

The group added as a collaborator.

id
string
permissionLevel
"read" | "comment" | "edit" | "create"

The permission level at which the group was added as a collaborator.

name
string

Payload Version

Example payload
{
"name": "My Base",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "comment"
}
}

Change base collaborator permission

Event type:changeBaseCollaboratorPermission

The direct permission of a collaborator on a base was changed.

any of the below objects

type
"user"

The type of collaborator whose permission on the base was changed.

name
string

The name of the base on which this user's permission was changed.

user
object

The user whose direct permission on the base was changed.

id
string
name
string
email
string
previous
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create"

The direct base permission level of the user prior to this change.

current
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create"

The new direct base permission level of the user.


type
"group"

The type of collaborator whose permission on the base was changed.

name
string

The name of the base on which this group's permission was changed.

group
object

The group whose direct permission on the base was changed.

id
string
name
string
previous
object
group
object
permissionLevel
"read" | "comment" | "edit" | "create"

The direct base permission level of the group prior to this change.

current
object
group
object
permissionLevel
"read" | "comment" | "edit" | "create"

The new direct base permission level of the group.

Payload Version

Example payload
{
"name": "My Base",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "comment"
}
}
}

Change base invite permission

Event type:changeBaseInvitePermission

The permission a user will receive on a base when they accept the associated invite was changed.

object
name
string

The name of the base on which this invite's permission was changed.

user
object

The user whose invited permission on the base was changed.

id
optional<string>

Present when the invited user is already an Airtable user

name
optional<string>

Present when the invited user is already an Airtable user

email
string
previous
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create"

The direct permission level the invited user would have received on accepting the base invite prior to this change.

current
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create"

The new direct permission level the invited user will receive on accepting the base invite.

Payload Version

Example payload
{
"name": "My Base",
"user": {
"email": "john.jacob@example.com"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "comment"
}
}
}

Uninvite base collaborator

Event type:uninviteBaseCollaborator

A user was uninvited from a base.

object
name
string

The name of the base from which this user was uninvited

user
object

The user uninvited from the base.

id
optional<string>

Present when the uninvited user is already an Airtable user

permissionLevel
"read" | "comment" | "edit" | "create"

The permission level of the user when uninvited from the base.

name
optional<string>

Present when the uninvited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "My Base",
"user": {
"email": "john.jacob@example.com",
"permissionLevel": "comment"
}
}

Remove base collaborator

Event type:removeBaseCollaborator

A collaborator was removed from a base.

any of the below objects

type
"user"

The type of collaborator removed from the base

name
string

The name of the base from which this user was removed

user
object

The user removed from the base.

id
string
permissionLevel
"read" | "comment" | "edit" | "create"

The permission level of the user when removed from the base.

name
string
email
string

type
"group"

The type of collaborator removed from the base

name
string

The name of the base from which this group was removed

group
object

The group removed from the base.

id
string
permissionLevel
"read" | "comment" | "edit" | "create"

The permission level of the group when removed from the base.

name
string

Payload Version

Example payload
{
"name": "My Base",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "comment"
}
}

Create group

Event type:createGroup

A new group was created.

object
name
string

The name of the created group.

Payload Version

Example payload
{
"name": "Awesome New Group"
}

Delete group

Event type:deleteGroup

An existing group was deleted.

object
name
string

The name of the deleted group.

Payload Version

Example payload
{
"name": "Awesome Deleted Group"
}

Move group

Event type:moveGroup

A group was moved between accounts.

object
name
string

The name of the moved group

previous
object

The enterprise account from which the group was moved

id
string
name
string
current
object

The enterprise account into which the group was moved

id
string
name
string

Payload Version

Example payload
{
"name": "Awesome Group",
"previous": {
"id": "entUBq2RGdihxl3vU",
"name": "Previous Enterprise Account"
},
"current": {
"id": "entWUuXRJs5lGKuot",
"name": "Current Enterprise Account"
}
}

Add member role

Event type:addGroupMember

A user was added to a group.

object
name
string

The name of the group to which this user was added.

user
object
id
string
role
"manager" | "member"

The role of the user within the group.

name
string
email
string

Payload Version

Example payload
{
"name": "Awesome Group",
"user": {
"id": "usrcGuHdvFtT63Tz5",
"name": "Questin Umpleby",
"email": "questin.umpleby@example.com",
"role": "manager"
}
}

Change group member role

Event type:changeGroupMemberRole

A user's role within a group was changed.

object
name
string

The name of the group in which the user's role was changed.

user
object
id
string
name
string
email
string
current
object
user
object
role
"manager" | "member"

The new role granted to the user.

previous
object
user
object
role
"manager" | "member"

The user's previous role.

Payload Version

Example payload
{
"name": "Awesome Group",
"user": {
"id": "usrcGuHdvFtT63Tz5",
"name": "Questin Umpleby",
"email": "questin.umpleby@example.com"
},
"previous": {
"user": {
"role": "manager"
}
},
"current": {
"user": {
"role": "member"
}
}
}

Remove group member

Event type:removeGroupMember

A user was removed from a group.

object
name
string

The name of the group from which this user was removed.

user
object
id
string
role
"manager" | "member"

The role of the user within the group at time of removal.

name
string
email
string

Payload Version

Example payload
{
"name": "Awesome Group",
"user": {
"id": "usrcGuHdvFtT63Tz5",
"name": "Questin Umpleby",
"email": "questin.umpleby@example.com",
"role": "manager"
}
}

Delete group invite

Event type:deleteGroupInvite

An invitation to join a user group was deleted.

object
email
string

The deleted invite's original recipient's email.

originatingUser
object

The user who deleted the invite.

id
string
email
string
name
string
referrerUser
object

The user who created the now-deleted invite.

id
string
email
string
name
string

Payload Version

Example payload
{
"email": "invited.user@example.com",
"referrerUser": {
"email": "questin.umpleby@example.com",
"id": "usr5552HdvtT659X4",
"name": "Questin Umpleby"
},
"originatingUser": {
"email": "clifford.radicchio@example.com",
"id": "usr555uT6FtT63Tz5",
"name": "Clifford Radicchio"
}
}

Resend group invite

Event type:resendGroupInvite

An invitation to join a user group was resent.

object
email
string

The recipient email of the resent invite.

originatingUser
object

The user who resent the invite.

id
string
email
string
name
string
referrerUser
object

The user who created the resent invite.

id
string
email
string
name
string

Payload Version

Example payload
{
"email": "invited.user@example.com",
"referrerUser": {
"email": "questin.umpleby@example.com",
"id": "usr5552HdvtT659X4",
"name": "Questin Umpleby"
},
"originatingUser": {
"email": "clifford.radicchio@example.com",
"id": "usr555uT6FtT63Tz5",
"name": "Clifford Radicchio"
}
}

Invite group member

Event type:inviteGroupMember

A user was invited to join a group.

object
name
string

The name of the group to which the user was invited

referrerUser
object

The inviting user

id
string
email
string
name
string
user
object

The invited user

id
optional<string>

Present when the invited user is already an Airtable user

role
"manager" | "member"

The role for which the user was invited to the group

name
optional<string>

Present when the invited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "Awesome Group",
"referrerUser": {
"email": "questin.umpleby@example.com",
"id": "usr5552HdvtT659X4",
"name": "Questin Umpleby"
},
"user": {
"email": "clifford.radicchio@example.com",
"role": "member"
}
}

Create role

Event type:createRole

A new role was created.

object
name
string

The name of the created role.

roleType
"admin"

The type of the created role.

permissionTypes
array of the below object

The permissions of the created role.

permissionType
"adminFullPermissions" | "adminSettingsIntegrationsManage" | "adminSettingsDevelopmentManage" | "adminSettingsBlocksManage" | "adminDataTablesManage" | "adminUsersLicenseManage" | "adminUsersInviteManage" | "adminGroupsLicenseManage" | "adminSettingsLicenseManage"

Payload Version

Example payload
{
"name": "My Role",
"roleType": "admin",
"permissionTypes": [
{
"permissionType": "adminSettingsIntegrationsManage"
}
]
}

Enable share link

Event type:enableShare

A share link was enabled.

any of the below objects

type
"view"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

view
object

The shared view.

id
string
type
"form" | "grid" | "calendar" | "gallery" | "kanban" | "timeline" | "block" | "levels"

The type of the view

name
string

The name of the view

table
object

The view's table

id
string
name
string

The name of the table

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"base"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

base
object

The shared base.

id
string
name
string

The name of the base

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"extension"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

extension
object

The shared extension.

id
string
name
string

The name of the extension

base
object

The extension's base.

id
string
name
string

The name of the base

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"page"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

page
object

The shared page.

id
string
name
optional<string>

The name of the page

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

Payload Version

Example payload
{
"type": "view",
"url": "https://airtable.com/appLkNDICXNqxSDhG/shr9SpczJvQpfAzSp",
"shouldAllowCopy": false,
"shouldShowExtensions": true,
"isPasswordProtected": false,
"restrictEmailDomainTo": null,
"effectiveEmailDomainAllowList": [
"example.com"
],
"view": {
"id": "viwMPdu7I2siHHW6U",
"name": "Grid view",
"type": "grid"
},
"table": {
"id": "tblqanjXyxwWrvkUm",
"name": "Table name"
},
"restrictedToEnterpriseMembers": false
}

Disable share link

Event type:disableShare

A share link was disabled.

any of the below objects

type
"view"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

view
object

The shared view.

id
string
type
"form" | "grid" | "calendar" | "gallery" | "kanban" | "timeline" | "block" | "levels"

The type of the view

name
string

The name of the view

table
object

The view's table

id
string
name
string

The name of the table

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"base"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

base
object

The shared base.

id
string
name
string

The name of the base

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"extension"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

extension
object

The shared extension.

id
string
name
string

The name of the extension

base
object

The extension's base.

id
string
name
string

The name of the base

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"page"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

page
object

The shared page.

id
string
name
optional<string>

The name of the page

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

Payload Version

Example payload
{
"type": "view",
"url": "https://airtable.com/appLkNDICXNqxSDhG/shr9SpczJvQpfAzSp",
"shouldAllowCopy": false,
"shouldShowExtensions": true,
"isPasswordProtected": false,
"restrictEmailDomainTo": null,
"effectiveEmailDomainAllowList": [
"example.com"
],
"view": {
"id": "viwMPdu7I2siHHW6U",
"name": "Grid view",
"type": "grid"
},
"table": {
"id": "tblqanjXyxwWrvkUm",
"name": "Table name"
},
"restrictedToEnterpriseMembers": false
}

Configure share link

Event type:configureShare

A share link's configuration was changed.

any of the below objects

type
"view"

The type of share

url
string

The URL of the shared view link

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

view
object

The shared view.

id
string
type
"form" | "grid" | "calendar" | "gallery" | "kanban" | "timeline" | "block" | "levels"

The type of the view

name
string

The name of the view

table
object

The view's table

id
string
name
string

The name of the table

previous
object

The properties of the share configuration before these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The properties of the share configuration after these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"base"

The type of share

url
string

The URL of the shared base link

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

base
object

The shared base.

id
string
name
string

The name of the base

previous
object

The properties of the share configuration before these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The properties of the share configuration after these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"extension"

The type of share

url
string

The URL of the shared extension link

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

extension
object

The shared extension.

id
string
name
string

The name of the extension

base
object

The extension's base.

id
string
name
string

The name of the base

previous
object

The properties of the share configuration before these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The properties of the share configuration after these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"page"

The type of share

url
string

The URL of the shared page link

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

page
object

The shared page.

id
string
name
optional<string>

The name of the page

previous
object

The properties of the share configuration before these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The properties of the share configuration after these changes were applied

shouldAllowCopy
optional<boolean>

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
optional<boolean>

Whether extensions added to this share should be shown

isPasswordProtected
optional<boolean>

Whether access to this share link is password protected

restrictEmailDomainTo
optional<string>

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
optional<boolean>

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

Payload Version

Example payload
{
"type": "base",
"url": "https://airtable.com/appLkNDICXNqxSDhG/shr9SpczJvQpfAzSp",
"shouldShowExtensions": true,
"isPasswordProtected": false,
"restrictedToEnterpriseMembers": false,
"current": {
"shouldAllowCopy": true,
"restrictEmailDomainTo": "example.com",
"effectiveEmailDomainAllowList": [
"example.com"
]
},
"previous": {
"shouldAllowCopy": false,
"restrictEmailDomainTo": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
]
},
"base": {
"id": "appLkNDICXNqxSDhG",
"name": "My Shared Base"
}
}

Regenerate share link

Event type:regenerateShare

A share link was regenerated.

any of the below objects

type
"view"

The type of share

view
object

The shared view.

id
string
type
"form" | "grid" | "calendar" | "gallery" | "kanban" | "timeline" | "block" | "levels"

The type of the view

name
string

The name of the view

table
object

The view's table

id
string
name
string

The name of the table

previous
object

The old share and its properties

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The new, regenerated share link

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"base"

The type of share

base
object

The shared base.

id
string
name
string

The name of the base

previous
object

The old share and its properties

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The new, regenerated share link

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"extension"

The type of share

extension
object

The shared extension.

id
string
name
string

The name of the extension

base
object

The extension's base.

id
string
name
string

The name of the base

previous
object

The old share and its properties

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The new, regenerated share link

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"page"

The type of share

page
object

The shared page.

id
string
name
optional<string>

The name of the page

previous
object

The old share and its properties

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

current
object

The new, regenerated share link

id
string
url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

Payload Version

Example payload
{
"type": "base",
"base": {
"id": "appLkNDICXNqxSDhG",
"name": "My Shared Base"
},
"previous": {
"id": "shr9SpczJvQpfAzSp",
"url": "https://airtable.com/appLkNDICXNqxSDhG/shr9SpczJvQpfAzSp",
"shouldAllowCopy": false,
"shouldShowExtensions": true,
"isPasswordProtected": false,
"restrictEmailDomainTo": "example.com",
"effectiveEmailDomainAllowList": [
"example.com"
],
"restrictedToEnterpriseMembers": false
},
"current": {
"id": "shrMg5vs9SpczJvQp",
"url": "https://airtable.com/appLkNDICXNqxSDhG/shrMg5vs9SpczJvQp",
"shouldAllowCopy": false,
"shouldShowExtensions": true,
"isPasswordProtected": false,
"restrictEmailDomainTo": "example.com",
"effectiveEmailDomainAllowList": [
"example.com"
],
"restrictedToEnterpriseMembers": false
}
}

View share

Event type:viewShare

A share was viewed. This event is emitted at most once every 5 minutes per user/view combination. Events are emitted for logged-in and logged-out users.

any of the below objects

type
"view"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

view
object

The shared view.

id
string
type
"form" | "grid" | "calendar" | "gallery" | "kanban" | "timeline" | "block" | "levels"

The type of the view

name
string

The name of the view

table
object

The view's table

id
string
name
string

The name of the table

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"base"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

base
object

The shared base.

id
string
name
string

The name of the base

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"extension"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

extension
object

The shared extension.

id
string
name
string

The name of the extension

base
object

The extension's base.

id
string
name
string

The name of the base

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).


type
"page"

The type of share

url
string

The URL of the share link

shouldAllowCopy
boolean

Whether viewers should be allowed to copy data out of the share

shouldShowExtensions
boolean

Whether extensions added to this share should be shown

isPasswordProtected
boolean

Whether access to this share link is password protected

restrictEmailDomainTo
string

If non-empty, the email domain restriction assigned to the share. If empty, no domain restrictions are assigned to the share, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand share accessibility.

restrictedToEnterpriseMembers
boolean

If true, this share is only accessible by members of the enterprise account. This works in conjunction with effectiveEmailDomainAllowList.

page
object

The shared page.

id
string
name
optional<string>

The name of the page

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this share link. This factors in the share link's email domain restrictions and all enterprise-wide share link restrictions. A viewer must have an account associated with an email domain included in the allow list to access this share link. When null, any email domain may access the share link. If the list is empty, the share link cannot be viewed by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide sharing restrictions).

Payload Version

Example payload
{
"type": "view",
"url": "https://airtable.com/appLkNDICXNqxSDhG/shr9SpczJvQpfAzSp",
"shouldAllowCopy": false,
"shouldShowExtensions": true,
"isPasswordProtected": false,
"restrictEmailDomainTo": null,
"effectiveEmailDomainAllowList": [
"example.com"
],
"view": {
"id": "viwMPdu7I2siHHW6U",
"name": "Grid view",
"type": "grid"
},
"table": {
"id": "tblqanjXyxwWrvkUm",
"name": "Table name"
},
"restrictedToEnterpriseMembers": false
}

Login user

Event type:loginUser

A user logged in.

object
method
optional<"apple" | "google" | "password" | "sso" | "mobileLink" | "desktopLink" | "emailLink">

The login method.

Payload Version

Example payload
{
"method": "sso"
}

Claim user

Event type:claimUser

A user was claimed (to be managed) by this enterprise account.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Unclaim user

Event type:unclaimUser

A user was unclaimed (not to be managed) by this enterprise account.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Create user

Event type:createUser

A user was created through SCIM.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Delete user

Event type:deleteUser

A user was deleted.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Provision user

Event type:provisionUser

An administered user was provisioned.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Deactivate user

Event type:deactivateUser

An administered user was deactivated.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Update Email

Event type:updateUserEmail

A user changed their email.

object
previous
object
email
string

The previous email of the user

current
object
email
string

The new email of the user

Payload Version

Example payload
{
"previous": {
"email": "jane.previous@example.com"
},
"current": {
"email": "jane.new@example.com"
}
}

Change password

Event type:changePassword

A user changed their password.

object
name
string
email
string

Payload Version

Example payload
{
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}

Update profile picture

Event type:updateUserProfilePicture

A user updated their profile picture.

object
name
string
email
string
previous
object
profilePictureUrl
string
current
object
profilePictureUrl
string

Payload Version

Example payload
{
"email": "john.doe@example.com",
"name": "John Doe",
"previous": {
"profilePictureUrl": "https://example.com/image.png"
},
"current": {
"profilePictureUrl": "https://example.com/image.png"
}
}

User assigned license

Event type:userAssignedLicense

A user was assigned a license by an admin, a user group, or by performing an action resulting in a license upgrade.

object
license
"" | "editor" | "portalEditor" | "contributor" | "builder" | "viewer" | "viewerRestricted"
reason
string
userGroupId
optional<string>

Payload Version

Example payload
{
"license": "editor",
"reason": "adminAssigned"
}

User assigned global Hub license

Event type:userAssignedGridGlobalLicense

A user was assigned a global Hub license by a super admin, impacting all org units where the user has a license.

object
license
"editor" | "contributor" | "builder" | "portalEditor" | "viewer" | "viewerRestricted"
reason
"adminAssigned" | "acquiredPermissionToWorkspace" | "acquiredPermissionToBase" | "acquiredPermissionToInterface" | "upgradedBasedOnPageBundleAction" | "upgradedBasedOnApplicationAction" | "upgradedBasedOnWorkspaceAction" | "initialEmptyLicenseAssignedForExistingSkpBeforeAutoUpgrade" | "basedOnPermissionHeldWhenInitialLicenseWasAssigned" | "initialEmptyLicenseAssignedForExistingEditorLicenseModelBeforeAutoUpgrade" | "consolidatedToEditorLicenseFromBuilderContributor"
enterpriseAccountIdsAffected
array of strings

Payload Version

Example payload
{
"license": "viewer",
"reason": "adminAssigned",
"enterpriseAccountIdsAffected": [
"entEEnPbptK123456"
]
}

Create service account

Event type:createServiceAccount

A service account was created.

object
name
string
email
string

Payload Version

Example payload
{
"email": "service.account@example.com",
"name": "Service Account"
}

Delete service account

Event type:deleteServiceAccount

A service account was deleted.

object
name
string
email
string

Payload Version

Example payload
{
"email": "service.account@example.com",
"name": "Service Account"
}

Move service account

Event type:moveServiceAccount

A service account was moved between accounts.

object
name
string

The name of the moved service account

email
string

The email of the moved service account

previous
object

The enterprise account from which the service account was moved

id
string
name
string
current
object

The enterprise account into which the service account was moved

id
string
name
string

Payload Version

Example payload
{
"name": "Service Account",
"email": "service.account@example.com",
"previous": {
"id": "entUBq2RGdihxl3vU",
"name": "Previous Enterprise Account"
},
"current": {
"id": "entWUuXRJs5lGKuot",
"name": "Current Enterprise Account"
}
}

Accept terms of use

Event type:acceptTermsOfUse

A user accepted an enterprise account's terms of use.

objectAn empty object

Payload Version

Example payload
{}

Add two-factor authentication strategy

Event type:addTwoFactorAuthenticationStrategy

A user added a new two-factor authentication strategy to their account.

object
type
"totp" | "sms" | "phoneCall"
user
object

The user who added the two-factor authentication strategy to their account.

id
string
email
string
name
string

Payload Version

Example payload
{
"type": "sms",
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Remove two-factor authentication strategy

Event type:removeTwoFactorAuthenticationStrategy

A user removed a two-factor authentication strategy from their account.

object
type
"totp" | "sms" | "phoneCall"
user
object

The user who removed the two-factor authentication strategy from their account.

id
string
email
string
name
string

Payload Version

Example payload
{
"type": "sms",
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Set default two-factor authentication strategy

Event type:setDefaultTwoFactorAuthenticationStrategy

A user chose a default two-factor authentication strategy.

object
type
"totp" | "sms" | "phoneCall"
user
object

The user who chose a default two-factor authentication strategy for their account.

id
string
email
string
name
string

Payload Version

Example payload
{
"type": "phoneCall",
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Regenerate two-factor authentication backup codes

Event type:regenerateTwoFactorAuthenticationBackupCodes

A user regenerated their two-factor authentication backup codes.

object
user
object

The user who regenerated their two-factor authentication backup codes.

id
string
email
string
name
string

Payload Version

Example payload
{
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Disable two-factor authentication

Event type:disableTwoFactorAuthentication

A user completely disabled two-factor authentication for their account.

object
user
object

The user who disabled two-factor authentication for their account.

id
string
email
string
name
string

Payload Version

Example payload
{
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Create OAuth access token

Event type:createOauthAccessToken

A user authorized an OAuth integration, granting the integration an API access token.

object
scopes
array of strings

The actions the token is allowed to perform (only if the user also has the permission to perform them).

oauthIntegration
object
clientId
string

Unique identifier of the OAuth integration

name
string

Payload Version

Example payload
{
"oauthIntegration": {
"name": "Example OAuth integration",
"clientId": "677907f7-3405-4900-9899-6aed15cdda6e"
},
"scopes": [
"data.records:read",
"data.records:write"
]
}

Refresh OAuth access token

Event type:refreshOauthAccessToken

An OAuth integration previously authorized by a user refreshed their access tokens, renewing their API access.

object
oauthIntegration
object
clientId
string

Unique identifier of the OAuth integration

name
string
previous
object
scopes
array of strings

The actions the token could perform before refresh.

current
object
scopes
array of strings

The actions the token can perform after refresh. Equal to or a subset of the previous scopes.

Payload Version

Example payload
{
"oauthIntegration": {
"name": "Example OAuth integration",
"clientId": "677907f7-3405-4900-9899-6aed15cdda6e"
},
"previous": {
"scopes": [
"data.records:read",
"data.records:write"
]
},
"current": {
"scopes": [
"data.records:read",
"data.records:write"
]
}
}

Grant enterprise admin access

Event type:grantEnterpriseAdminAccess

Admin access was granted to a user.

object
user
object

The user granted admin access.

id
string
email
string
name
string
roles
optional<array of the below object>

The admin roles granted to the user.

Admin role granted to the user.

id
string
roleType
"admin"
managedRoleType
"adminFull" | "adminIntegration" | "adminLicense"
name
string
permissionTypes
array of ("adminFullPermissions" | "adminSettingsIntegrationsManage" | "adminSettingsDevelopmentManage" | "adminSettingsBlocksManage" | "adminDataTablesManage" | "adminUsersLicenseManage" | "adminUsersInviteManage" | "adminGroupsLicenseManage" | "adminSettingsLicenseManage")

Payload Version

Example payload
{
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
},
"roles": [
{
"id": "rol1h7cOflUSHYcCH",
"roleType": "admin",
"managedRoleType": "adminFull",
"name": "Role name",
"permissionTypes": [
"adminFullPermissions"
]
}
]
}

Grant enterprise upgrader access

Event type:grantEnterpriseUpgraderAccess

Upgrader access was granted to a user.

object
user
object

The user granted upgrader access.

id
string
email
string
name
string

Payload Version

Example payload
{
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Revoke enterprise admin access

Event type:revokeEnterpriseAdminAccess

Admin access was revoked from a user.

object
user
object

The user with revoked admin access.

id
string
email
string
name
string
roles
optional<array of the below object>

The admin roles granted to the user.

Admin role granted to the user.

id
string
roleType
"admin"
managedRoleType
"adminFull" | "adminIntegration" | "adminLicense"
name
string
permissionTypes
array of ("adminFullPermissions" | "adminSettingsIntegrationsManage" | "adminSettingsDevelopmentManage" | "adminSettingsBlocksManage" | "adminDataTablesManage" | "adminUsersLicenseManage" | "adminUsersInviteManage" | "adminGroupsLicenseManage" | "adminSettingsLicenseManage")

Payload Version

Example payload
{
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
},
"roles": [
{
"id": "rol1h7cOflUSHYcCH",
"roleType": "admin",
"managedRoleType": "adminFull",
"name": "Role name",
"permissionTypes": [
"adminFullPermissions"
]
}
]
}

Revoke enterprise upgrader access

Event type:revokeEnterpriseUpgraderAccess

Upgrader access was revoked from a user.

object
user
object

The user with revoked upgrader access.

id
string
email
string
name
string

Payload Version

Example payload
{
"user": {
"id": "usrwz9oy2faX6CPRV",
"email": "clifford.radicchio@example.com",
"name": "Clifford Radicchio"
}
}

Update enterprise name

Event type:updateEnterpriseName

An enterprise's name was updated.

object
previous
object
name
string

Enterprise name before being updated

current
object
name
string

Enterprise name after being updated.

Payload Version

Example payload
{
"previous": {
"name": "Previous-enterprise-name"
},
"current": {
"name": "Current-enterprise-name"
}
}

Delete enterprise stripe card

Event type:deleteEnterpriseStripeCard

An enterprise stripe card was deleted.

object
stripeCardId
string

Stripe card id for card to be deleted

stripeCustomerId
string

Payload Version

Example payload
{
"stripeCustomerId": "cus_Cutg3jPljaBrC8",
"stripeCardId": "card_1N5JFjGqPjJ0Sj6HY0NvYgRy"
}

Update enterprise stripe card

Event type:updateEnterpriseStripeCard

An enterprise stripe card was updated.

object
stripeCustomerId
string

Payload Version

Example payload
{
"stripeCustomerId": "cus_Cutg3jPljaBrC8"
}

Update enterprise payment method

Event type:updateEnterprisePaymentMethod

An enterprise payment method was updated.

object
stripeCustomerId
string

Payload Version

Example payload
{
"stripeCustomerId": "cus_Cutg3jPljaBrC8"
}

Update enterprise invoice memo details

Event type:updateEnterpriseInvoiceDetails

Enterprise memo details have been updated for all future invoices.

object
previous
object
invoiceDetails
object
address
string
footer
string
taxCode
string
current
object
invoiceDetails
object
address
string
footer
string
taxCode
string

Payload Version

Example payload
{
"previous": {
"invoiceDetails": {
"address": "Previous-invoice-memo-address",
"footer": "Previous-invoice-memo-footer",
"taxCode": "Previous-invoice-memo-tax-code"
}
},
"current": {
"invoiceDetails": {
"address": "Current-invoice-memo-address",
"footer": "Current-invoice-memo-footer",
"taxCode": "Current-invoice-memo-tax-code"
}
}
}

Create org unit

Event type:createOrgUnit

An org unit was created.

object
name
string

The name of the created org unit

parentEnterpriseAccount
object

The parent enterprise account of the created org unit

id
string
name
string

Payload Version

Example payload
{
"name": "New Enterprise Account Org Unit",
"parentEnterpriseAccount": {
"id": "entUBq2RGdihxl3vU",
"name": "Parent Enterprise Account"
}
}

Delete org unit

Event type:deleteOrgUnit

An org unit was deleted.

object
name
string

The name of the deleted org unit

Payload Version

Example payload
{
"name": "Enterprise Account Org Unit"
}

Create enterprise eDiscovery export

Event type:createEdiscoveryExport

An enterprise eDiscovery export was created

object
base
object
id
string
name
string

The name of the base at time of export creation

Payload Version

Example payload
{
"base": {
"name": "My base",
"id": "appLkNDICXNqxSDhG"
}
}

Update org unit connection

Event type:updateOrgUnitConnection

Org unit connection to user groups was updated.

object
previous
object
connectedUserGroups
array of strings
current
object
connectedUserGroups
array of strings

Payload Version

Example payload
{
"previous": {
"connectedUserGroups": [
"ugpVkI4ekrHfSP0xx",
"ugpVkI4ekrHfSP0yy"
]
},
"current": {
"connectedUserGroups": [
"ugpOjyHm01InnGQYV"
]
}
}

User requested a license upgrade

Event type:requestLicenseUpgrade

A user requested a license upgrade in this enterprise account.

object
sourceModelId
string

The resource from which the license upgrade was requested.

sourceApplicationId
optional<string>

The application ID of the source model. Only present if the source model is an application or page bundle.

Payload Version

Example payload
{
"sourceModelId": "appEEnPbptK123456",
"sourceApplicationId": "appEEnPbptK123456"
}

Admin approved a license upgrade request

Event type:approveLicenseUpgradeRequest

An admin approved a license upgrade request in this enterprise account.

object
userGroupId
optional<string>

The user group that the user was added to as part of the license upgrade.

affectedEnterpriseAccountIds
array of strings

All enterprise accounts where users license has been upgraded.

Payload Version

Example payload
{
"userGroupId": "ugpQ7PJ2boxzMAKFU",
"affectedEnterpriseAccountIds": [
"entEEnPbptK123456"
]
}

Admin denied a license upgrade request

Event type:denyLicenseUpgradeRequest

An admin denied a license upgrade request in this enterprise account.

objectAn empty object

Payload Version

Example payload
{}

Change invite restrictions for an enterprise

Event type:changeEnterpriseInviteRestrictions

Restrictions on what users can be invited to content that the enterprise owns

object
restrictionType
optional<"unrestricted" | "restrictedToEnterpriseAccountEmailDomains" | "restrictedToEnterpriseAccountMembers">

The invite restriction type enabled for the enterprise account

emailDomains
array of strings

Email domains currently associated with the enterprise account.

allowedEmailDomains
optional<array of strings>

Email domains of the user accounts that may be invited to collaborate on the enterprise's assets. If email domain invite restrictions are not enabled, this field will not be present.

previous
object
restrictionType
optional<"unrestricted" | "restrictedToEnterpriseAccountEmailDomains" | "restrictedToEnterpriseAccountMembers">

The invite restriction type enabled for the enterprise account

allowedEmailDomains
optional<array of strings>

Email domains of the user accounts that may be invited to collaborate on the enterprise's assets. If email domain invite restrictions are not enabled, this field will not be present.

current
object
restrictionType
optional<"unrestricted" | "restrictedToEnterpriseAccountEmailDomains" | "restrictedToEnterpriseAccountMembers">

The invite restriction type enabled for the enterprise account

allowedEmailDomains
optional<array of strings>

Email domains of the user accounts that may be invited to collaborate on the enterprise's assets. If email domain invite restrictions are not enabled, this field will not be present.

Payload Version

Example payload
{
"emailDomains": [
"example.com",
"example2.com"
],
"previous": {
"restrictionType": "unrestricted"
},
"current": {
"restrictionType": "restrictedToEnterpriseAccountEmailDomains",
"allowedEmailDomains": [
"example3.com"
]
}
}

Change portal invite restrictions for an enterprise

Event type:changeEnterprisePortalInviteRestrictions

Restrictions on what users can be invited to portals that the enterprise owns

object
restrictionType
optional<"unrestricted" | "restrictedToEnterpriseAccountEmailDomains" | "disabled">

The invite restriction type enabled for the portals in the enterprise account

emailDomains
array of strings

Email domains currently associated with the enterprise account.

allowedEmailDomains
optional<array of strings>

Email domains of the user accounts that may be invited to collaborate on the enterprise's portals. If email domain invite restrictions are not enabled, this field will not be present.

previous
object
restrictionType
optional<"unrestricted" | "restrictedToEnterpriseAccountEmailDomains" | "disabled">

The invite restriction type enabled for the portals in the enterprise account

allowedEmailDomains
optional<array of strings>

Email domains of the user accounts that may be invited to collaborate on the enterprise's portals. If email domain invite restrictions are not enabled, this field will not be present.

current
object
restrictionType
optional<"unrestricted" | "restrictedToEnterpriseAccountEmailDomains" | "disabled">

The invite restriction type enabled for the portals in the enterprise account

allowedEmailDomains
optional<array of strings>

Email domains of the user accounts that may be invited to collaborate on the enterprise's portals. If email domain invite restrictions are not enabled, this field will not be present.

Payload Version

Example payload
{
"emailDomains": [
"example.com",
"example2.com"
],
"previous": {
"restrictionType": "unrestricted"
},
"current": {
"restrictionType": "restrictedToEnterpriseAccountEmailDomains",
"allowedEmailDomains": [
"example3.com"
]
}
}

Change interface organization-wide sharing restrictions for an enterprise

Event type:changeEnterpriseInterfaceOrgWideSharingRestrictions

Restriction on whether creators should be able to share interfaces with the entire organization

object
previous
object
isInterfaceOrgWideSharingRestrictionEnabled
boolean

Whether organization-wide sharing has been disabled for the enterprise account

current
object
isInterfaceOrgWideSharingRestrictionEnabled
boolean

Whether organization-wide sharing has been disabled for the enterprise account

Payload Version

Example payload
{
"previous": {
"isInterfaceOrgWideSharingRestrictionEnabled": false
},
"current": {
"isInterfaceOrgWideSharingRestrictionEnabled": true
}
}

Change global share restrictions for an enterprise

Event type:changeEnterpriseGlobalShareRestrictions

Restrictions on share link access from users outside of the enterprise's own email domains and syncing shared views with other bases has been changed.

object
restrictionType
optional<"unrestricted" | "restrictedOptional" | "restricted" | "membersOnlyRestricted">

The restriction type set for global share restrictions

isPasswordProtectedShareExemptFromRestriction
optional<boolean>

Whether password-protected share links are exempt from any share restrictions

isSharedFormExemptFromRestriction
optional<boolean>

Whether shared forms are exempt from any share restrictions

shouldKeepAmbiguousSharesUnrestricted
optional<boolean>

Whether shares that were previously unrestricted stay unrestricted when setting the share restriction type to "Restricted Optional"

externalTableSyncAdditionalRestrictionType
optional<"unrestricted" | "restrictedToEnterprise" | "restrictedToEnterpriseGrid" | "syncOff">

The restriction type that determines share restrictions for external table syncs from share links, applied in addition to any global share restrictions

externalTableSyncRestrictedToEnterpriseUserPolicy
optional<"anyUser" | "hasCreatorPermissionOrIsAdmin" | "onlyAdmins">

Which users are allowed to toggle external sync restrictions for a share link when share restrictions for external table syncs are restricted to the enterprise

isPublicPageBundlePageSharingDisabled
optional<boolean>

Whether creating new public page bundle pages is disabled

emailDomains
array of strings

Email domains currently associated with the enterprise account.

emailDomainsExemptFromRestriction
optional<array of strings>

User accounts with email addresses of these email domains are exempt from any share restrictions

previous
object
restrictionType
optional<"unrestricted" | "restrictedOptional" | "restricted" | "membersOnlyRestricted">

The restriction type set for global share restrictions

isPasswordProtectedShareExemptFromRestriction
optional<boolean>

Whether password-protected share links are exempt from any share restrictions

isSharedFormExemptFromRestriction
optional<boolean>

Whether shared forms are exempt from any share restrictions

shouldKeepAmbiguousSharesUnrestricted
optional<boolean>

Whether shares that were previously unrestricted stay unrestricted when setting the share restriction type to "Restricted Optional"

externalTableSyncAdditionalRestrictionType
optional<"unrestricted" | "restrictedToEnterprise" | "restrictedToEnterpriseGrid" | "syncOff">

The restriction type that determines share restrictions for external table syncs from share links, applied in addition to any global share restrictions

externalTableSyncRestrictedToEnterpriseUserPolicy
optional<"anyUser" | "hasCreatorPermissionOrIsAdmin" | "onlyAdmins">

Which users are allowed to toggle external sync restrictions for a share link when share restrictions for external table syncs are restricted to the enterprise

isPublicPageBundlePageSharingDisabled
optional<boolean>

Whether creating new public page bundle pages is disabled

emailDomainsExemptFromRestriction
optional<array of strings>

User accounts with email addresses of these email domains are exempt from any share restrictions

current
object
restrictionType
optional<"unrestricted" | "restrictedOptional" | "restricted" | "membersOnlyRestricted">

The restriction type set for global share restrictions

isPasswordProtectedShareExemptFromRestriction
optional<boolean>

Whether password-protected share links are exempt from any share restrictions

isSharedFormExemptFromRestriction
optional<boolean>

Whether shared forms are exempt from any share restrictions

shouldKeepAmbiguousSharesUnrestricted
optional<boolean>

Whether shares that were previously unrestricted stay unrestricted when setting the share restriction type to "Restricted Optional"

externalTableSyncAdditionalRestrictionType
optional<"unrestricted" | "restrictedToEnterprise" | "restrictedToEnterpriseGrid" | "syncOff">

The restriction type that determines share restrictions for external table syncs from share links, applied in addition to any global share restrictions

externalTableSyncRestrictedToEnterpriseUserPolicy
optional<"anyUser" | "hasCreatorPermissionOrIsAdmin" | "onlyAdmins">

Which users are allowed to toggle external sync restrictions for a share link when share restrictions for external table syncs are restricted to the enterprise

isPublicPageBundlePageSharingDisabled
optional<boolean>

Whether creating new public page bundle pages is disabled

emailDomainsExemptFromRestriction
optional<array of strings>

User accounts with email addresses of these email domains are exempt from any share restrictions

Payload Version

Example payload
{
"emailDomains": [
"example.com",
"example2.com"
],
"previous": {
"restrictionType": "unrestricted"
},
"current": {
"restrictionType": "restricted",
"isPasswordProtectedShareExemptFromRestriction": false,
"isSharedFormExemptFromRestriction": false,
"emailDomainsExemptFromRestriction": [
"example3.com"
]
}
}

Change group creation restrictions for an enterprise

Event type:changeEnterpriseGroupCreateRestrictions

Restrictions on whether all users or only admins can create and modify groups have been changed.

object
previous
object
role
"onlyAdmins" | "everyone"
current
object
role
"onlyAdmins" | "everyone"

Payload Version

Example payload
{
"previous": {
"role": "everyone"
},
"current": {
"role": "onlyAdmins"
}
}

Change extension configuration restrictions for an enterprise

Event type:changeEnterpriseExtensionConfigurationRestrictions

Restrictions on the use of extensions within the bases owned by the enterprise have been changed.

object
firstPartyAndPartnerSettings
optional<object>

Restrictions placed on the use of first-party extensions created by Airtable and created by Airtable partners

restrictionType
optional<"allowAll" | "allowWithoutNetworkAccess" | "denyAll">

Determines whether all extensions are allowed for use, only extensions that access Airtable servers, or none at all

allowlistedExtensions
optional<array of the below object>

A list of extensions exempt from restrictions

id
string
name
string
thirdPartySettings
optional<object>

Restrictions placed on the use of third-party extensions within Airtable's marketplace

restrictionType
optional<"allowAll" | "allowWithoutNetworkAccess" | "denyAll">

Determines whether all extensions are allowed for use, only extensions that access Airtable servers, or none at all

allowlistedExtensions
optional<array of the below object>

A list of extensions exempt from restrictions

id
string
name
string
developmentSettings
optional<object>

Restrictions placed on whether users of the enterprise may develop custom extensions, write scripts, and install scripts from the marketplace

isDevelopmentRestrictionEnabled
optional<boolean>

Whether the restriction is enabled

allowlistedDevelopers
optional<array of the below object>

A list of users exempt from restrictions

id
string
name
string
email
string
previous
object
firstPartyAndPartnerSettings
optional<object>

Restrictions placed on the use of first-party extensions created by Airtable and created by Airtable partners

restrictionType
optional<"allowAll" | "allowWithoutNetworkAccess" | "denyAll">

Determines whether all extensions are allowed for use, only extensions that access Airtable servers, or none at all

allowlistedExtensions
optional<array of the below object>

A list of extensions exempt from restrictions

id
string
name
string
thirdPartySettings
optional<object>

Restrictions placed on the use of third-party extensions within Airtable's marketplace

restrictionType
optional<"allowAll" | "allowWithoutNetworkAccess" | "denyAll">

Determines whether all extensions are allowed for use, only extensions that access Airtable servers, or none at all

allowlistedExtensions
optional<array of the below object>

A list of extensions exempt from restrictions

id
string
name
string
developmentSettings
optional<object>

Restrictions placed on whether users of the enterprise may develop custom extensions, write scripts, and install scripts from the marketplace

isDevelopmentRestrictionEnabled
optional<boolean>

Whether the restriction is enabled

allowlistedDevelopers
optional<array of the below object>

A list of users exempt from restrictions

id
string
name
string
email
string
current
object
firstPartyAndPartnerSettings
optional<object>

Restrictions placed on the use of first-party extensions created by Airtable and created by Airtable partners

restrictionType
optional<"allowAll" | "allowWithoutNetworkAccess" | "denyAll">

Determines whether all extensions are allowed for use, only extensions that access Airtable servers, or none at all

allowlistedExtensions
optional<array of the below object>

A list of extensions exempt from restrictions

id
string
name
string
thirdPartySettings
optional<object>

Restrictions placed on the use of third-party extensions within Airtable's marketplace

restrictionType
optional<"allowAll" | "allowWithoutNetworkAccess" | "denyAll">

Determines whether all extensions are allowed for use, only extensions that access Airtable servers, or none at all

allowlistedExtensions
optional<array of the below object>

A list of extensions exempt from restrictions

id
string
name
string
developmentSettings
optional<object>

Restrictions placed on whether users of the enterprise may develop custom extensions, write scripts, and install scripts from the marketplace

isDevelopmentRestrictionEnabled
optional<boolean>

Whether the restriction is enabled

allowlistedDevelopers
optional<array of the below object>

A list of users exempt from restrictions

id
string
name
string
email
string

Payload Version

Example payload
{
"thirdPartySettings": {
"restrictionType": "allowAll"
},
"developmentSettings": {
"isDevelopmentRestrictionEnabled": false
},
"previous": {
"firstPartyAndPartnerSettings": {
"restrictionType": "denyAll",
"allowlistedExtensions": [
{
"id": "blkSmwFJEdER6oksM",
"name": "Test extension"
}
]
}
},
"current": {
"firstPartyAndPartnerSettings": {
"restrictionType": "allowAll"
}
}
}

Change data retention policy for an enterprise

Event type:changeEnterpriseDataRetentionPolicy

Data retention policy for the enterprise have been changed.

object
revisionHistoryRetentionInDays
optional<integer>

The retention period for the revision history and snapshots. Null value means infinite retention.

deletedBaseInTrashRetentionInDays
optional<integer>

The retention period for deleted bases in Trash.

baseInactiveInDays
optional<integer>

The number of days of inactivity that a base is considered inactive and eligible for deletion. Null when inactive base pruning is disabled.

inactiveBaseNotificationTimeSetting
optional<object>

The ahead-in-time notification setting for base owners who have upcoming inactive bases. Null when the inactive base pruning is disabled.

notify30DaysAhead
boolean
notify60DaysAhead
boolean
notify90DaysAhead
boolean
previous
object
revisionHistoryRetentionInDays
optional<integer>

The retention period for the revision history and snapshots. Null value means infinite retention.

deletedBaseInTrashRetentionInDays
optional<integer>

The retention period for deleted bases in Trash.

baseInactiveInDays
optional<integer>

The number of days of inactivity that a base is considered inactive and eligible for deletion. Null when inactive base pruning is disabled.

inactiveBaseNotificationTimeSetting
optional<object>

The ahead-in-time notification setting for base owners who have upcoming inactive bases. Null when the inactive base pruning is disabled.

notify30DaysAhead
boolean
notify60DaysAhead
boolean
notify90DaysAhead
boolean
current
object
revisionHistoryRetentionInDays
optional<integer>

The retention period for the revision history and snapshots. Null value means infinite retention.

deletedBaseInTrashRetentionInDays
optional<integer>

The retention period for deleted bases in Trash.

baseInactiveInDays
optional<integer>

The number of days of inactivity that a base is considered inactive and eligible for deletion. Null when inactive base pruning is disabled.

inactiveBaseNotificationTimeSetting
optional<object>

The ahead-in-time notification setting for base owners who have upcoming inactive bases. Null when the inactive base pruning is disabled.

notify30DaysAhead
boolean
notify60DaysAhead
boolean
notify90DaysAhead
boolean

Payload Version

Example payload
{
"revisionHistoryRetentionInDays": 1095,
"deletedBaseInTrashRetentionInDays": 30,
"previous": {
"baseInactiveInDays": 1095,
"inactiveBaseNotificationTimeSetting": {
"notify30DaysAhead": true,
"notify60DaysAhead": true,
"notify90DaysAhead": true
}
},
"current": {
"baseInactiveInDays": 730,
"inactiveBaseNotificationTimeSetting": {
"notify30DaysAhead": true,
"notify60DaysAhead": false,
"notify90DaysAhead": true
}
}
}

Change AI restriction policy for an enterprise

Event type:changeEnterpriseAiRestrictionPolicy

Restrictions on the use of AI within the enterprise have been changed.

object
previous
object

The AI restriction policy for an enterprise before being changed

isAiEnabled
optional<boolean>

Whether AI features are enabled for the enterprise

aiWorkspaceRestrictionPolicy
optional<"allWorkspaces" | "noWorkspaces" | "specifiedWorkspaces">

Whether AI features are enabled for workspaces in this enterprise

allowedAiModelCreatorsByAiModelProvider
optional<object>

The AI model creators allowed for each AI model provider enabled for this enterprise

key: stringarray of ("openAi" | "anthropic" | "ibm" | "meta" | "amazon" | "sentenceTransformers")
allowedWorkspaces
optional<array of strings>

The workspaces where AI features are explicitly enabled

allowedAiModelProviders
optional<array of strings>

The AI model providers allowed for this enterprise

current
object

The AI restriction policy for an enterprise after being changed

isAiEnabled
optional<boolean>

Whether AI features are enabled for the enterprise

aiWorkspaceRestrictionPolicy
optional<"allWorkspaces" | "noWorkspaces" | "specifiedWorkspaces">

Whether AI features are enabled for workspaces in this enterprise

allowedAiModelCreatorsByAiModelProvider
optional<object>

The AI model creators allowed for each AI model provider enabled for this enterprise

key: stringarray of ("openAi" | "anthropic" | "ibm" | "meta" | "amazon" | "sentenceTransformers")
allowedWorkspaces
optional<array of strings>

The workspaces where AI features are explicitly enabled

allowedAiModelProviders
optional<array of strings>

The AI model providers allowed for this enterprise

Payload Version

Example payload
{
"previous": {
"isAiEnabled": true,
"aiWorkspaceRestrictionPolicy": "allWorkspaces",
"allowedAiModelProviders": [
"openAi"
],
"allowedAiModelCreatorsByAiModelProvider": {
"openAi": [
"openAi"
]
}
},
"current": {
"isAiEnabled": true,
"aiWorkspaceRestrictionPolicy": "specifiedWorkspaces",
"allowedWorkspaces": [
"wspmhESAta6clCCwF"
],
"allowedAiModelProviders": [
"anthropic"
],
"allowedAiModelCreatorsByAiModelProvider": {
"amazonBedrock": [
"anthropic"
]
}
}
}

Change MFA policy for an enterprise

Event type:changeEnterpriseMfaPolicy

The MFA policy for the enterprise has been changed.

object
previous
object
mfaPolicyType
"optional" | "requiredForMembers" | "requiredForEveryone"

The MFA policy for this enterprise

current
object
mfaPolicyType
"optional" | "requiredForMembers" | "requiredForEveryone"

The MFA policy for this enterprise

Payload Version

Example payload
{
"previous": {
"mfaPolicyType": "optional"
},
"current": {
"mfaPolicyType": "requiredForMembers"
}
}

Change enterprise license upgrade request configuration

Event type:changeEnterpriseLicenseUpgradeRequestConfig

The configuration for enterprise license upgrade requests has been changed.

object
previous
object
title
string
message
string
defaultConfig
any of the below objects

type
"inApp"

type
"external"
url
string
externalUsersConfig
optional<any of the below objects>

type
"inApp"

type
"external"
url
string
current
object
title
string
message
string
defaultConfig
any of the below objects

type
"inApp"

type
"external"
url
string
externalUsersConfig
optional<any of the below objects>

type
"inApp"

type
"external"
url
string

Payload Version

Example payload
{
"previous": null,
"current": {
"title": "Request upgrade",
"message": "Request license upgrade",
"defaultConfig": {
"type": "inApp"
}
}
}

Lock grid setting

Event type:updateSettingLock

An enterprise grid setting was locked

object
setting
"adminCustomizedHelpMessage" | "aiRestrictionPolicy" | "airtableToGoogleDriveIntegrationRestriction" | "apiAccessRestriction" | "packageLibraryRestriction" | "attachmentUploadRestriction" | "blockDevelopmentRestriction" | "emailAndApiSyncRestriction" | "emailSyncRestriction" | "apiSyncRestriction" | "firstPartyBlockRestriction" | "groupCreateByRole" | "integrationExternalAccountConfigs" | "integrationsAutomationsExternalSyncAiRestriction" | "inviteRestriction" | "membershipCaptureType" | "oauthRestriction" | "organizationLogo" | "organizationName" | "publishedDatasetPublisherPolicy" | "shareWithAudienceRestriction" | "shareRestriction" | "slackLinkUnfurlingRestriction" | "syncRestriction" | "thirdPartyBlockRestriction" | "dataRetentionPolicy" | "hipaaCompliance" | "dataTableInstallationRestriction" | "colors" | "portalInviteRestriction"
previous
object
locked
boolean
current
object
locked
boolean

Payload Version

Example payload
{
"setting": "shareRestriction",
"previous": {
"locked": true
},
"current": {
"locked": true
}
}

Change enterprise HyperDB installation restrictions

Event type:changeDataTableInstallationRestrictions

The setting for enterprise HyperDB installation restricions has been changed.

object
previous
"restrictedToEnterpriseGrid" | "restrictedToEnterprise"
current
"restrictedToEnterpriseGrid" | "restrictedToEnterprise"

Payload Version

Example payload
{
"previous": "restrictedToEnterprise",
"current": "restrictedToEnterpriseGrid"
}

Change enterprise colors

Event type:changeEnterpriseColors

The setting for enterprise colors has been changed.

object
previous
array of the below object
id
string
isDarkOverride
boolean
name
string
value
string
current
array of the below object
id
string
isDarkOverride
boolean
name
string
value
string

Payload Version

Example payload
{
"previous": [
{
"id": "ecoUBq2RGdihxl3vU",
"isDarkOverride": null,
"name": "My Color",
"value": "#666666"
}
],
"current": [
{
"id": "ecoUBq2RGdihxl3vU",
"isDarkOverride": null,
"name": "My Color",
"value": "#663399"
}
]
}

Change enterprise terms of use configuration

Event type:changeEnterpriseTermsOfUseOptions

The configuration for enterprise terms of use has been changed.

object
previous
object
isDefaultConfigEnabled
boolean
useDifferentConfigForExternalUsers
boolean
isExternalUsersConfigEnabled
optional<boolean>
current
object
isDefaultConfigEnabled
boolean
useDifferentConfigForExternalUsers
boolean
isExternalUsersConfigEnabled
optional<boolean>

Payload Version

Example payload
{
"previous": null,
"current": {
"isDefaultConfigEnabled": true,
"useDifferentConfigForExternalUsers": false
}
}

Create managed app

Event type:createManagedApp

A new managed app was created.

object
name
string

The name of the created managed app.

Payload Version

Example payload
{
"name": "Awesome Managed App"
}

Create component

Event type:createComponent

A new component was created.

object
name
string

The name of the created component.

Payload Version

Example payload
{
"name": "Awesome Component"
}

Delete managed app

Event type:deleteManagedApp

A managed app was deleted.

object
name
string

The name of the deleted managed app.

Payload Version

Example payload
{
"name": "Awesome Managed App"
}

Delete component

Event type:deleteComponent

A component was deleted.

object
name
string

The name of the deleted component.

Payload Version

Example payload
{
"name": "Awesome Component"
}

Publish managed app

Event type:publishManagedApp

A managed app was published.

object
name
string

The name of the published managed app.

Payload Version

Example payload
{
"name": "Awesome Managed App"
}

Publish component

Event type:publishComponent

A component was published.

object
name
string

The name of the published component.

Payload Version

Example payload
{
"name": "Awesome Component"
}

Rename managed app

Event type:updateManagedAppName

A managed app was renamed.

object
previous
object
name
string

The name of the managed app prior to being renamed.

current
object
name
string

The new name of the managed app.

Payload Version

Example payload
{
"previous": {
"name": "Previous app name"
},
"current": {
"name": "New app name"
}
}

Rename component

Event type:updateComponentName

A component was renamed.

object
previous
object
name
string

The name of the component prior to being renamed.

current
object
name
string

The new name of the component.

Payload Version

Example payload
{
"previous": {
"name": "Previous component name"
},
"current": {
"name": "New component name"
}
}

Add managed app audience member

Event type:addManagedAppAudienceMember

An audience member was added to a managed app.

any of the below objects

type
"user"

The type of audience member added to the audience.

name
string

The name of the managed app to whose audience this user was added.

user
object

The user added as an audience member.

id
string
name
string
email
string

type
"group"

The type of audience member added to the audience.

name
string

The name of the managed app to which this group was added.

group
object

The group added as an audience member.

id
string
name
string

Payload Version

Example payload
{
"name": "Awesome Managed App",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group"
}
}

Add component audience member

Event type:addComponentAudienceMember

An audience member was added to a component.

any of the below objects

type
"user"

The type of audience member added to the audience.

name
string

The name of the component to to whose audience this user was added.

user
object

The user added as an audience member.

id
string
name
string
email
string

type
"group"

The type of audience member added to the audience.

name
string

The name of the component to which this group was added.

group
object

The group added as an audience member.

id
string
name
string

Payload Version

Example payload
{
"name": "Awesome Component",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group"
}
}

Remove managed app audience member

Event type:removeManagedAppAudienceMember

An audience member was removed from a managed app.

any of the below objects

type
"user"

The type of audience member removed from the audience.

name
string

The name of the managed app from whose audience this user was removed

user
object

The user removed from the audience.

id
string
name
string
email
string

type
"group"

The type of audience member removed from the audience.

name
string

The name of the managed app from whose audience this group was removed

group
object

The group removed from the audience.

id
string
name
string

Payload Version

Example payload
{
"name": "Awesome Managed App",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group"
}
}

Remove component audience member

Event type:removeComponentAudienceMember

An audience member was removed from a component.

any of the below objects

type
"user"

The type of audience member removed from the audience

name
string

The name of the component from whose audience this user was removed

user
object

The user removed from the audience.

id
string
name
string
email
string

type
"group"

The type of audience member removed from the audience

name
string

The name of the component from whose audience this group was removed

group
object

The group removed from the audience.

id
string
name
string

Payload Version

Example payload
{
"name": "Awesome Component",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group"
}
}

Add managed app collaborator

Event type:addManagedAppCollaborator

A collaborator was added to a managed app.

any of the below objects

type
"user"

The type of collaborator added to the managed app.

name
string

The name of the managed app to which this user was added.

user
object

The user added as a collaborator.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level at which the user was added as a collaborator.

name
string
email
string

type
"group"

The type of collaborator added to the managed app.

name
string

The name of the managed app to which this group was added.

group
object

The group added as a collaborator.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level at which the group was added as a collaborator.

name
string

Payload Version

Example payload
{
"name": "Awesome Managed App",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group",
"permissionLevel": "read"
}
}

Add component collaborator

Event type:addComponentCollaborator

A collaborator was added to a component.

any of the below objects

type
"user"

The type of collaborator added to the component.

name
string

The name of the component to which this user was added.

user
object

The user added as a collaborator.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level at which the user was added as a collaborator.

name
string
email
string

type
"group"

The type of collaborator added to the component

name
string

The name of the component to which this group was added.

group
object

The group added as a collaborator.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level at which the group was added as a collaborator.

name
string

Payload Version

Example payload
{
"name": "Awesome Component",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group",
"permissionLevel": "read"
}
}

Change managed app collaborator permission

Event type:changeManagedAppCollaboratorPermission

The direct permission of a collaborator on a managed app was changed.

any of the below objects

type
"user"

The type of collaborator whose permission on the managed app was changed.

name
string

The name of the managed app on which this user's permission was changed.

user
object

The user whose direct permission on the managed app was changed.

id
string
name
string
email
string
previous
object
user
object
permissionLevel
"read" | "create" | "owner"

The direct managed app permission level of the user prior to this change.

current
object
user
object
permissionLevel
"read" | "create" | "owner"

The new direct managed app permission level of the user.


type
"group"

The type of collaborator whose permission on the managed app was changed.

name
string

The name of the managed app on which this group's permission was changed.

group
object

The group whose direct permission on the managed app was changed.

id
string
name
string
previous
object
group
object
permissionLevel
"read" | "create" | "owner"

The direct managed app permission level of the group prior to this change.

current
object
group
object
permissionLevel
"read" | "create" | "owner"

The new direct managed app permission level of the group.

Payload Version

Example payload
{
"name": "Awesome Managed App",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "owner"
}
}
}

Change component collaborator permission

Event type:changeComponentCollaboratorPermission

The direct permission of a collaborator on a component was changed.

any of the below objects

type
"user"

The type of collaborator whose permission on the component was changed.

name
string

The name of the component on which this user's permission was changed.

user
object

The user whose direct permission on the component was changed.

id
string
name
string
email
string
previous
object
user
object
permissionLevel
"read" | "create" | "owner"

The direct component permission level of the user prior to this change.

current
object
user
object
permissionLevel
"read" | "create" | "owner"

The new direct component permission level of the user.


type
"group"

The type of collaborator whose permission on the component was changed.

name
string

The name of the component on which this group's permission was changed.

group
object

The group whose direct permission on the component was changed.

id
string
name
string
previous
object
group
object
permissionLevel
"read" | "create" | "owner"

The direct component permission level of the group prior to this change.

current
object
group
object
permissionLevel
"read" | "create" | "owner"

The new direct component permission level of the group.

Payload Version

Example payload
{
"name": "Awesome Component",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "owner"
}
}
}

Remove managed app collaborator

Event type:removeManagedAppCollaborator

A collaborator was removed from a managed app.

any of the below objects

type
"user"

The type of collaborator removed from the managed app.

name
string

The name of the managed app from which this user was removed.

user
object

The user removed from the managed app.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level of the user when removed from the managed app.

name
string
email
string

type
"group"

The type of collaborator removed from the managed app.

name
string

The name of the managed app from which this group was removed.

group
object

The group removed from the managed app.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level of the group when removed from the managed app.

name
string

Payload Version

Example payload
{
"name": "Awesome Managed App",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group",
"permissionLevel": "read"
}
}

Remove component collaborator

Event type:removeComponentCollaborator

A collaborator was removed from a component.

any of the below objects

type
"user"

The type of collaborator removed from the component.

name
string

The name of the component from which this user was removed.

user
object

The user removed from the component.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level of the user when removed from the component.

name
string
email
string

type
"group"

The type of collaborator removed from the component.

name
string

The name of the component from which this group was removed.

group
object

The group removed from the component.

id
string
permissionLevel
"read" | "create" | "owner"

The permission level of the group when removed from the component.

name
string

Payload Version

Example payload
{
"name": "Awesome Component",
"type": "group",
"group": {
"id": "ugp1mKGb3KXUyQfOZ",
"name": "Awesome group",
"permissionLevel": "read"
}
}

Publish data set

Event type:createPublishedDataset

Creates a new published data set.

object
publishedDataset
object

The created published data set.

name
string
owner
the below object
type
"user"

The type of data set owner.

user
object
id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner" | "none"

The permission level of the data set owner.

name
string
email
string
audience
object
type
"orgUnitWide" | "gridWide" | "specificUserGroups" | "unselected"

The audience type of the data set.

Payload Version

Example payload
{
"publishedDataset": {
"name": "My data set name",
"owner": {
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "owner"
}
},
"audience": {
"type": "gridWide"
}
}
}

Change data set name

Event type:changePublishedDatasetName

The name of a published data set was changed.

object
current
object
publishedDataset
object
name
string

The new name of the data set.

previous
object
publishedDataset
object
name
string

The previous name of the data set.

Payload Version

Example payload
{
"current": {
"publishedDataset": {
"name": "My updated data set name"
}
},
"previous": {
"publishedDataset": {
"name": "My old data set name"
}
}
}

Unpublish a data set

Event type:deletePublishedDataset

Deletes a published data set.

object
publishedDataset
object

The deleted published data set.

name
string

Payload Version

Example payload
{
"publishedDataset": {
"name": "My deleted data set"
}
}

Update published data set owner

Event type:updatePublishedDatasetOwner

The owner of a published data set was updated.

object
name
string

The name of the data set in which the owner was updated.

current
the below object
type
"user"

The type of the new data set owner.

user
object
id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner" | "none"

The permission level of the new data set owner.

name
string
email
string
previous
the below object
type
"user"

The type of the previous data set owner.

user
object
id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner" | "none"

The permission level of the previous data set owner.

name
string
email
string

Payload Version

Example payload
{
"name": "My published data set",
"current": {
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "owner"
}
},
"previous": {
"type": "user",
"user": {
"id": "usrM3PNC5o3H4lBEt",
"email": "jenna.jones@example.com",
"name": "Jenna Jones",
"permissionLevel": "comment"
}
}
}

Update published data set audiences

Event type:updatePublishedDatasetAudiences

The audiences of a published data set were updated.

object
name
string

The name of the data set in which the audiences were updated.

originatingUserId
string

Id of the user that performed the audiences update.

current
object
type
"orgUnitWide" | "gridWide" | "specificUserGroups" | "unselected"

The updated audience type of the data set.

audienceIds
array of strings
previous
object
type
"orgUnitWide" | "gridWide" | "specificUserGroups" | "unselected"

The original audience type of the data set.

audienceIds
array of strings

Payload Version

Example payload
{
"name": "My published data set",
"originatingUserId": "usrL2PNC5o3H4lBEi",
"current": {
"type": "orgUnitWide",
"audienceIds": [
"ugpOjyHm01InnGQYV"
]
},
"previous": {
"type": "specificUserGroups",
"audienceIds": [
"ugpVkI4ekrHfSP0xx",
"ugpVkI4ekrHfSP0yy"
]
}
}

Update published data set verification status

Event type:updatePublishedDatasetVerificationStatus

Published data set verification status was updated

object
name
string

The name of the data set in which the verification status was updated.

previous
object
verificationStatus
"unverified" | "verified"
current
object
verificationStatus
"unverified" | "verified"

Payload Version

Example payload
{
"name": "My published data set",
"previous": {
"verificationStatus": "unverified"
},
"current": {
"verificationStatus": "verified"
}
}

Deactivate published data set

Event type:deactivatePublishedDataset

A published data set was made inactive due to changes in share or sync settings

object
deactivationReason
"shareNotEnabled" | "parentSyncTurnedOff" | "shareHasPassword" | "shareEmailDomainRestricted" | "shareTwoWaySyncEnabled" | "dataTableDeleted" | "dataTableBackedDatasetMadeInactive"
publishedDataset
object

The deactivated dataset

name
string

Payload Version

Example payload
{
"publishedDataset": {
"name": "My published data set"
},
"deactivationReason": "shareHasPassword"
}

Reactivate published data set

Event type:reactivatePublishedDataset

A published data set was made active after deactivation

object
publishedDataset
object

The reactivated dataset

name
string

Payload Version

Example payload
{
"publishedDataset": {
"name": "My published data set"
}
}

Create workspace

Event type:createWorkspace

A new workspace was created.

object
name
string

The name of the created workspace

Payload Version

Example payload
{
"name": "My New Workspace"
}

Delete workspace

Event type:deleteWorkspace

A workspace was deleted.

object
name
string

The name of the deleted workspace

Payload Version

Example payload
{
"name": "My Workspace"
}

Restore workspace from trash

Event type:restoreWorkspaceFromTrash

A workspace was restored from the trash.

object
name
string

The name of the restored workspace

Payload Version

Example payload
{
"name": "My Workspace"
}

Rename workspace

Event type:updateWorkspaceName

A workspace was renamed.

object
previous
object
name
string

The name of the workspace prior to being renamed

current
object
name
string

The new name of the workspace

Payload Version

Example payload
{
"previous": {
"name": "Previous workspace name"
},
"current": {
"name": "New workspace name"
}
}

Move workspace

Event type:moveWorkspace

A workspace was moved between accounts.

object
name
string

The name of the moved workspace

previous
object

The previous billing plan and enterprise account

billingPlan
object

The workspace's previous billing plan

id
string
type
"free" | "plus" | "starter" | "pro" | "enterprise"
enterpriseAccount
optional<object>

The enterprise account from which the workspace was moved. If blank, the workspace was moved from a non-enterprise account

id
string
name
string
current
object

The current billing plan and enterprise account

billingPlan
object

The workspace's current billing plan

id
string
type
"free" | "plus" | "starter" | "pro" | "enterprise"
enterpriseAccount
optional<object>

The enterprise account into which the workspace was moved. If blank, the workspace was moved into a non-enterprise account

id
string
name
string

Payload Version

Example payload
{
"name": "My Workspace",
"previous": {
"billingPlan": {
"id": "plnbPlNFGdSC2wd8f",
"type": "free"
}
},
"current": {
"enterpriseAccount": {
"id": "entUBq2RGdihxl3vU",
"name": "Current Enterprise Account"
},
"billingPlan": {
"id": "plnguNcA6hGo17hxU",
"type": "enterprise"
}
}
}

Change workspace sharing restrictions

Event type:changeWorkspaceSharingRestrictions

The sharing restrictions for a workspace were changed.

object
name
string

The name of the workspace

inviteCreationRestriction
optional<"unrestricted" | "onlyOwners">

Whether only owners can add collaborators or create invites to this workspace, its bases, and its interfaces

shareCreationRestriction
optional<"unrestricted" | "onlyOwners">

Whether only owners can create new share links to this workspace, its bases, and its interfaces

previous
object

The sharing restrictions for a workspace before being changed

inviteCreationRestriction
optional<"unrestricted" | "onlyOwners">

Whether only owners can add collaborators or create invites to this workspace, its bases, and its interfaces

shareCreationRestriction
optional<"unrestricted" | "onlyOwners">

Whether only owners can create new share links to this workspace, its bases, and its interfaces

current
object

The sharing restrictions for a workspace after being changed

inviteCreationRestriction
optional<"unrestricted" | "onlyOwners">

Whether only owners can add collaborators or create invites to this workspace, its bases, and its interfaces

shareCreationRestriction
optional<"unrestricted" | "onlyOwners">

Whether only owners can create new share links to this workspace, its bases, and its interfaces

Payload Version

Example payload
{
"name": "My Workspace",
"inviteCreationRestriction": "unrestricted",
"previous": {
"shareCreationRestriction": "unrestricted"
},
"current": {
"shareCreationRestriction": "onlyOwners"
}
}

Create workspace invite link

Event type:addWorkspaceInviteLink

An invite link was created for a workspace.

object
url
string

The URL of the invite link

permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level a user would be granted when accepting this invite

restrictedToEmailDomains
array of strings

The email domain restrictions assigned to the invite link. When null, no domain restrictions are assigned to the invite link, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand invite link accessibility.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this invite link. This factors in the invite link's email domain restrictions and all enterprise-wide invite link restrictions. A viewer must have an account associated with an email domain included in the allow list to accept this invite link. When null, any email domain may accept the invite link. If the list is empty, the invite link cannot be used by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide invite restrictions).

workspace
object
id
string
name
string

The name of the workspace at time of invite link creation

Payload Version

Example payload
{
"url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000",
"permissionLevel": "owner",
"restrictedToEmailDomains": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
],
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "My Workspace"
}
}

Configure workspace invite link

Event type:configureWorkspaceInviteLink

An workspace invite link's configuration was changed.

object
url
string

The URL of the invite link

permissionLevel
optional<"read" | "comment" | "edit" | "create" | "owner">

The permission level a user would be granted when accepting this invite

previous
object

The properties of the invite link configuration before these changes were applied

url
optional<string>
permissionLevel
optional<"read" | "comment" | "edit" | "create" | "owner">
restrictedToEmailDomains
optional<array of strings>
effectiveEmailDomainAllowList
optional<array of strings>
current
object

The properties of the invite link configuration after these changes were applied

url
optional<string>
permissionLevel
optional<"read" | "comment" | "edit" | "create" | "owner">
restrictedToEmailDomains
optional<array of strings>
effectiveEmailDomainAllowList
optional<array of strings>
restrictedToEmailDomains
optional<array of strings>

The email domain restrictions assigned to the invite link. When null, no domain restrictions are assigned to the invite link, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand invite link accessibility.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this invite link. This factors in the invite link's email domain restrictions and all enterprise-wide invite link restrictions. A viewer must have an account associated with an email domain included in the allow list to accept this invite link. When null, any email domain may accept the invite link. If the list is empty, the invite link cannot be used by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide invite restrictions).

workspace
object
id
string
name
string

The name of the workspace at time of invite link modification

Payload Version

Example payload
{
"url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000",
"restrictedToEmailDomains": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
],
"previous": {
"permissionLevel": "create"
},
"current": {
"permissionLevel": "edit"
},
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "My Workspace"
}
}

Remove workspace invite link

Event type:removeWorkspaceInviteLink

An invite link was removed from a workspace.

object
url
string

The URL of the invite link

permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level a user would be granted when accepting this invite

restrictedToEmailDomains
array of strings

The email domain restrictions assigned to the invite link. When null, no domain restrictions are assigned to the invite link, but higher level ones may affect it. We recommend using effectiveEmailDomainAllowList to understand invite link accessibility.

effectiveEmailDomainAllowList
array of strings

The email domains effectively allowed to access this invite link. This factors in the invite link's email domain restrictions and all enterprise-wide invite link restrictions. A viewer must have an account associated with an email domain included in the allow list to accept this invite link. When null, any email domain may accept the invite link. If the list is empty, the invite link cannot be used by anyone due to restrictions, (e.g. no member of restrictEmailDomainTo is allowed by enterprise-wide invite restrictions).

workspace
object
id
string
name
string

The name of the workspace at time of invite link removal

Payload Version

Example payload
{
"url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000",
"permissionLevel": "owner",
"restrictedToEmailDomains": null,
"effectiveEmailDomainAllowList": [
"example.com",
"example1.com"
],
"workspace": {
"id": "wspmhESAta6clCCwF",
"name": "My Workspace"
}
}

Change workspace AI permissions

Event type:changeWorkspaceAiPermissions

The AI permissions for a workspace were changed.

object
name
string

The name of the workspace

previous
object

The AI permissions for a workspace before being changed

enableAiFeatures
optional<"allBases" | "noBases">

Whether AI features are enabled for bases in this workspace

current
object

The AI permissions for a workspace after being changed

enableAiFeatures
optional<"allBases" | "noBases">

Whether AI features are enabled for bases in this workspace

Payload Version

Example payload
{
"name": "My Workspace",
"previous": {
"enableAiFeatures": "noBases"
},
"current": {
"enableAiFeatures": "allBases"
}
}

Invite workspace collaborator

Event type:inviteWorkspaceCollaborator

A user was invited to collaborate on a workspace.

object
name
string

The name of the workspace to which this user was invited

user
object

The user invited as a collaborator.

id
optional<string>

Present when the invited user is already an Airtable user

permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level at which the user was invited as a collaborator.

name
optional<string>

Present when the invited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "My Workspace",
"user": {
"email": "john.jacob@example.com",
"permissionLevel": "comment"
}
}

Add workspace collaborator

Event type:addWorkspaceCollaborator

A collaborator was added to a workspace.

any of the below objects

type
"user"

The type of collaborator added to the workspace

name
string

The name of the workspace to which this user was added

user
object

The user added as a collaborator.

id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level at which the user was added as a collaborator.

name
string
email
string

type
"group"

The type of collaborator added to the workspace

name
string

The name of the workspace to which this group was added

group
object

The group added as a collaborator.

id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level at which the group was added as a collaborator.

name
string

Payload Version

Example payload
{
"name": "My Workspace",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "comment"
}
}

Change workspace collaborator permission

Event type:changeWorkspaceCollaboratorPermission

The direct permission of a collaborator on a workspace was changed.

any of the below objects

type
"user"

The type of collaborator whose permission on the workspace was changed.

name
string

The name of the workspace on which this user's permission was changed.

user
object

The user whose direct permission on the workspace was changed.

id
string
name
string
email
string
previous
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The direct workspace permission level of the user prior to this change.

current
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The new direct workspace permission level of the user.


type
"group"

The type of collaborator whose permission on the workspace was changed.

name
string

The name of the workspace on which this group's permission was changed.

group
object

The group whose direct permission on the workspace was changed.

id
string
name
string
previous
object
group
object
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The direct workspace permission level of the group prior to this change.

current
object
group
object
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The new direct workspace permission level of the group.

Payload Version

Example payload
{
"name": "My Workspace",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "comment"
}
}
}

Change workspace invite permission

Event type:changeWorkspaceInvitePermission

The permission a user will receive on a workspace when they accept the associated invite was changed.

object
name
string

The name of the workspace on which this invite's permission was changed.

user
object

The user whose invited permission on the workspace was changed.

id
optional<string>

Present when the invited user is already an Airtable user

name
optional<string>

Present when the invited user is already an Airtable user

email
string
previous
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The direct permission level the invited user would have received on accepting the workspace invite prior to this change.

current
object
user
object
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The new direct permission level the invited user will receive on accepting the workspace invite.

Payload Version

Example payload
{
"name": "My Workspace",
"user": {
"email": "john.jacob@example.com"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "comment"
}
}
}

Uninvite workspace collaborator

Event type:uninviteWorkspaceCollaborator

A user was uninvited from a workspace.

object
name
string

The name of the workspace from which this user was uninvited

user
object

The user uninvited from the workspace.

id
optional<string>

Present when the uninvited user is already an Airtable user

permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level of the user when uninvited from the workspace.

name
optional<string>

Present when the uninvited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "My Workspace",
"user": {
"email": "john.jacob@example.com",
"permissionLevel": "comment"
}
}

Remove workspace collaborator

Event type:removeWorkspaceCollaborator

A collaborator was removed from a workspace.

any of the below objects

type
"user"

The type of collaborator removed from the workspace

name
string

The name of the workspace from which this user was removed

user
object

The user removed from the workspace.

id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level of the user when removed from the workspace.

name
string
email
string

type
"group"

The type of collaborator removed from the workspace

name
string

The name of the workspace from which this group was removed

group
object

The group removed from the workspace.

id
string
permissionLevel
"read" | "comment" | "edit" | "create" | "owner"

The permission level of the group when removed from the workspace.

name
string

Payload Version

Example payload
{
"name": "My Workspace",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "comment"
}
}

Create interface

Event type:createInterface

An interface was created

object
name
string

The name of the created interface

Payload Version

Example payload
{
"name": "Product Tracker"
}

Delete interface

Event type:deleteInterface

An interface was deleted.

object
name
string

The name of the deleted interface

Payload Version

Example payload
{
"name": "Product Tracker"
}

Restore interface from trash

Event type:restoreInterfaceFromTrash

An interface was restored from the trash.

object
name
string

The name of the restored interface

Payload Version

Example payload
{
"name": "Product Tracker"
}

Duplicate Interface

Event type:duplicateInterface

An interface was duplicated.

object
name
string

The name of the newly duplicated interface

Payload Version

Example payload
{
"name": "Product Tracker"
}

View interface

Event type:viewInterface

An interface was viewed. This event is emitted at most once every 5 minutes per user/interface combination.

object
name
string

The name of the viewed interface

Payload Version

Example payload
{
"name": "My Interface"
}

Rename interface

Event type:updateInterfaceName

An interface was renamed

object
previous
object
name
string

The name of the interface prior to being renamed

current
object
name
string

The new name of the interface

Payload Version

Example payload
{
"previous": {
"name": "Previous interface name"
},
"current": {
"name": "New interface name"
}
}

Publish interface

Event type:publishInterface

An interface was published

object
name
string

The name of the published interface

Payload Version

Example payload
{
"name": "Product Tracker"
}

Unpublish interface

Event type:unpublishInterface

An interface was unpublished.

object
name
string

The name of the unpublished interface

Payload Version

Example payload
{
"name": "Product Tracker"
}

View form

Event type:viewForm

A form was viewed. This event is emitted at most once every 5 minutes per user/form combination.

object
name
string

The name of the viewed form

Payload Version

Example payload
{
"name": "My Form"
}

Publish form

Event type:publishForm

A form was published

object
name
string

The name of the published form

Payload Version

Example payload
{
"name": "Product Feedback"
}

Unpublish form

Event type:unpublishForm

A form was unpublished.

object
name
string

The name of the unpublished form

Payload Version

Example payload
{
"name": "Product Feedback"
}

Configure form sharing settings

Event type:configureFormSharingSettings

A form's sharing settings were configured.

object
name
string

The name of the unpublished form

isPublic
optional<boolean>

Whether this form is accessible to anyone, including logged-out users

isPasswordProtected
optional<boolean>

Whether access to this form is password protected

previous
object

The properties of the page configuration before these changes were applied

isPublic
optional<boolean>

Whether this form is accessible to anyone, including logged-out users

isPasswordProtected
optional<boolean>

Whether access to this form is password protected

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this form. This factors in the form's email domain restrictions and all enterprise-wide sharing restrictions. A viewer must have an account associated with an email domain included in the allow list to access this form.

current
object

The properties of the page configuration after these changes were applied

isPublic
optional<boolean>

Whether this form is accessible to anyone, including logged-out users

isPasswordProtected
optional<boolean>

Whether access to this form is password protected

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this form. This factors in the form's email domain restrictions and all enterprise-wide sharing restrictions. A viewer must have an account associated with an email domain included in the allow list to access this form.

effectiveEmailDomainAllowList
optional<array of strings>

The email domains effectively allowed to access this form. This factors in the form's email domain restrictions and all enterprise-wide sharing restrictions. A viewer must have an account associated with an email domain included in the allow list to access this form.

Payload Version

Example payload
{
"isPublic": false,
"effectiveEmailDomainAllowList": [
"example.com"
],
"previous": {
"isPasswordProtected": false
},
"current": {
"isPasswordProtected": true
},
"name": "Product Feedback"
}

Invite interface collaborator

Event type:inviteInterfaceCollaborator

A user was invited to collaborate on an interface.

object
name
string

The name of the interface to which this user was invited

user
object

The user invited as a collaborator.

id
optional<string>

Present when the invited user is already an Airtable user

permissionLevel
"read" | "comment" | "edit"

The permission level at which the user was invited as a collaborator.

name
optional<string>

Present when the invited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "My Interface",
"user": {
"email": "john.jacob@example.com",
"permissionLevel": "comment"
}
}

Add interface collaborator

Event type:addInterfaceCollaborator

A collaborator was added to an interface.

any of the below objects

type
"user"

The type of collaborator added to the interface

name
string

The name of the interface to which this user was added

user
object

The user added as a collaborator.

id
string
permissionLevel
"read" | "comment" | "edit"

The permission level at which the user was added as a collaborator.

name
string
email
string

type
"group"

The type of collaborator added to the interface

name
string

The name of the interface to which this group was added

group
object

The group added as a collaborator.

id
string
permissionLevel
"read" | "comment" | "edit"

The permission level at which the group was added as a collaborator.

name
string

Payload Version

Example payload
{
"name": "My Interface",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "comment"
}
}

Change interface collaborator permission

Event type:changeInterfaceCollaboratorPermission

The direct permission of a collaborator on an interface was changed.

any of the below objects

type
"user"

The type of collaborator whose permission on the interface was changed.

name
string

The name of the interface on which this user's permission was changed.

user
object

The user whose direct permission on the interface was changed.

id
string
name
string
email
string
previous
object
user
object
permissionLevel
"read" | "comment" | "edit"

The direct interface permission level of the user prior to this change.

current
object
user
object
permissionLevel
"read" | "comment" | "edit"

The new direct interface permission level of the user.


type
"group"

The type of collaborator whose permission on the interface was changed.

name
string

The name of the interface on which this group's permission was changed.

group
object

The group whose direct permission on the interface was changed.

id
string
name
string
previous
object
group
object
permissionLevel
"read" | "comment" | "edit"

The direct interface permission level of the group prior to this change.

current
object
group
object
permissionLevel
"read" | "comment" | "edit"

The new direct interface permission level of the group.

Payload Version

Example payload
{
"name": "My Interface",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "comment"
}
}
}

Change interface invite permission

Event type:changeInterfaceInvitePermission

The permission a user will receive on an interface when they accept the associated invite was changed.

object
name
string

The name of the interface on which this invite's permission was changed.

user
object

The user whose invited permission on the interface was changed.

id
optional<string>

Present when the invited user is already an Airtable user

name
optional<string>

Present when the invited user is already an Airtable user

email
string
previous
object
user
object
permissionLevel
"read" | "comment" | "edit"

The direct permission level the invited user would have received on accepting the interface invite prior to this change.

current
object
user
object
permissionLevel
"read" | "comment" | "edit"

The new direct permission level the invited user will receive on accepting the interface invite.

Payload Version

Example payload
{
"name": "My Interface",
"user": {
"email": "john.jacob@example.com"
},
"previous": {
"user": {
"permissionLevel": "read"
}
},
"current": {
"user": {
"permissionLevel": "comment"
}
}
}

Uninvite interface collaborator

Event type:uninviteInterfaceCollaborator

A user was uninvited from an interface.

object
name
string

The name of the interface from which this user was uninvited

user
object

The user uninvited from the interface.

id
optional<string>

Present when the uninvited user is already an Airtable user

permissionLevel
"read" | "comment" | "edit"

The permission level of the user when uninvited from the interface.

name
optional<string>

Present when the uninvited user is already an Airtable user

email
string

Payload Version

Example payload
{
"name": "My Interface",
"user": {
"email": "john.jacob@example.com",
"permissionLevel": "comment"
}
}

Remove interface collaborator

Event type:removeInterfaceCollaborator

A collaborator was removed from an interface.

any of the below objects

type
"user"

The type of collaborator removed from the interface

name
string

The name of the interface from which this user was removed

user
object

The user removed from the interface.

id
string
permissionLevel
"read" | "comment" | "edit"

The permission level of the user when removed from the interface.

name
string
email
string

type
"group"

The type of collaborator removed from the interface

name
string

The name of the interface from which this group was removed

group
object

The group removed from the interface.

id
string
permissionLevel
"read" | "comment" | "edit"

The permission level of the group when removed from the interface.

name
string

Payload Version

Example payload
{
"name": "My Interface",
"type": "user",
"user": {
"id": "usrL2PNC5o3H4lBEi",
"email": "john.jacob@example.com",
"name": "John Jacob",
"permissionLevel": "comment"
}
}

Change interface organization-wide sharing permission

Event type:configureInterfaceOrgWideSharing

An interface's organization-wide sharing permission was updated.

object
name
string

The name of the interface which was updated with a new permission for organization-wide sharing.

audience
object

The audience with the updated interface organization-wide sharing permission

id
string
name
string
enterpriseAccountId
string
previous
object
permissionLevel
"edit" | "read" | "comment" | "none"

The interface permission level for organization-wide sharing prior to this change.

current
object
permissionLevel
"edit" | "read" | "comment" | "none"

The new interface organization-wide sharing permission level post this change.

Payload Version

Example payload
{
"name": "My Interface",
"audience": {
"name": "Example organization",
"id": "ugpOjyHm01InnGQYV",
"enterpriseAccountId": "entEEnPbptK123456"
},
"previous": {
"permissionLevel": "read"
},
"current": {
"permissionLevel": "comment"
}
}

Download CSV

Event type:downloadCSV

A CSV document was downloaded from a view or interface page element.

any of the below objects

csvDownloadOrigin
optional<"sharedViewEmbed" | "viewMenuPopover">

Origin of the CSV download

view
object
name
string

The name of the view

table
object
name
string

The name of the table. The table name is null if the view is a public shared view


csvDownloadOrigin
optional<"queryContainerCta" | "dashboardDrilldownOrExpansion">

Origin of the CSV download

page
object
name
string

The name of the page from which the data was downloaded.

pageElement
object
name
string

The name of the page element that triggered the download.

Payload Version

Example payload
{
"view": {
"name": "My View"
},
"table": {
"name": "My Table"
},
"csvDownloadOrigin": "sharedViewEmbed"
}

Moderate AI content

Event type:moderateAiContent

AI content violated an AI provider’s moderation policy and returned an error.

object
aiModelProvider
"openAi" | "anthropic" | "amazon" | "ibmWatsonx" | "selfHosted"

The AI model provider that flagged the content

surface
string

The AI surface where the content was moderated

categories
array of strings

The moderation categories that were flagged

field
optional<object>

Field that produced the content that was moderated.

id
string
name
string
record
optional<object>

Record that produced the content that was moderated.

id
string
automation
optional<object>

Automation that produced the content that was moderated.

id
string
name
optional<string>
base
optional<object>
id
string
name
string

The name of the base in which the moderation occured.

workspace
optional<object>
id
string
name
string

The name of the workspace in which the moderation occured.

Payload Version

Example payload
{
"base": {
"name": "My base",
"id": "appLkNDICXNqxSDhG"
},
"categories": [
"sexual",
"violence"
],
"aiModelProvider": "openAi",
"surface": "Automation",
"field": {
"id": "fldoi0c3GaRQJ3xnI",
"name": "My field"
},
"record": {
"id": "rec560UJdUtocSouk"
},
"automation": {
"id": "wfldKFToDPyy9BUp8",
"name": "My workflow"
}
}