ObjectStackObjectStack

Feed

Feed protocol schemas

Activity-timeline UI config enums, and the sys_activity.type built-in set.

The service-feed backend was retired (ADR-0052 §5 / #1955); sys_comment / sys_activity are the canonical record-collaboration/timeline backend. The two enums here configure the record activity component (RecordActivityProps in ../ui/component.zod.ts). FeedFilterMode is pure UI configuration, but FeedItemType is not backend-free: it has no backend import, yet it is the TARGET of the map UI consumers apply to the sys_activity.type column — a backend coupling — and that column's vocabulary is OPEN and author-extensible (maintainer ruling 2026-08-24, #11507). FeedItemType is therefore the built-in guidance half of that map, never the value domain of an authoring surface: RecordActivityProps.types accepts contributed kinds beyond it (#11658), and consumers must map unknown sys_activity.type values to a fallback rather than drop them. SYS_ACTIVITY_BUILTIN_TYPES below is the published built-in vocabulary of the sys_activity.type column, co-located with FeedItemType because UI consumers map one onto the other. (A later feedactivity rename is tracked separately.)

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

TypeScript Usage

import { FeedFilterMode, FeedItemType } from '@objectstack/spec/data';
import type { FeedFilterMode, FeedItemType } from '@objectstack/spec/data';

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

FeedFilterMode

Allowed Values

  • all
  • comments_only
  • changes_only
  • tasks_only

FeedItemType

Allowed Values

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

On this page