Event reference

Budibase produces a number of events when operations of interest occur within the application. For example when a new app is created an app:created event is created, when the app is published an app:published event is created. Events are used for a number of purposes, such as audit logging and analytics that help Budibase create a better product for our users.

Identities

Every event has an associated identity to indicate who or what triggered the event.

User

An event triggered within the context of an authenticated user.

Example: An API request

A user has attached metadata:

{
   "accountHolder": false,
   "admin": false,
   "builder": true,
   "environment": "docker-compose",
   "hosting": "self",
   "id": "us_2d714b1745b1-40d7b36f539e214d8170",
   "type": "user",
   "installationId": "2d714b1745b1-40d7b36f539e214d8170",
   "tenantId": "2d714b1745b1-40d7b36f539e214d8170_default",
   "verified": true
}

Tenant

An event triggered as a result of a background process, within the scope of a single tenant.

Example: An Automation

A tenant has attached metadata:

{
   "id": "acmecorp",
   "type": "tenant",
   "hosting": "cloud",
   "environment": "kubernetes",
   "installationId": "2d714b1745b1-40d7b36f539e214d8170",
   // Cloud Only
   "profession": "software_engineer", 
   "companySize": "1+" 
}

Installation

An event triggered as a result of a background process, outside the scope of any one tenant.

Example: Version updated.

An installation has attached metadata:

{
   "id": "2d714b1745b1-40d7b36f539e214d8170",
   "type": "installation",
   "hosting": "cloud",
   "environment": "kubernetes",
   "version": "1.0.203"
}

Event properties

There are some properties that are included in every event:

version

The software version at the time of sending the event.

Example: 1.0.201

service

The service that sent the event.

Example: app-service

environment

The environment of the budibase instance.

Example: docker-compose

appId (optional)

The current App ID relating to the event.

Example: app_2d714b1745b1-40d7b36f539e214d8170

installationId

The globally unique Installation ID.

Example: 2d714b1745b1-40d7b36f539e214d8170

tenantId

The globally unique Tenant ID.

Example: 2d714b1745b1-40d7b36f539e214d8170_default

hosting

Indicator of the hosting type. The value can be either self for self hosted installs or cloud for the budibase cloud environment.

Types of events

All events that are currently produced are listed below. In addition to the common event properties from above each event may also contain additional properties.

User

  • user:created
{
   "userId": "string"
}
  • user:updated
{
   "userId": "string"
}
  • user:deleted
{
   "userId": "string"
}
  • user:admin:assigned
{
   "userId": "string"
}
  • user:admin:removed
{
   "userId": "string"
}
  • user:builder:assigned
{
   "userId": "string"
}
  • user:builder:removed
{
   "userId": "string"
}
  • user:invited
  • user:invite:accepted
{
   "userId": "string"
}
  • user:password:force:reset
{
   "userId": "string"
}
  • user:password:updated
{
   "userId": "string"
}
  • user:password:reset:requested
{
   "userId": "string"
}
  • user:password:reset
{
   "userId": "string"
}

Email

  • email:smtp:created
  • email:smtp:updated

Auth

  • auth:sso:created
{
   "type": "string" // "oidc", "google"
}
  • auth:sso:updated
{
   "type": "string" // "oidc", "google"
}
  • auth:sso:activated
{
   "type": "string" // "oidc", "google"
}
  • auth:sso:deactivated
{
   "type": "string" // "oidc", "google"
}
  • auth:login
{
   "userId": "string",
   "source": "string", // "local", "google", "oidc", "google-internal"
}
  • auth:logout
{
   "userId": "string"
}

Org

  • org:info:name:updated
  • org:info:logo:updated
  • org:platformurl:updated

Installation

  • installation:version:checked
{
   "currentVersion": "string"
}
  • installation:version:upgraded
{
   "from": "string",
   "to": "string",   
}
  • installation:version:downgraded
{
   "from": "string",
   "to": "string",   
}
  • installation:firstStartup

App

  • app:created
  • app:updated
  • app:deleted
  • app:published
  • app:unpublished
  • app:template:imported
{
   "templateKey": "string"
}
  • app:file:imported
{
   "appId": "string"
}
  • app:version:updated
{
   "currentVersion": "string",
   "updatedToVersion": "string"
}
  • app:version:reverted
{
   "currentVersion": "string",
   "revertedToVersion": "string"
}
  • app:reverted
  • app:exported

Role

  • role:created
{
   "roleId": "string",
   "permssionId": "string",
   "inherits": "string"
}
  • role:updated
{
   "roleId": "string",
   "permssionId": "string",
   "inherits": "string"
}
  • role:deleted
{
   "roleId": "string",
   "permssionId": "string",
   "inherits": "string"
}
  • role:assigned
{
   "userId": "string",
   "roleId": "string"
}
  • role:unassigned
{
   "userId": "string",
   "roleId": "string"
}

