umbraco-entity-create-option-action

Umbraco Entity Create Option Action

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "umbraco-entity-create-option-action" with this command: npx skills add umbraco/umbraco-cms-backoffice-skills/umbraco-umbraco-cms-backoffice-skills-umbraco-entity-create-option-action

Umbraco Entity Create Option Action

What is it?

Entity Create Option Actions add customizable options when creating entities. These options appear in a create options dialog when the "Create" entity action is selected, allowing users to choose between different creation methods or paths. This enables extensibility where other developers can add their own creation options to existing workflows.

Documentation

Always fetch the latest docs before implementing:

Related Foundation Skills

Modals: When the create option opens a modal dialog

  • Reference skill: umbraco-modals

Routing: When the create option navigates to a different view

  • Reference skill: umbraco-routing

Workflow

  • Fetch docs - Use WebFetch on the URLs above

  • Ask questions - What entity type? What creation options needed? What happens on selection?

  • Generate files - Create manifest + action class based on latest docs

  • Explain - Show what was created and how to test

Minimal Examples

Manifest (manifests.ts)

import type { ManifestEntityCreateOptionAction } from '@umbraco-cms/backoffice/extension-registry';

const manifest: ManifestEntityCreateOptionAction = { type: 'entityCreateOptionAction', alias: 'My.EntityCreateOptionAction', name: 'My Create Option', weight: 100, api: () => import('./my-create-option-action.js'), forEntityTypes: ['user'], meta: { icon: 'icon-add', label: 'Create with Template', additionalOptions: false, }, };

export const manifests = [manifest];

Action Implementation (my-create-option-action.ts)

import { UmbEntityCreateOptionActionBase } from '@umbraco-cms/backoffice/entity-create-option-action'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';

export class MyCreateOptionAction extends UmbEntityCreateOptionActionBase { constructor(host: UmbControllerHost, args: { unique: string | null; entityType: string }) { super(host, args); }

override async execute() { // Perform custom creation logic console.log('Creating with custom option for entity type:', this.entityType);

// Could open a modal, navigate somewhere, or perform API calls
alert('Custom create option executed!');

} }

export default MyCreateOptionAction;

Create Option with Modal

import { UmbEntityCreateOptionActionBase } from '@umbraco-cms/backoffice/entity-create-option-action'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';

export class MyCreateOptionAction extends UmbEntityCreateOptionActionBase { override async execute() { const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);

const modal = modalManager.open(this, MY_CREATE_MODAL, {
  data: {
    entityType: this.entityType,
    parentUnique: this.unique,
  },
});

await modal.onSubmit();

} }

Create Option with Navigation

import { UmbEntityCreateOptionActionBase } from '@umbraco-cms/backoffice/entity-create-option-action';

export class MyCreateOptionAction extends UmbEntityCreateOptionActionBase { override async getHref() { // Return a URL to navigate to instead of execute() return /section/my-section/workspace/my-workspace/create/${this.unique}; }

override async execute() { // Not called when getHref() returns a value } }

Meta Properties

  • icon

  • Icon to display for the option

  • label

  • Display label for the option

  • additionalOptions

  • If true, shows as a secondary/additional option

That's it! Always fetch fresh docs, keep examples minimal, generate complete working code.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

umbraco-backoffice

No summary provided by upstream source.

Repository SourceNeeds Review
General

umbraco-dashboard

No summary provided by upstream source.

Repository SourceNeeds Review
General

umbraco-quickstart

No summary provided by upstream source.

Repository SourceNeeds Review
General

umbraco-extension-template

No summary provided by upstream source.

Repository SourceNeeds Review