agenthub · ai.prompt_template
Load an approved prompt from PromptCenter by id and version, bind its variables, and hand the finished messages to a model.
Why the node earns its place
It separates who writes the prompt from who wires the workflow. The prompt lives in PromptCenter under a version; the canvas points at that version. Editing the wording never means editing — or republishing — the graph.
It also refuses to run a half-filled prompt. Any {{variable}} that survives interpolation stops the run rather than reaching the model as literal braces, which is the failure mode where an agent confidently addresses someone as {{name}}.
How it works at run time
current_date, current_time, current_datetime, today — in the caller's timezone. An author never supplies these and they never trip the completeness guard.variables over the top, so an author-supplied value of the same name wins.What you wire
Configuration
| Key | Type | Default & options | What it does |
|---|---|---|---|
| prompt_id * | string | — | — |
| version * | string | — | — |
| allow_unfilled_placeholders | boolean | — | Skip the always-on check that refuses to run a prompt with unfilled {{var}} placeholders. Only flip this if you intentionally ship a prompt containing literal double-brace text. Almost always false. |
What usually goes wrong
Watch for this
allow_unfilled_placeholders exists for prompts that deliberately ship literal double-brace text. It is not the fix for a variable you forgot to wire — the fix is to wire it. Config Fetch is the usual source for org-specific values like a business name or contact line.
Behaviour & provenance