Serve

  • served:builder
  • served:app
{
   "appVersion": "string"
}
  • served:app:preview
{
   "appVersion": "string"
}

Datasource

  • datasource:created
{
   "datasourceId": "string",
   "source": "string" // e.g. "REST", "POSTGRES"
}
  • datasource:updated
{
   "datasourceId": "string",
   "source": "string" // e.g. "REST", "POSTGRES"
}
  • datasource:deleted
{
   "datasourceId": "string",
   "source": "string" // e.g. "REST", "POSTGRES"
}

Query

  • query:created
{
   "queryId": "string",
   "datasourceId": "string",   
   "source": "string", // e.g. "REST", "POSTGRES"
   "queryVerb": "string" // "create", "read", "update", "delete"
}
  • query:updated
{
   "queryId": "string",
   "datasourceId": "string",   
   "source": "string", // e.g. "REST", "POSTGRES"
   "queryVerb": "string" // "create", "read", "update", "delete"
}
  • query:deleted
{
   "queryId": "string",
   "datasourceId": "string",   
   "source": "string", // e.g. "REST", "POSTGRES"
   "queryVerb": "string" // "create", "read", "update", "delete"
}
  • query:import
{
   "datasourceId": "string",   
   "source": "string", // "REST"
   "count": "number",
   "importSource": "string" // "curl", "openapi2.0", "openapi3.0"
}
  • queries:run
{
   "count": "number"   
}
  • query:previewed
{
   "queryId": "string",
   "datasourceId": "string",   
   "source": "string", // e.g. "REST", "POSTGRES"
   "queryVerb": // "create", "read", "update", "delete"
}

Table

  • table:created
{
   "tableId": "string"
}
  • table:updated
{
   "tableId": "string"
}
  • table:deleted
{
   "tableId": "string"
}
  • table:exported
{
   "tableId": "string",
   "format": "string" // "json", "csv"
}
  • table:imported
{
   "tableId": "string",
   "format": "string" // "csv"
}

View

  • view:created
{
   "tableId": "string"
}
  • view:updated
{
   "tableId": "string"
}
  • view:deleted
{
   "tableId": "string"
}
  • view:exported
{
   "tableId": "string",
   "format": "string" // "json", "csv"
}
  • view:filter:created
{
   "tableId": "string"
}
  • view:filter:updated
{
   "tableId": "string"
}
  • view:filter:deleted
{
   "tableId": "string"
}
  • view:calculation:created
{
   "tableId": "string",
   "calculation": "string" // "sum", "count", "stats"
}
  • view:calculation:updated
{
   "tableId": "string",
   "calculation": "string" // "sum", "count", "stats"
}
  • view:calculation:deleted
{
   "tableId": "string",
   "calculation": "string" // "sum", "count", "stats"
}

Rows

  • rows:created
{
   "count": "number"
}
  • rows:imported
{
   "tableId": "string",
   "format": "string", // "csv"
   "count": "number"
}

Component

  • component:created
{
   "name": "string" // "@budibase/standard-components/cardsblock"
}
  • component:deleted
{
   "name": "string" // "@budibase/standard-components/cardsblock"
}

Screen

  • screen:created
{
   "screenId": "string",
   "layoutId": "string",
   "roleId": "string"
}
  • screen:deleted
{
   "screenId": "string",
   "layoutId": "string",
   "roleId": "string"
}

Layout

  • layout:created
{
   "layoutId" "string"
}
  • layout:deleted
{
   "layoutId" "string"
}

Automation

  • automation:created
{
   "automationId": "string",
}

automation:deleted

{
   "automationId": "string",
}

automation:tested

{
   "automationId": "string",
   "triggerId": "string",
   "triggerType": "string" // "APP", "CRON", "WEBHOOK", "ROW_UPDATED", "ROW_DELETED", "ROW_SAVED"
}

automations:run

{
   "count": "number"
}

automation:step:created

{
   "automationId": "string",
   "triggerId": "string",
   "triggerType": "string", // "APP", "CRON", "WEBHOOK", "ROW_UPDATED", "ROW_DELETED", "ROW_SAVED"
   "stepId": "string",
   "stepType": "string", // e.g. "SEND_EMAIL_SMTP"
}

automation:step:deleted

{
   "automationId": "string",
   "triggerId": "string",
   "triggerType": "string", // "APP", "CRON", "WEBHOOK", "ROW_UPDATED", "ROW_DELETED", "ROW_SAVED"
   "stepId": "string",
   "stepType": "string", // e.g. "SEND_EMAIL_SMTP"
}

Account

  • account:created
{
   "registrationStep": "string"
}
  • account:deleted
  • account:verified