# Backoffice Extensions

The Umbraco backoffice is built on an extension system. Almost every part of the UI is an extension, which means you can append, replace, or remove UI elements to tailor the backoffice to your needs.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Setup Your Development Environment</strong></td><td>Configure your local environment to build and test backoffice extensions.</td><td><a href="/pages/gKwdaAKR5sFUELCYu7aE">/pages/gKwdaAKR5sFUELCYu7aE</a></td></tr><tr><td><strong>Extending Overview</strong></td><td>Understand the extension architecture and how to append, replace, or remove parts of the backoffice UI.</td><td><a href="/pages/SQnHvlQ43EevscQaOUhx">/pages/SQnHvlQ43EevscQaOUhx</a></td></tr><tr><td><strong>Foundation</strong></td><td>Learn the core framework for building extensions, including integration, communication, and reactive UIs.</td><td><a href="/pages/PsOpKJWWZYfaME0bD4K1">/pages/PsOpKJWWZYfaME0bD4K1</a></td></tr><tr><td><strong>Contexts</strong></td><td>Use the Context API to access commonly used backoffice contexts in your extensions.</td><td><a href="/pages/K5U2vdhL0FZEzDsx3tp4">/pages/K5U2vdhL0FZEzDsx3tp4</a></td></tr><tr><td><strong>Property Editors</strong></td><td>Build custom property editors for use in Document Types and content editing.</td><td><a href="/pages/ZlsK5UnHpBbAlnn4UF64">/pages/ZlsK5UnHpBbAlnn4UF64</a></td></tr><tr><td><strong>Utilities</strong></td><td>Use code utilities available for customizing the backoffice in your extensions.</td><td><a href="/pages/rH6rVCVwyZwwMjL72fkE">/pages/rH6rVCVwyZwwMjL72fkE</a></td></tr></tbody></table>

## Additional Resources

* [Umbraco Package](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/umbraco-package.md) - start every extension with an Umbraco Package manifest.
* [Workspaces](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/workspaces.md) - create dedicated editing environments for specific entity types.
* [UI Library](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/ui-library.md) - use the Umbraco Backoffice UI Library, UI API, and Storybook.
* [Icons](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/icons.md) - work with icons in the backoffice.
* [Signs](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/signs.md) - use flag information from Management API responses in your extensions.
* [Property-Level UI Permissions](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/property-level-ui-permissions.md) - control UI visibility at the property level.
* [Examples and Playground](/umbraco-cms/18.latest/extend-your-project/backoffice-extensions/examples-and-playground.md) - explore examples and a live playground for backoffice extensions.

## Umbraco Training

Umbraco HQ offers a training course covering extending and customizing the Umbraco Backoffice to enhance the editing experience. The course targets frontend and backend developers familiar with Umbraco who want to extend the UI for editors.

[Explore Extending the Backoffice Training Course](https://umbraco.com/training/course-details/extending-the-backoffice/) to learn more about the topics covered and how it can enhance your Umbraco development skills.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umbraco.com/umbraco-cms/18.latest/extend-your-project/backoffice-extensions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
