ObjectStackObjectStack

Feed

Feed protocol schemas

Feed Item Type

Unified activity types for the record timeline.

Covers comments, field changes, tasks, events, and system activities.

Source: packages/spec/src/data/feed.zod.ts

TypeScript Usage

import { FeedActor, FeedFilterMode, FeedItem, FeedItemType, FeedVisibility, FieldChangeEntry, Mention, Reaction } from '@objectstack/spec/data';
import type { FeedActor, FeedFilterMode, FeedItem, FeedItemType, FeedVisibility, FieldChangeEntry, Mention, Reaction } from '@objectstack/spec/data';

// Validate data
const result = FeedActor.parse(data);

FeedActor

Properties

PropertyTypeRequiredDescription
typeEnum<'user' | 'system' | 'service' | 'automation'>Actor type
idstringActor ID
namestringoptionalActor display name
avatarUrlstringoptionalActor avatar URL
sourcestringoptionalSource application (e.g., "Omni", "API", "Studio")

FeedFilterMode

Allowed Values

  • all
  • comments_only
  • changes_only
  • tasks_only

FeedItem

Properties

PropertyTypeRequiredDescription
idstringFeed item ID
typeEnum<'comment' | 'field_change' | 'task' | 'event' | 'email' | 'call' | 'note' | 'file' | 'record_create' | 'record_delete' | 'approval' | 'sharing' | 'system'>Activity type
objectstringObject name (e.g., "account")
recordIdstringRecord ID this feed item belongs to
actorObjectWho performed this action
bodystringoptionalRich text body (Markdown supported)
mentionsObject[]optionalMentioned users/teams/records
changesObject[]optionalField-level changes
reactionsObject[]optionalEmoji reactions on this item
parentIdstringoptionalParent feed item ID for threaded replies
replyCountintegerNumber of replies
pinnedbooleanWhether the feed item is pinned to the top of the timeline
pinnedAtstringoptionalTimestamp when the item was pinned
pinnedBystringoptionalUser ID who pinned the item
starredbooleanWhether the feed item is starred/bookmarked by the current user
starredAtstringoptionalTimestamp when the item was starred
visibilityEnum<'public' | 'internal' | 'private'>Visibility: public (all users), internal (team only), private (author + mentioned)
createdAtstringCreation timestamp
updatedAtstringoptionalLast update timestamp
editedAtstringoptionalWhen comment was last edited
isEditedbooleanWhether comment has been edited

FeedItemType

Allowed Values

  • comment
  • field_change
  • task
  • event
  • email
  • call
  • note
  • file
  • record_create
  • record_delete
  • approval
  • sharing
  • system

FeedVisibility

Allowed Values

  • public
  • internal
  • private

FieldChangeEntry

Properties

PropertyTypeRequiredDescription
fieldstringField machine name
fieldLabelstringoptionalField display label
oldValueanyoptionalPrevious value
newValueanyoptionalNew value
oldDisplayValuestringoptionalHuman-readable old value
newDisplayValuestringoptionalHuman-readable new value

Mention

Properties

PropertyTypeRequiredDescription
typeEnum<'user' | 'team' | 'record'>Mention target type
idstringTarget ID
namestringDisplay name for rendering
offsetintegerCharacter offset in body text
lengthintegerLength of mention token in body text

Reaction

Properties

PropertyTypeRequiredDescription
emojistringEmoji character or shortcode (e.g., "👍", ":thumbsup:")
userIdsstring[]Users who reacted
countintegerTotal reaction count

On this page