Skip to main content
App notifications are in-app alerts sent to users when relevant activity occurs. Every notification shares a common base shape, and each notification type carries type-specific data in its metadata field.

Base Fields

All notification types include these fields:
PropertyTypeDescription
idstringUnique notification identifier (UUID).
userIdstringThe recipient’s user ID.
typeAppNotificationTypeThe notification type. See types listed below.
actionstringSuggested action for the client when the notification is tapped (e.g. "open-comment", "open-entity", "open-profile").
isReadbooleanWhether the user has read this notification.
metadataRecord<string, any>Type-specific data. See per-type metadata below.
titlestring | undefinedDisplay title derived from the notification template. Only present when the notification has been populated — not guaranteed on every notification object.
contentstring | undefinedDisplay content derived from the notification template. Only present when the notification has been populated — not guaranteed on every notification object.
createdAtstringISO timestamp when the notification was created.

Notification Types

entity-comment

Triggered when someone comments on the user’s entity. Action: "open-comment"
Metadata FieldTypeDescription
entityIdstringID of the entity.
entityShortIdstringShort ID for sharing links.
entityTitlestring | nullEntity title.
entityContentstring | nullEntity content preview.
commentIdstringID of the new comment.
commentContentstring | nullComment content preview.
initiatorIdstringID of the user who commented.
initiatorNamestring | nullDisplay name of the commenter.
initiatorUsernamestring | nullUsername of the commenter.
initiatorAvatarstring | nullAvatar URL of the commenter.

comment-reply

Triggered when someone replies to the user’s comment. Action: "open-comment" Same metadata as entity-comment, plus:
Metadata FieldTypeDescription
replyIdstringID of the reply.
replyContentstring | nullReply content preview.

entity-mention

Triggered when a user is mentioned in an entity. Action: "open-entity"
Metadata FieldTypeDescription
entityIdstringID of the entity containing the mention.
entityShortIdstringShort ID for sharing links.
entityTitlestring | nullEntity title.
entityContentstring | nullEntity content preview.
initiatorIdstringID of the user who made the mention.
initiatorNamestring | nullDisplay name.
initiatorUsernamestring | nullUsername.
initiatorAvatarstring | nullAvatar URL.

comment-mention

Triggered when a user is mentioned in a comment. Action: "open-comment" Same as entity-mention metadata, plus:
Metadata FieldTypeDescription
commentIdstringID of the comment containing the mention.
commentContentstring | nullComment content preview.

entity-upvote

Triggered when someone upvotes the user’s entity. Action: "open-entity" Same as entity-mention metadata.

comment-upvote

Triggered when someone upvotes the user’s comment. Action: "open-comment" Same as comment-mention metadata.

entity-reaction

Triggered when someone reacts to the user’s entity. Action: "open-entity" Same as entity-mention metadata, plus:
Metadata FieldTypeDescription
reactionTypestringThe reaction type that was applied.

comment-reaction

Triggered when someone reacts to the user’s comment. Action: "open-comment" Same as comment-mention metadata, plus reactionType.

entity-reaction-milestone-specific

Triggered when an entity reaches a milestone count for a specific reaction type. Action: "open-entity"
Metadata FieldTypeDescription
entityIdstringID of the entity.
entityShortIdstringShort ID.
entityTitlestring | nullEntity title.
entityContentstring | nullContent preview.
reactionTypestringThe reaction type that hit the milestone.
milestoneCountnumberThe milestone count reached.
lastThreeUsersMilestoneUser[]The three most recent reactors.

entity-reaction-milestone-total

Triggered when an entity reaches a milestone for total reactions across all types. Action: "open-entity"
Metadata FieldTypeDescription
entityIdstringID of the entity.
entityShortIdstringShort ID.
entityTitlestring | nullEntity title.
entityContentstring | nullContent preview.
milestoneCountnumberThe total reaction milestone reached.
reactionCountsRecord<string, number>Breakdown of counts by reaction type.
lastThreeUsersMilestoneUser[]The three most recent reactors.

comment-reaction-milestone-specific

Triggered when a comment reaches a milestone count for a specific reaction type. Action: "open-comment"
Metadata FieldTypeDescription
entityIdstringID of the entity the comment belongs to.
entityShortIdstringShort ID.
entityTitlestring | nullEntity title.
entityContentstring | nullEntity content preview.
commentIdstringID of the comment.
commentContentstring | nullComment content preview.
reactionTypestringThe reaction type that hit the milestone.
milestoneCountnumberThe milestone count reached.
lastThreeUsersMilestoneUser[]The three most recent reactors.

comment-reaction-milestone-total

Triggered when a comment reaches a milestone for total reactions across all types. Action: "open-comment"
Metadata FieldTypeDescription
entityIdstringID of the entity the comment belongs to.
entityShortIdstringShort ID.
entityTitlestring | nullEntity title.
entityContentstring | nullEntity content preview.
commentIdstringID of the comment.
commentContentstring | nullComment content preview.
milestoneCountnumberThe total reaction milestone reached.
reactionCountsRecord<string, number>Breakdown of counts by reaction type.
lastThreeUsersMilestoneUser[]The three most recent reactors.

new-follow

Triggered when someone follows the user. Action: "open-profile"
Metadata FieldTypeDescription
initiatorIdstringID of the new follower.
initiatorNamestring | nullDisplay name.
initiatorUsernamestring | nullUsername.
initiatorAvatarstring | nullAvatar URL.

connection-request

Triggered when someone sends the user a connection request. Action: "open-profile"
Metadata FieldTypeDescription
connectionIdstringID of the connection record.
initiatorIdstringID of the requester.
initiatorNamestring | nullDisplay name.
initiatorUsernamestring | nullUsername.
initiatorAvatarstring | nullAvatar URL.

connection-accepted

Triggered when someone accepts the user’s connection request. Action: "open-profile" Same metadata fields as connection-request.

space-membership-approved

Triggered when a space moderator approves the user’s pending membership request. Action: "open-space"
Metadata FieldTypeDescription
spaceIdstringID of the space.
spaceNamestringName of the space.
spaceShortIdstringShort ID for sharing links.
spaceSlugstring | null | undefinedURL slug of the space.
spaceAvatarstring | null | undefinedAvatar URL of the space.

system

A manually triggered notification from the project dashboard. Action: Configurable.
Metadata FieldTypeDescription
titlestring | undefinedOptional notification title.
contentstring | undefinedOptional notification body.
buttonData{ text: string; url: string } | nullOptional call-to-action button data.

Nested Types

MilestoneUser

PropertyTypeDescription
idstringUser ID.
namestring | null | undefinedDisplay name.
usernamestring | null | undefinedUsername.
avatarstring | null | undefinedAvatar URL.

See Also