github →

New request

#20886: App manifest cannot contribute view fields to views owned by another application (e.g. add app fields to "All Opportunities"

We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.

Issue

Scope & Context

The goal is to be able to achieve everything programmatically. At the moment, it's not possible to add a field to the existing default index view (e.g. the Companies "All Companies" view) without using the API

Example:

I'm importing `Company` from another CRM, and I want to mark those `Company` with a flag. This flag is important, so it should appear on the default view by default

Current behavior

  • When an app adds fields to a standard object (Company, Opportunity), those fields do not appear in any existing view automatically: the auto-add convenience computeFlatViewFieldsFromFieldsWidgets runs only in the UI field-creation path (FieldMetadataService.createManyFields), never during manifest sync
  • The standard FIELDS widget that would auto-add fields is wired to the record-page view, not the index view, and is coarse (single newFieldDefaultVisibility, append-at-end, fixed size)

Expected behaviour

An app should be able to declare, in its manifest, view fields contributed to an existing view referenced by universalIdentifier, reusing ViewFieldManifest (isVisible / position / size). After installing the app, the app's fields appear in "All Opportunities" exactly as the manifest specifies. Uninstalling the app removes only the app's contributed view fields, leaving the standard view intact.\

Current solution

At the moment, I'm using post-install, querying the API (getViewFields), and update the fields (createViewField)

Assessmentadvisory
feature●●● hard80% confidence

Manifest-driven view-field contribution to existing views is an architectural change affecting manifest sync, view lifecycle, and install/uninstall cleanup.

Likely files
  • packages/twenty-server/src/engine/core-modules/app-manifest
  • packages/twenty-server/src/engine/metadata-modules/view
  • packages/twenty-server/src/engine/metadata-modules/view-field
  • packages/twenty-shared/src/types/AppManifest.ts
  • packages/twenty-server/src/engine/workspace-manager
Create the request

This opens a fresh agent run and a draft PR for issue #20886.

Cancel