umbraco-collection-action

Register Umbraco collectionAction manifests with execute() or getHref() navigation.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/1k-off/umbraco-observability-playground --skill umbraco-collection-action-1k-off
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: umbraco-collection-action
Source: https://github.com/1k-off/umbraco-observability-playground/tree/main/.agents/skills/umbraco-collection-action
Command: npx skills add https://github.com/1k-off/umbraco-observability-playground --skill umbraco-collection-action-1k-off

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the need to extend Umbraco backoffice collection toolbars with custom buttons that operate on an entire collection (not individual items), without guessing extension APIs.

Core Features & Use Cases

  • Manifest-driven collection actions: Registers a collectionAction with alias, label, API entrypoint, and conditions for where the button should appear.
  • Executable and navigation actions: Implements execute() for code-based actions and supports link-based behavior via getHref() for URL navigation.
  • Modal-powered workflows: Opens and coordinates modal dialogs for interactive flows such as exports or multi-step user input.
  • Conditional visibility: Uses collection-alias conditions (via Umb.Condition.* patterns) so the action shows up only in the relevant collections.
  • Additional options indicator: Supports UI signaling for actions that can expose further options.

Quick Start

Implement a new Umbraco collectionAction manifest for your collection alias and create an action class that extends UmbCollectionActionBase to either navigate via getHref() or run logic via execute().

Frequently Asked Questions about umbraco-collection-action

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a custom button to the Umbraco backoffice collection toolbar?

You add a custom button to the Umbraco backoffice collection toolbar by registering a collectionAction manifest with an alias, label, and API entrypoint, then implementing an action class extending UmbCollectionActionBase to define its execute() or getHref() behavior.

How does conditional rendering work for Umbraco collection actions?

Conditional rendering for Umbraco collection actions uses Umb.Condition.* patterns tied to collection aliases, ensuring the toolbar button appears only when the extension registry matches the specific collection being viewed in the backoffice.

Can I use modal dialogs for Umbraco collection action workflows?

Yes, you can use modal dialogs for Umbraco collection action workflows by opening and coordinating modal dialogs within your action class, enabling interactive flows such as exports or multi-step user input directly from the toolbar button.

What is the difference between execute() and getHref() in Umbraco extension actions?

In Umbraco extension actions, execute() runs code-based logic for collection-level operations, while getHref() returns a navigation URL for link-based behavior, allowing you to choose between programmatic workflows or direct page redirects.

Do I need TypeScript to implement collection actions in the Umbraco extension registry?

TypeScript is used to implement collection actions in the Umbraco extension registry, providing the typed class structure needed to extend UmbCollectionActionBase and properly wire manifests, conditions, and API entrypoints for backoffice integration.