Codewerk.
Get a quote
Home/Blog/Extending the Shopware admin without owning the admin

Extending the Shopware admin without owning the admin

The Admin Extension API lets an app add modules, action buttons and notifications through an iframe and a message bridge. Less power, far less pain.

Photo: free stock photography (Unsplash licence) — see imprint

How it actually works

Your UI runs in an iframe served by your app, and talks to the admin through a message bridge. You can open modals, show notifications, read the current entity and add buttons to detail pages — without shipping a single line of Vue into Shopware's build.

The upgrade argument

A plugin that overrides an admin Vue component breaks when Shopware refactors that component — and it will. An extension that only speaks through the bridge keeps working. If you have ever spent a week fixing an admin override after a minor update, you already know why this matters.

Design for the frame you are in

Your iframe should look like Shopware, not like your product. Use the admin's spacing and colours, keep the interaction patterns familiar, and never open your own modal inside their modal. A jarring extension gets uninstalled no matter how good the logic is.

Where you still need a plugin

Deeply reworking an existing admin grid, or changing behaviour that has no bridge event. Be honest about it early — discovering the missing capability three weeks in is an expensive way to learn the API surface.

Key takeaways
  • Bridge-only extensions survive admin refactors.
  • Make your iframe look like Shopware, not like you.
  • Check the API surface before you promise the feature.

Frequently asked questions

Through the Admin Extension API: your UI runs in an iframe served by your own app and talks to the admin over a message bridge. That gets you modules, modals, notifications, action buttons on detail pages and access to the entity currently open — without shipping any Vue code into Shopware's build. Your frontend stays yours, deployed on your schedule.

Easier this week, expensive every week after. An override binds you to the internal structure of a component that Shopware will eventually refactor — and when it does, your extension breaks with it. Anything that only speaks through the bridge survives that refactor. If you have ever lost a week repairing an admin override after a minor update, you have already paid for this lesson.

Deep surgery on an existing admin grid, and any behaviour there is simply no bridge event for. That is the honest trade: less reach in exchange for not breaking. Check the available surface against your actual feature before you promise a date — finding out in week three that the capability does not exist is an expensive way to learn an API.

Like Shopware. The person using it is in the middle of a task, not admiring your brand. Borrow the admin's spacing, colours and interaction patterns, and never open your own modal inside one of theirs. An extension that feels foreign gets uninstalled regardless of how good the logic underneath is — this is not decoration, it is adoption.

We do this for a living — Shopware, Node.js, React, ERP integration and automation for B2B.

Talk to an engineer

// Keep reading

Related articles

Shopware 8 min

Shopware 6 plugins: when to buy, when to build

Store plugins promise a lot and deliver about 70% of it. Here is the decision framework we use with clients before spending a cent on either option.

02 Jul 2026 Codewerk Team