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, upsert, or delete.
You can find a list of events for Storage, Databases, Functions, and Authentication services below.
Authentication
Name Description teams.*
This event triggers on any teams event. Returns Team Objectteams.*.create
This event triggers when a team is created. Returns Team Objectteams.*.delete
This event triggers when a team is deleted. Returns Team Objectteams.*.memberships.*
This event triggers on any team memberships event. Returns Membership Objectteams.*.memberships.*.create
This event triggers when a membership is created. Returns Membership Objectteams.*.memberships.*.delete
This event triggers when a membership is deleted. Returns Membership Objectteams.*.memberships.*.update
This event triggers when a membership is updated. Returns Membership Objectteams.*.memberships.*.update.status
This event triggers when a team memberships status is updated. Returns Membership Objectteams.*.update
This event triggers when a team is updated. Returns Team Objectteams.*.update.prefs
This event triggers when a team's preferences are updated. Returns Team Objectusers.*
This event triggers on any user's event. Returns User Objectusers.*.create
This event triggers when a user is created. Returns User Objectusers.*.delete
This event triggers when a user is deleted. Returns User Objectusers.*.recovery.*
This event triggers on any user's recovery token event. Returns Token Objectusers.*.recovery.*.create
This event triggers when a recovery token for a user is created. Returns Token Objectusers.*.recovery.*.update
This event triggers when a recovery token for a user is validated. Returns Token Objectusers.*.sessions.*
This event triggers on any user's sessions event. Returns Session Objectusers.*.sessions.*.create
This event triggers when a session for a user is created. Returns Session Objectusers.*.sessions.*.delete
This event triggers when a session for a user is deleted. Returns Session Objectusers.*.update
This event triggers when a user is updated. Returns User Objectusers.*.update.email
This event triggers when a user's email address is updated. Returns User Objectusers.*.update.name
This event triggers when a user's name is updated. Returns User Objectusers.*.update.password
This event triggers when a user's password is updated. Returns User Objectusers.*.update.prefs
This event triggers when a user's preferences is updated. Returns User Objectusers.*.update.status
This event triggers when a user's status is updated. Returns User Objectusers.*.verification.*
This event triggers on any user's verification token event. Returns Token Objectusers.*.verification.*.create
This event triggers when a verification token for a user is created. Returns Token Objectusers.*.verification.*.update
This event triggers when a verification token for a user is validated. Returns Token ObjectDatabases
Name Description databases.*
This event triggers on any database event. Returns Database Objectdatabases.*.collections.*
This event triggers on any collection event. Returns Collection Objectdatabases.*.collections.*.attributes.*
This event triggers on any attributes event. Returns Attribute Objectdatabases.*.collections.*.attributes.*.create
This event triggers when an attribute is created. Returns Attribute Objectdatabases.*.collections.*.attributes.*.delete
This event triggers when an attribute is deleted. Returns Attribute Objectdatabases.*.collections.*.create
This event triggers when a collection is created. Returns Collection Objectdatabases.*.collections.*.delete
This event triggers when a collection is deleted. Returns Collection Objectdatabases.*.collections.*.documents.*
This event triggers on any documents event. Returns Document Objectdatabases.*.collections.*.documents.*.create
This event triggers when a document is created. Returns Document Objectdatabases.*.collections.*.documents.*.delete
This event triggers when a document is deleted. Returns Document Objectdatabases.*.collections.*.documents.*.update
This event triggers when a document is updated. Returns Document Objectdatabases.*.collections.*.documents.*.upsert
This event triggers when a document is upserted. Returns Document Objectdatabases.*.collections.*.indexes.*
This event triggers on any indexes event. Returns Index Objectdatabases.*.collections.*.indexes.*.create
This event triggers when an index is created. Returns Index Objectdatabases.*.collections.*.indexes.*.delete
This event triggers when an index is deleted. Returns Index Objectdatabases.*.collections.*.update
This event triggers when a collection is updated. Returns Collection Objectdatabases.*.create
This event triggers when a database is created. Returns Database Objectdatabases.*.delete
This event triggers when a database is deleted. Returns Database Objectdatabases.*.update
This event triggers when a database is updated. Returns Database ObjectStorage
Name Description buckets.*
This event triggers on any buckets event. Returns Bucket Objectbuckets.*.create
This event triggers when a bucket is created. Returns Bucket Objectbuckets.*.delete
This event triggers when a bucket is deleted. Returns Bucket Objectbuckets.*.files.*
This event triggers on any files event. Returns File Objectbuckets.*.files.*.create
Since the Appwrite SDK chunks files in 5MB increments, this event will trigger for each 5MB chunk. A file is fully uploaded whenchunksTotal
equalschunksUploaded
. Returns File Objectbuckets.*.files.*.delete
This event triggers when a file is deleted. Returns File Objectbuckets.*.files.*.update
This event triggers when a file is updated. Returns File Objectbuckets.*.update
This event triggers when a bucket is updated. Returns Bucket ObjectFunctions
Name Description functions.*
This event triggers on any functions event. Returns Function Objectfunctions.*.create
This event triggers when a function is created. Returns Function Objectfunctions.*.delete
This event triggers when a function is deleted. Returns Function Objectfunctions.*.deployments.*
This event triggers on any deployments event. Returns Deployment Objectfunctions.*.deployments.*.create
This event triggers when a deployment is created. Returns Deployment Objectfunctions.*.deployments.*.delete
This event triggers when a deployment is deleted. Returns Deployment Objectfunctions.*.deployments.*.update
This event triggers when a deployment is updated. Returns Deployment Objectfunctions.*.executions.*
This event triggers on any executions event. Returns Execution Objectfunctions.*.executions.*.create
This event triggers when an execution is created. Returns Execution Objectfunctions.*.executions.*.delete
This event triggers when an execution is deleted. Returns Execution Objectfunctions.*.executions.*.update
This event triggers when an execution is updated. Returns Execution Objectfunctions.*.update
This event triggers when a function is updated. Returns Function ObjectMessaging
Name Description providers.*
This event triggers on any providers event. Returns Provider Objectproviders.*.create
This event triggers when a provider is created. Returns Provider Objectproviders.*.delete
This event triggers when a provider is deleted. Returns Provider Objectproviders.*.update
This event triggers when a provider is updated. Returns Provider Objecttopics.*
This event triggers on any topic event. Returns Topic Objecttopics.*.create
This event triggers when a topic is created. Returns Topic Objecttopics.*.delete
This event triggers when a topic is deleted. Returns Topic Objecttopics.*.update
This event triggers when a topic is updated. Returns Topic Objecttopics.*.subscribers.*.create
This event triggers when a subscriber to a topic is created. Returns Topic Objecttopics.*.subscribers.*.delete
This event triggers when a subscriber to a topic is deleted. Returns Topic Objectmessages.*
This event triggers on any message event. Returns Message Objectmessages.*.create
This event triggers when a message is created. Returns Message Objectmessages.*.delete
This event triggers when a message is deleted. Returns Message Objectmessages.*.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 document with ID "lion-king"
to a collection with the ID "movies"
will cause all of the below events to fire.
{
"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.*"
]
}