Skip to content
v0.3

Extension slots

The 134 points where an app’s block can render, generated from the template manifests the storefront and the admin actually discover at runtime. Editing this page by hand is undone by pnpm codegen and breaks CI.

An app claims a slot in its manifest, by the hook target in the second column:

contact: { hooks: [{ component: 'my-block', target: 'storefront:home.hero' }] }

The surface prefix (admin: / storefront:) is what separates the two surfaces — one mechanism, two consumers. A block with placement RULES uses contact.blocks instead, and its area must match the slot’s page prefix (the part before the first dot); the kernel validates that prefix and nothing else — it never knows this list. Which slots a store actually fills is the operator’s arrangement in Compose, not a property of this page.

Slot Hook target What belongs here
admin.header.start admin:admin.header.start
admin.header.end admin:admin.header.end
Slot Hook target What belongs here
admin.home.widgets admin:admin.home.widgets
home.footer admin:home.footer
Slot Hook target What belongs here
admin.catalog.actions admin:admin.catalog.actions
catalog.footer admin:catalog.footer
Slot Hook target What belongs here
product_new.header admin:product_new.header
product_new.footer admin:product_new.footer
Slot Hook target What belongs here
product_edit.side_panel admin:product_edit.side_panel
product_edit.header admin:product_edit.header
product_edit.footer admin:product_edit.footer
Slot Hook target What belongs here
categories.header admin:categories.header
categories.footer admin:categories.footer
Slot Hook target What belongs here
brands.header admin:brands.header
brands.footer admin:brands.footer
Slot Hook target What belongs here
admin.customers.widgets admin:admin.customers.widgets
customers.footer admin:customers.footer
Slot Hook target What belongs here
customer_detail.side_panel admin:customer_detail.side_panel
customer_detail.header admin:customer_detail.header
customer_detail.footer admin:customer_detail.footer
Slot Hook target What belongs here
orders.header admin:orders.header
orders.list.actions admin:orders.list.actions
orders.footer admin:orders.footer
Slot Hook target What belongs here
order_detail.header admin:order_detail.header
order_detail.actions admin:order_detail.actions
order_detail.panels admin:order_detail.panels
order_detail.footer admin:order_detail.footer
Slot Hook target What belongs here
admin.apps.widgets admin:admin.apps.widgets
apps.footer admin:apps.footer
Slot Hook target What belongs here
app_consent.header admin:app_consent.header
app_consent.footer admin:app_consent.footer
Slot Hook target What belongs here
app_uninstall.header admin:app_uninstall.header
app_uninstall.footer admin:app_uninstall.footer
Slot Hook target What belongs here
app_action_confirm.header admin:app_action_confirm.header
app_action_confirm.footer admin:app_action_confirm.footer
Slot Hook target What belongs here
admin.pages.widgets admin:admin.pages.widgets
pages.footer admin:pages.footer
Slot Hook target What belongs here
compose.header admin:compose.header
compose.footer admin:compose.footer
Slot Hook target What belongs here
roles.header admin:roles.header
roles.footer admin:roles.footer
Slot Hook target What belongs here
team.header admin:team.header
team.footer admin:team.footer
Slot Hook target What belongs here
userlog.header admin:userlog.header
userlog.footer admin:userlog.footer
Slot Hook target What belongs here
changelog.header admin:changelog.header
changelog.footer admin:changelog.footer
Slot Hook target What belongs here
admin.settings.sections admin:admin.settings.sections
settings.header admin:settings.header
Slot Hook target What belongs here
promotions.list.top admin:promotions.list.top
promotions.list.actions admin:promotions.list.actions
promotions.list.bottom admin:promotions.list.bottom
promotions.form.header admin:promotions.form.header
promotions.form.sections admin:promotions.form.sections
promotions.form.footer admin:promotions.form.footer
promotions.detail.header admin:promotions.detail.header
promotions.detail.actions admin:promotions.detail.actions
promotions.detail.side admin:promotions.detail.side
promotions.detail.footer admin:promotions.detail.footer
Slot Hook target What belongs here
collections.list.top admin:collections.list.top
collections.list.actions admin:collections.list.actions
collections.list.bottom admin:collections.list.bottom
collections.form.header admin:collections.form.header
collections.form.sections admin:collections.form.sections
collections.form.side admin:collections.form.side
collections.form.footer admin:collections.form.footer
Slot Hook target What belongs here
clusters.list.top admin:clusters.list.top
clusters.list.actions admin:clusters.list.actions
clusters.list.bottom admin:clusters.list.bottom
clusters.form.header admin:clusters.form.header
clusters.form.sections admin:clusters.form.sections
clusters.form.side admin:clusters.form.side
clusters.form.footer admin:clusters.form.footer
Slot Hook target What belongs here
custom_fields.header admin:custom_fields.header
custom_fields.footer admin:custom_fields.footer
Slot Hook target What belongs here
library.header admin:library.header
library.footer admin:library.footer
Slot Hook target What belongs here
warehouses.header admin:warehouses.header
warehouses.footer admin:warehouses.footer
warehouses.form.header admin:warehouses.form.header
warehouses.form.footer admin:warehouses.form.footer
Slot Hook target What belongs here
shipping_methods.list.top admin:shipping_methods.list.top
shipping_methods.list.bottom admin:shipping_methods.list.bottom
Slot Hook target What belongs here
shipping_method.form.header admin:shipping_method.form.header
shipping_method.form.footer admin:shipping_method.form.footer
Slot Hook target What belongs here
carriers.list.top admin:carriers.list.top
carriers.list.bottom admin:carriers.list.bottom
Slot Hook target What belongs here
messages.header admin:messages.header
messages.footer admin:messages.footer
Slot Hook target What belongs here
message_template.header admin:message_template.header
message_template.footer admin:message_template.footer
Slot Hook target What belongs here
rates.header admin:rates.header
rates.footer admin:rates.footer
Slot Hook target What belongs here
rates_import.header admin:rates_import.header
rates_import.footer admin:rates_import.footer
Slot Hook target What belongs here
stock.list.top admin:stock.list.top
stock.list.bottom admin:stock.list.bottom
Slot Hook target What belongs here
pickup_points.list.top admin:pickup_points.list.top
pickup_points.list.actions admin:pickup_points.list.actions
pickup_points.list.bottom admin:pickup_points.list.bottom
pickup_points.form.header admin:pickup_points.form.header
pickup_points.form.footer admin:pickup_points.form.footer
Slot Hook target What belongs here
ui_catalog.header admin:ui_catalog.header
ui_catalog.footer admin:ui_catalog.footer
Slot Hook target What belongs here
ui_component.header admin:ui_component.header
ui_component.footer admin:ui_component.footer
Slot Hook target What belongs here
ui_storefront.header admin:ui_storefront.header
ui_storefront.footer admin:ui_storefront.footer
Slot Hook target What belongs here
pdp.below_gallery storefront:pdp.below_gallery Below the product gallery (e.g. the reviews section).
pdp.below_buybox storefront:pdp.below_buybox Below the buybox, first body area (e.g. the cross-sell “buy together”).
pdp.below_cross_sell storefront:pdp.below_cross_sell Below the cross-sell, last body area before the tabs (e.g. the “related” shelf).
Slot Hook target What belongs here
list.above_shelf storefront:list.above_shelf Above the product shelf (e.g. a campaign banner).
list.below_shelf storefront:list.below_shelf Below the product shelf (e.g. curated shelves).
list.footer_banner storefront:list.footer_banner A thin banner strip below the listing (bottom of the page).
Slot Hook target What belongs here
home.hero storefront:home.hero Top of the home page (e.g. a configurable hero/banner app).
home.banner_strip storefront:home.banner_strip A horizontal strip below the hero (e.g. a banners app faixa).
home.below_shelf storefront:home.below_shelf The bottom of the home page (e.g. curated/featured product shelves).
home.below_categories storefront:home.below_categories Below the “Compre por categoria” section (spread a block after the category tiles).
home.below_brands storefront:home.below_brands Below the “Marcas” section (the last drop target on the home page).
Slot Hook target What belongs here
checkout.cart storefront:checkout.cart The cart summary column (e.g. a promo or trust block alongside the order items).
checkout.information storefront:checkout.information The information step (e.g. an extra opt-in or notice below the buyer/address form).
checkout.delivery storefront:checkout.delivery The delivery section (e.g. a shipping add-on or delivery-time promise block).
checkout.payment storefront:checkout.payment The payment step — filled by the installed payment app (managed by CheckoutPaymentSlot, ordered by position).
checkout.confirmation storefront:checkout.confirmation The order-confirmed step (e.g. a cross-sell shelf or a review/referral prompt).
Slot Hook target What belongs here
header.announcement storefront:header.announcement Top announcement bar. Static in the theme in V1; a banner app can take it over (S3).
header.account storefront:header.account Account affordance (login/logout). Filled by CUST this sprint; empty until then.
header.minicart storefront:header.minicart Cart affordance. A static placeholder in V1; the MINICART app fills it (S2).
header.start storefront:header.start Leading header area (e.g. a menu/drawer toggle or announcement).
header.end storefront:header.end Trailing header area (e.g. the cart or account app).
Slot Hook target What belongs here
footer.aside storefront:footer.aside The footer top band’s complementary column (beside the link columns). Filled by an app that targets storefront:footer.aside (e.g. the LEAD newsletter); empty until then.
footer.start storefront:footer.start Leading footer area (e.g. a newsletter app).
footer.end storefront:footer.end Trailing footer area (e.g. payment/trust badges).
Slot Hook target What belongs here
minicart.top storefront:minicart.top Top of the cart drawer (e.g. a free-shipping progress bar). Empty in V1.
minicart.below_items storefront:minicart.below_items Below the drawer line items, above the total (e.g. a cross-sell). Empty in V1.