twentyhq/twenty · critical · Error
Standard application is missing the messageCampaign name vie
Error message
Standard application is missing the messageCampaign name view column
What it means
Thrown by the 2.25 command that adds the messageCampaign name field, when resolving the standard view column (FlatViewField) for the name field. After confirming the workspace lacks the name view field, the command looks up the standard view field via findFlatEntityByUniversalIdentifier in the computed standard flat view field maps. If STANDARD_OBJECTS.messageCampaign.views.allMessageCampaigns.viewFields.name is absent from the standard definitions, the lookup returns undefined and the command throws.
Source
Thrown at packages/twenty-server/src/database/commands/upgrade-version-command/2-25/2-25-workspace-command-1785229970000-add-message-campaign-name-field.command.ts:158
: [];
const viewFieldsToCreate: FlatViewField[] = [];
if (
!isDefined(
flatViewFieldMaps.byUniversalIdentifier[
NAME_VIEW_FIELD_UNIVERSAL_IDENTIFIER
],
)
) {
const standardNameViewField =
findFlatEntityByUniversalIdentifier<FlatViewField>({
flatEntityMaps: standardAllFlatEntityMaps.flatViewFieldMaps,
universalIdentifier: NAME_VIEW_FIELD_UNIVERSAL_IDENTIFIER,
});
if (!isDefined(standardNameViewField)) {
throw new Error(
'Standard application is missing the messageCampaign name view column',
);
}
const campaignIndexFlatView =
campaignObjectMetadata.viewUniversalIdentifiers
.map(
(viewUniversalIdentifier) =>
flatViewMaps.byUniversalIdentifier[viewUniversalIdentifier],
)
.filter(isDefined)
.find(
(flatView) =>
flatView.key === ViewKey.INDEX && !isDefined(flatView.deletedAt),
);
if (isDefined(campaignIndexFlatView)) {
viewFieldsToCreate.push({View on GitHub (pinned to 1f5dd2bbd2)
Solutions
- Verify STANDARD_OBJECTS.messageCampaign.views.allMessageCampaigns.viewFields.name exists in the installed twenty-shared package
- Rebuild twenty-shared: npx nx build twenty-shared
- Ensure twenty-server and twenty-shared are at the same release tag
Defensive patterns
Strategy: validation
Validate before calling
// Before running, verify the standard view field exists in the installed definitions
import { STANDARD_OBJECTS } from 'twenty-shared/metadata';
const viewFieldUid =
STANDARD_OBJECTS.messageCampaign?.views?.allMessageCampaigns?.viewFields?.name?.universalIdentifier;
if (!viewFieldUid) {
throw new Error('twenty-shared does not define messageCampaign allMessageCampaigns name view field — rebuild twenty-shared');
} Type guard
import { isDefined } from 'twenty-shared/utils';
const hasStandardViewField = (uid: string | undefined): uid is string =>
isDefined(uid) && uid.length > 0; Prevention
- Rebuild twenty-shared before running upgrade commands
- Run with --dryRun first to confirm the standard view field resolves
- Keep twenty-server and twenty-shared at the same release version
When it happens
Trigger: Running the command when twenty-shared/metadata does not define STANDARD_OBJECTS.messageCampaign.views.allMessageCampaigns.viewFields.name.universalIdentifier. Caused by version skew, or the view field was removed/renamed.
Common situations: Forked twenty-shared; older twenty-shared build; regression in standard view field definitions.
Related errors
- Standard application is missing the messageCampaign name fie
- Standard application is missing the messageCampaign search f
- Failed to align the all campaigns view columns for workspace
- Standard application is missing messageList view ${LIST_VIEW
- Standard application is missing workflowVersion field coreWo
AI-assisted analysis of twentyhq/twenty@1f5dd2bbd2 (2026-08-12).
Data as JSON: /api/errors/a82a829f006c9988.
Report an issue: GitHub.