Events

Appwrite provides a variety of events that allows your application to react to changes as they happen. A 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, or delete.

You can find a list of events for Storage, Databases, Functions, and Authentication services below.

  • Authentication
    NameDescription
    teams.*This event triggers on any teams event. Returns Team Object
    teams.*.createThis event triggers when a team is created. Returns Team Object
    teams.*.deleteThis 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.*.createThis event triggers when a membership is created. Returns Membership Object
    teams.*.memberships.*.deleteThis event triggers when a membership is deleted. Returns Membership Object
    teams.*.memberships.*.updateThis event triggers when a membership is updated. Returns Membership Object
    teams.*.memberships.*.update.statusThis event triggers when a team memberships status is updated. Returns Membership Object
    teams.*.updateThis event triggers when a team is updated. Returns Team Object
    teams.*.update.prefsThis 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.*.createThis event triggers when a user is created. Returns User Object
    users.*.deleteThis 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.*.createThis event triggers when a recovery token for a user is created. Returns Token Object
    users.*.recovery.*.updateThis 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.*.createThis event triggers when a session for a user is created. Returns Session Object
    users.*.sessions.*.deleteThis event triggers when a session for a user is deleted. Returns Session Object
    users.*.updateThis event triggers when a user is updated. Returns User Object
    users.*.update.emailThis event triggers when a user's email address is updated. Returns User Object
    users.*.update.nameThis event triggers when a user's name is updated. Returns User Object
    users.*.update.passwordThis event triggers when a user's password is updated. Returns User Object
    users.*.update.prefsThis event triggers when a user's preferences is updated. Returns User Object
    users.*.update.statusThis 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.*.createThis event triggers when a verification token for a user is created. Returns Token Object
    users.*.verification.*.updateThis event triggers when a verification token for a user is validated. Returns Token Object
  • Databases
    NameDescription
    databases.*This event triggers on any database event. Returns Database Object
    databases.*.collections.*This event triggers on any collection event. Returns Collection Object
    databases.*.collections.*.attributes.*This event triggers on any attributes event. Returns Attribute Object
    databases.*.collections.*.attributes.*.createThis event triggers when an attribute is created. Returns Attribute Object
    databases.*.collections.*.attributes.*.deleteThis event triggers when an attribute is deleted. Returns Attribute Object
    databases.*.collections.*.createThis event triggers when a collection is created. Returns Collection Object
    databases.*.collections.*.deleteThis event triggers when a collection is deleted. Returns Collection Object
    databases.*.collections.*.documents.*This event triggers on any documents event. Returns Document Object
    databases.*.collections.*.documents.*.createThis event triggers when a document is created. Returns Document Object
    databases.*.collections.*.documents.*.deleteThis event triggers when a document is deleted. Returns Document Object
    databases.*.collections.*.documents.*.updateThis event triggers when a document is updated. Returns Document Object
    databases.*.collections.*.indexes.*This event triggers on any indexes event. Returns Index Object
    databases.*.collections.*.indexes.*.createThis event triggers when an index is created. Returns Index Object
    databases.*.collections.*.indexes.*.deleteThis event triggers when an index is deleted. Returns Index Object
    databases.*.collections.*.updateThis event triggers when a collection is updated. Returns Collection Object
    databases.*.createThis event triggers when a database is created. Returns Database Object
    databases.*.deleteThis event triggers when a database is deleted. Returns Database Object
    databases.*.updateThis event triggers when a database is updated. Returns Database Object
  • Storage
    NameDescription
    buckets.*This event triggers on any buckets event. Returns Bucket Object
    buckets.*.createThis event triggers when a bucket is created. Returns Bucket Object
    buckets.*.deleteThis event triggers when a bucket is deleted. Returns Bucket Object
    buckets.*.files.*This event triggers on any files event. Returns File Object
    buckets.*.files.*.createSince 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.*.deleteThis event triggers when a file is deleted. Returns File Object
    buckets.*.files.*.updateThis event triggers when a file is updated. Returns File Object
    buckets.*.updateThis event triggers when a bucket is updated. Returns Bucket Object
  • Functions
    NameDescription
    functions.*This event triggers on any functions event. Returns Function Object
    functions.*.createThis event triggers when a function is created. Returns Function Object
    functions.*.deleteThis event triggers when a function is deleted. Returns Function Object
    functions.*.deployments.*This event triggers on any deployments event. Returns Deployment Object
    functions.*.deployments.*.createThis event triggers when a deployment is created. Returns Deployment Object
    functions.*.deployments.*.deleteThis event triggers when a deployment is deleted. Returns Deployment Object
    functions.*.deployments.*.updateThis event triggers when a deployment is updated. Returns Deployment Object
    functions.*.executions.*This event triggers on any executions event. Returns Execution Object
    functions.*.executions.*.createThis event triggers when an execution is created. Returns Execution Object
    functions.*.executions.*.deleteThis event triggers when an execution is deleted. Returns Execution Object
    functions.*.executions.*.updateThis event triggers when an execution is updated. Returns Execution Object
    functions.*.updateThis event triggers when a function is updated. Returns Function Object
  • Messaging
    NameDescription
    providers.*This event triggers on any providers event. Returns Provider Object
    providers.*.createThis event triggers when a provider is created. Returns Provider Object
    providers.*.deleteThis event triggers when a provider is deleted. Returns Provider Object
    providers.*.updateThis event triggers when a provider is updated. Returns Provider Object
    topics.*This event triggers on any topic event. Returns Topic Object
    topics.*.createThis event triggers when a topic is created. Returns Topic Object
    topics.*.deleteThis event triggers when a topic is deleted. Returns Topic Object
    topics.*.updateThis event triggers when a topic is updated. Returns Topic Object
    topics.*.subscribers.*.createThis event triggers when a subscriber to a topic is created. Returns Topic Object
    topics.*.subscribers.*.deleteThis 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.*.createThis event triggers when a message is created. Returns Message Object
    messages.*.deleteThis event triggers when a message is deleted. Returns Message Object
    messages.*.updateThis 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 document with ID "lion-king" to a collection with the ID "movies" will cause all of the below events to fire.

JSON
{
  "events": [
      "databases.default.collections.movies.documents.lion-king.create",
      "databases.*.collections.*.documents.*.create",
      "databases.default.collections.*.documents.lion-king.create",
      "databases.*.collections.*.documents.lion-king.create",
      "databases.*.collections.movies.documents.lion-king.create",
      "databases.default.collections.movies.documents.*.create",
      "databases.*.collections.movies.documents.*.create",
      "databases.default.collections.*.documents.*.create",
      "databases.default.collections.movies.documents.lion-king",
      "databases.*.collections.*.documents.*",
      "databases.default.collections.*.documents.lion-king",
      "databases.*.collections.*.documents.lion-king",
      "databases.*.collections.movies.documents.lion-king",
      "databases.default.collections.movies.documents.*",
      "databases.*.collections.movies.documents.*",
      "databases.default.collections.*.documents.*",
      "databases.default.collections.movies",
      "databases.*.collections.*",
      "databases.default.collections.*",
      "databases.*.collections.movies",
      "databases.default",
      "databases.*"
  ]
}