What are slots?
A slot is a marker on a layer that says “this layer will be replaced by user-provided content”. When a user personalises a template in GoalGen, slots tell the app which layers to swap out and what kind of content to ask for.userImage
User’s personal photo — profile picture, team headshot, event photo, etc.
userText
User-editable text — name, headline, quote, caption, etc.
brandLogo
Brand or organisation logo image.
Marking slots in the plugin
In the plugin’s layer list, each row has a slot button on the right side of the layer name. Click it to cycle through roles:| Badge | Role | Colour |
|---|---|---|
📷 Photo | userImage | Purple #7b61ff |
T Text | userText | Orange #ff9f43 |
◆ Logo | brandLogo | Green #00DB65 |
+ Slot.
How slots appear in the manifest
Slots are serialised into theslots[] array of manifest.json:
slotIdis auto-generated sequentially (slot-0,slot-1, …)targetLayerIdmatches the Figma node ID inlayers[]- The
slotskey is omitted entirely if no slots are marked
Creator Studio behaviour
When a template with slots is loaded into Creator Studio:- userImage slots render a dashed placeholder with an upload icon. When the user taps it, the image picker opens.
- userText slots render an editable text input overlaid on the canvas layer.
- brandLogo slots behave like
userImagebut are pre-populated from the user’s saved brand kit.
Slots are additive — they don’t change how a layer is exported (PNG, SVG, or manifest geometry). A
userImage slot on an SVG layer simply means the SVG will be replaced at personalisation time.Best practices
Planned: auto-slot detection
The roadmap includes automatic slot detection based on layer name conventions:| Layer name prefix | Auto-assigned role |
|---|---|
[photo] | userImage |
[text] | userText |
[logo] | brandLogo |