Prompt templates use {placeholder} syntax for values that change per call. The plugin resolves them before sending the request to OpenAI. Unknown placeholders resolve to an empty string — there is no warning, so be careful with typos.
This page lists every placeholder used by the shipped templates. Custom placeholders can be added to forks — but the placeholder only resolves if your job actually produces the value.
| Placeholder | Used by | What it resolves to |
|---|
{name} | every template | Product or category name. |
{description} | most generation/extraction templates | Current description (HTML). |
{manufacturerLine} | seo, content, alt-text | Formatted manufacturer line, e.g. Manufacturer: Nike. Empty when no manufacturer. |
{categoriesLine} | seo, content, alt-text | Formatted category list. |
{parentLine} | generate_seo.category | Parent category line. |
{propertiesLine} | content | Existing property assignments formatted as a single line. |
{eanLine} | content | Formatted EAN line. |
{productNumberLine} | content | Formatted SKU / product number line. |
{currentDescriptionLine} | generate_content.product | Current description rendered as context for the model. |
| Placeholder | Used by | What it resolves to |
|---|
{languageLabel} | most templates | Human-readable language for the call (“English”, “German”, …). |
{sourceLanguage} | translate, inline.translate | Source language. |
{targetLanguage} | translate, inline.translate | Target language. |
| Placeholder | Used by | What it resolves to |
|---|
{fields} | translate, improve, unify | List of target fields for the call. |
{targetFieldsLine} | generate_content.* | Comma-separated field names with metadata. |
{titleMax} | seo | Max length for the meta title (chars). |
{descMax} | seo | Max length for the meta description (chars). |
{lengthRulesBlock} | generate_content.* | Composed per-field min/max length block. |
{perFieldBlock} | generate_content.* | Per-field instructions block (format, tone, references). |
| Placeholder | Used by | What it resolves to |
|---|
{sourceValues} | translate, improve, unify | JSON of current field values being processed. |
{sourceText} | inline.translate, inline.improve, inline.unify | Plain text payload of the inline selection. |
{sourceTextBlock} | generate_content.*, inline.describe_from_url | User-provided source text block (URL fetch, paste). |
{sourcesBlock} | inline.describe_from_url | Multiple sources composed into one block. |
{sourceInstruction} | generate_content.* | Source mode hint (“model knowledge only”, “web search”, “url fetch”). |
{formatSpec} | unify, inline.unify | Plain-text format specification. |
{formatSpecBlock} | inline.describe_from_url | Format spec wrapped in a structured block. |
{presetInstructions} | improve, inline.improve | Resolved preset instructions (e.g. “More concise”). |
{presetInstructionsBlock} | inline.describe_from_url | Preset instructions as a structured block. |
{altSourceInstructions} | generate_alt_text.product | ”Analyze the image directly” / “Use product metadata”. |
| Placeholder | Used by | What it resolves to |
|---|
{availableUnitsBlock} | extract_measures | List of unit names available in the shop. |
{existingGroupsBlock} | extract_properties | Existing property groups + options as JSON. |
{samplesLine} | generate_seo.category | Sample category descriptions for tone reference. |
{samplesBlock} / {samples} | unify_extract, meta.learn_prompt | Sample input/output pairs for format extraction or learning. |
{k}, {stageInstruction}, {listBlock}, {constraintsBlock} | generate_categories.product | Number of categories to pick, the search-stage instruction, the candidate category list, and the scope-rule constraints. |
{minKeywords}, {maxKeywords} | generate_keywords.product | Lower and upper bound for the keyword count. |
{sourcesBlock} | generate_categories.product, generate_keywords.product | The picked source fields (name, description, manufacturer, …) composed into one block. |
{host}, {path}, {pageHtml} | inline.suggest_fetch_domain_config | URL components and raw page HTML for the selector-suggestion meta-prompt. |
| Placeholder | Used by | What it resolves to |
|---|
{productName}, {manufacturer}, {ean}, {categories} | image_finder.search, image_finder.pick_image | Product details used to build the web search and choose the best image. |
{instructions} | image_finder.search | Your custom search instructions from the Image Finder settings. |
{count} | image_finder.search, image_finder.pick_image | How many results to return. |
{resultsBlock} | image_finder.search | The web search results passed to the model. |
{pagesBlock} | image_finder.pick_image | The candidate images extracted from each page. |
{categoryInstruction} | media_index.analyze | The foldering strategy hint for the image. |
{contextBlock} | media_index.analyze | Organisation context (categories, tags) used when grouping images. |
These placeholders are used by the meta-prompts behind the fork wizard, learning, and the inline refine-instructions chat. They are not relevant for normal template editing.
| Placeholder | Used by | What it resolves to |
|---|
{taskType} | meta.fork_wizard, meta.learn_prompt | The task type the parent template targets. |
{currentSystemPrompt} / {currentUserPrompt} | fork wizard | The existing prompts of the parent template. |
{currentInputBlock} / {currentOutputBlock} | fork wizard | Most recent input/output pair, used to ground the proposal. |
{userDescription} | fork wizard | Admin-provided description of the desired fork (“More technical for engineers”). |
{previousProposalsBlock} | fork wizard | Earlier proposals during a multi-step refinement. |
{refinementMessage} | fork wizard | Latest follow-up message in the refinement chat. |
{scopeSummary} | fork wizard | Human-readable summary of the fork scope. |
{activeFieldsBlock}, {chatHistoryBlock} | meta.fork_brainstorm | The fields under discussion and the running chat history. |
{taskLabel}, {taskPromptBlock}, {currentInstructions}, {lastOutputBlock} | meta.refine_instructions | The task being refined, its prompt, your current additional-instructions text and the last output. |
{entityType}, {cellsBlock}, {latestUserMessage} | inline.improve_chat | The record type, the text under refinement and your latest chat message. |
- Open any template’s user prompt to see exactly which placeholders it references.
- When you fork a template you can add new placeholders to the prompt text — but the placeholder will only be resolved if the matching value is produced by the job (or by the meta-prompt for fork/learn flows). Otherwise it stays as a literal
{yourPlaceholder} in the request.
- Unknown placeholders resolve to empty strings, no warning.