Events_
Harness the power of events in Appwrite. Explore event-driven architecture, event types, and how to use events to create dynamic applications.
2 min read
Appwrite provides a variety of events that allows your application to react to changes as they happen. An event will fire when a change occurs in your Appwrite project, like when a new user registers or a new file is uploaded to Appwrite. You can subscribe to these events with Appwrite Functions, Realtime, or Webhooks.
You can subscribe to events for specific resources using their ID or subscribe to changes of all resources of the same type by using a wildcard character * instead of an ID. You can also filter for events of specific actions like create, update, upsert, or delete.
You can find a list of events for Storage, Databases, Functions, Sites, and Authentication services below.
| Name | Description |
|---|---|
teams.* | This event triggers on any teams event. Returns Team Object |
teams.*.create | This event triggers when a team is created. Returns Team Object |
teams.*.delete | This event triggers when a team is deleted. Returns Team Object |
teams.*.memberships.* | This event triggers on any team memberships event. Returns Membership Object |
teams.*.memberships.*.create | This event triggers when a membership is created. Returns Membership Object |
teams.*.memberships.*.delete | This event triggers when a membership is deleted. Returns Membership Object |
teams.*.memberships.*.update | This event triggers when a membership is updated. Returns Membership Object |
teams.*.memberships.*.update.status | This event triggers when a team memberships status is updated. Returns Membership Object |
teams.*.update | This event triggers when a team is updated. Returns Team Object |
teams.*.update.prefs | This event triggers when a team's preferences are updated. Returns Team Object |
users.* | This event triggers on any user's event. Returns User Object |
users.*.create | This event triggers when a user is created. Returns User Object |
users.*.delete | This event triggers when a user is deleted. Returns User Object |
users.*.recovery.* | This event triggers on any user's recovery token event. Returns Token Object |
users.*.recovery.*.create | This event triggers when a recovery token for a user is created. Returns Token Object |
users.*.recovery.*.update | This event triggers when a recovery token for a user is validated. Returns Token Object |
users.*.sessions.* | This event triggers on any user's sessions event. Returns Session Object |
users.*.sessions.*.create | This event triggers when a session for a user is created. Returns Session Object |
users.*.sessions.*.delete | This event triggers when a session for a user is deleted. Returns Session Object |
users.*.update | This event triggers when a user is updated. Returns User Object |
users.*.update.email | This event triggers when a user's email address is updated. Returns User Object |
users.*.update.name | This event triggers when a user's name is updated. Returns User Object |
users.*.update.password | This event triggers when a user's password is updated. Returns User Object |
users.*.update.prefs | This event triggers when a user's preferences is updated. Returns User Object |
users.*.update.status | This event triggers when a user's status is updated. Returns User Object |
users.*.verification.* | This event triggers on any user's verification token event. Returns Token Object |
users.*.verification.*.create | This event triggers when a verification token for a user is created. Returns Token Object |
users.*.verification.*.update | This event triggers when a verification token for a user is validated. Returns Token Object |
| Name | Description |
|---|---|
tablesdb.* | This event triggers on any database event. Returns Database Object |
tablesdb.*.tables.* | This event triggers on any table event. Returns Table Object |
tablesdb.*.tables.*.columns.* | This event triggers on any columns event. Returns Column Object |
tablesdb.*.tables.*.columns.*.create | This event triggers when a column is created. Returns Column Object |
tablesdb.*.tables.*.columns.*.update | This event triggers when a column is updated. Returns Column Object |
tablesdb.*.tables.*.columns.*.delete | This event triggers when a column is deleted. Returns Column Object |
tablesdb.*.tables.*.create | This event triggers when a table is created. Returns Table Object |
tablesdb.*.tables.*.delete | This event triggers when a table is deleted. Returns Table Object |
tablesdb.*.tables.*.rows.* | This event triggers on any rows event. Returns Row Object |
tablesdb.*.tables.*.rows.*.create | This event triggers when a row is created. Returns Row Object |
tablesdb.*.tables.*.rows.*.delete | This event triggers when a row is deleted. Returns Row Object |
tablesdb.*.tables.*.rows.*.update | This event triggers when a row is updated. Returns Row Object |
tablesdb.*.tables.*.rows.*.upsert | This event triggers when a row is upserted. Returns Row Object |
tablesdb.*.tables.*.indexes.* | This event triggers on any indexes event. Returns Index Object |
tablesdb.*.tables.*.indexes.*.create | This event triggers when an index is created. Returns Index Object |
tablesdb.*.tables.*.indexes.*.update | This event triggers when an index is updated. Returns Index Object |
tablesdb.*.tables.*.indexes.*.delete | This event triggers when an index is deleted. Returns Index Object |
tablesdb.*.tables.*.update | This event triggers when a table is updated. Returns Table Object |
tablesdb.*.create | This event triggers when a database is created. Returns Database Object |
tablesdb.*.delete | This event triggers when a database is deleted. Returns Database Object |
tablesdb.*.update | This event triggers when a database is updated. Returns Database Object |
Collections, documents, and attributes have been deprecated in favour of tables, rows, and columns. The databases.* event prefix has been replaced by tablesdb.*.
| Name | Description |
|---|---|
buckets.* | This event triggers on any buckets event. Returns Bucket Object |
buckets.*.create | This event triggers when a bucket is created. Returns Bucket Object |
buckets.*.delete | This event triggers when a bucket is deleted. Returns Bucket Object |
buckets.*.files.* | This event triggers on any files event. Returns File Object |
buckets.*.files.*.create | Since the Appwrite SDK chunks files in 5MB increments, this event will trigger for each 5MB chunk. A file is fully uploaded when chunksTotal equals chunksUploaded. Returns File Object |
buckets.*.files.*.delete | This event triggers when a file is deleted. Returns File Object |
buckets.*.files.*.update | This event triggers when a file is updated. Returns File Object |
buckets.*.update | This event triggers when a bucket is updated. Returns Bucket Object |
| Name | Description |
|---|---|
functions.* | This event triggers on any functions event. Returns Function Object |
functions.*.create | This event triggers when a function is created. Returns Function Object |
functions.*.delete | This event triggers when a function is deleted. Returns Function Object |
functions.*.deployments.* | This event triggers on any deployments event. Returns Deployment Object |
functions.*.deployments.*.create | This event triggers when a deployment is created. Returns Deployment Object |
functions.*.deployments.*.delete | This event triggers when a deployment is deleted. Returns Deployment Object |
functions.*.deployments.*.update | This event triggers when a deployment is updated. Returns Deployment Object |
functions.*.executions.* | This event triggers on any executions event. Returns Execution Object |
functions.*.executions.*.create | This event triggers when an execution is created. Returns Execution Object |
functions.*.executions.*.delete | This event triggers when an execution is deleted. Returns Execution Object |
functions.*.executions.*.update | This event triggers when an execution is updated. Returns Execution Object |
functions.*.update | This event triggers when a function is updated. Returns Function Object |
| Name | Description |
|---|---|
sites.* | This event triggers on any sites event. Returns Site Object |
sites.*.create | This event triggers when a site is created. Returns Site Object |
sites.*.delete | This event triggers when a site is deleted. Returns Site Object |
sites.*.deployments.* | This event triggers on any deployments event. Returns Deployment Object |
sites.*.deployments.*.create | This event triggers when a deployment is created. Returns Deployment Object |
sites.*.deployments.*.delete | This event triggers when a deployment is deleted. Returns Deployment Object |
sites.*.deployments.*.update | This event triggers when a deployment is updated. Returns Deployment Object |
sites.*.update | This event triggers when a site is updated. Returns Site Object |
| Name | Description |
|---|---|
providers.* | This event triggers on any providers event. Returns Provider Object |
providers.*.create | This event triggers when a provider is created. Returns Provider Object |
providers.*.delete | This event triggers when a provider is deleted. Returns Provider Object |
providers.*.update | This event triggers when a provider is updated. Returns Provider Object |
topics.* | This event triggers on any topic event. Returns Topic Object |
topics.*.create | This event triggers when a topic is created. Returns Topic Object |
topics.*.delete | This event triggers when a topic is deleted. Returns Topic Object |
topics.*.update | This event triggers when a topic is updated. Returns Topic Object |
topics.*.subscribers.*.create | This event triggers when a subscriber to a topic is created. Returns Topic Object |
topics.*.subscribers.*.delete | This event triggers when a subscriber to a topic is deleted. Returns Topic Object |
messages.* | This event triggers on any message event. Returns Message Object |
messages.*.create | This event triggers when a message is created. Returns Message Object |
messages.*.delete | This event triggers when a message is deleted. Returns Message Object |
messages.*.update | This event triggers when a message is updated. Returns Message Object |
Known limitations
When events fire, only existing subscriptions for that event will receive the update. If your client or server side integrations lose network connection temporarily, delivery of the event is not guaranteed.
For self-hosted instances, when the Appwrite containers are shut down and restarted, events with pending webhooks and subscription updates will not be delivered.
A change to a resource can cause multiple events to fire. For example adding a new row with ID "lion-king" to a table with the ID "movies" will cause all of the below events to fire.
{ "events": [ "tablesdb.default.tables.movies.rows.lion-king.create", "tablesdb.*.tables.*.rows.*.create", "tablesdb.default.tables.*.rows.lion-king.create", "tablesdb.*.tables.*.rows.lion-king.create", "tablesdb.*.tables.movies.rows.lion-king.create", "tablesdb.default.tables.movies.rows.*.create", "tablesdb.*.tables.movies.rows.*.create", "tablesdb.default.tables.*.rows.*.create", "tablesdb.default.tables.movies.rows.lion-king", "tablesdb.*.tables.*.rows.*", "tablesdb.default.tables.*.rows.lion-king", "tablesdb.*.tables.*.rows.lion-king", "tablesdb.*.tables.movies.rows.lion-king", "tablesdb.default.tables.movies.rows.*", "tablesdb.*.tables.movies.rows.*", "tablesdb.default.tables.*.rows.*", "tablesdb.default.tables.movies", "tablesdb.*.tables.*", "tablesdb.default.tables.*", "tablesdb.*.tables.movies", "tablesdb.default", "tablesdb.*" ]}Was this page helpful?
Share what worked or what we should fix. Once approved, our agents automatically apply suggested updates to the docs.