webiny-admin-ui-extensions

Customize Webiny Admin UI with white-labeling, custom columns, dialogs, drawers, and Lexical plugins.

8.0k|673|Updated Jan 9, 2018
One-click install
npx skills add https://github.com/webiny/webiny-js --skill webiny-admin-ui-extensions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webiny-admin-ui-extensions
Source: https://github.com/webiny/webiny-js/tree/main/skills/user-skills/admin/ui-extensions
Command: npx skills add https://github.com/webiny/webiny-js --skill webiny-admin-ui-extensions

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires zod.

What problem does it solve?

Developers extending Webiny need to rebrand the Admin app, add custom columns to content entry lists, build custom page-type forms, and register reusable dialogs or drawers without modifying core platform code.

Core Features & Use Cases

  • White-Labeling: Set theme colors, logos, and app titles via AdminConfig components wrapped in AdminConfig.Public.
  • Custom Data List Columns: Add columns to content entry tables with simple path bindings or custom React cell components, restricted by model IDs.
  • Named Dialogs and Drawers: Register dialogs and drawers by name, open them from anywhere with typed params validated by Zod schemas.
  • Use Case: A team white-labels the Admin app with their company logo and colors, adds an Email Type column to a contact submission list view, and opens a named drawer showing record details when a row action is clicked.

Quick Start

Ask the AI to create a Webiny Admin extension that sets a custom logo and title, then register it in webiny.config.tsx with the full .tsx file path.

Frequently Asked Questions about webiny-admin-ui-extensions

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

FAQPage Schema
How do I white-label the Webiny Admin app?

Use AdminConfig components like Theme.Color, Title, and Logo wrapped in AdminConfig.Public inside a React component. Register the component with Admin.Extension in webiny.config.tsx, including the full .tsx file path in the src prop.

How to add custom columns to Webiny content entry lists?

Use ContentEntryListConfig.Browser.Table.Column with a name, header, and either a path for simple data or a custom cell component. Restrict columns to specific content models with the modelIds prop and position them with the after prop.

Can I open dialogs with typed parameters in Webiny Admin?

Yes, register a named dialog with AdminConfig.Dialog and open it using useOpenDialog with params. Pass a Zod schema to useDialog inside the dialog to get fully typed params.

What is the difference between Webiny named dialogs and drawers?

Only one named dialog can be open at a time, while multiple drawers stack on top of each other. Opening the same drawer name again is a no-op, and closeNamedDrawer without arguments closes the topmost drawer.

Why does my Webiny Admin extension fail to build?

The most common cause is omitting the .tsx file extension in the Admin.Extension src prop. Always use the full path like /extensions/MyExtension.tsx rather than /extensions/MyExtension.