Activity events
When a sync delivers work, the platform writes a row into the workspace’s activity feed:
Photo Delivery · integration — DELIVERED — 1 photo delivered
Attribution
Section titled “Attribution”Integration rows carry your app id as the source, and both feeds (the workspace activity log and each project’s Activity tab) render your catalog icon and app name in place of a user avatar, with an “integration” marker. An integration’s work is never attributed to a person — and a catalog miss falls back to the raw app id rather than pretending someone acted.
When rows are emitted
Section titled “When rows are emitted”- A sync that delivers at least one file emits one row per run — “N photos delivered” — on the project it touched.
- A sync that finds nothing new emits nothing. No-op syncs never spam the feed.
- The
deliveredverb participates in feed filtering like any other action, so customers can filter a project’s activity to just integration deliveries.
Declaring the contribution
Section titled “Declaring the contribution”Activity emission is gated on your catalog entry declaring the
activity.feed contribution — the same honesty rule as UI slots: the
store tells the customer “posts events to your activity feed” before
install, and an app that didn’t declare it can’t post.