Prompt templates with fill-in variables
A prompt template is a prompt with the parts that change each run left as blanks. In Convergence you wrap those parts in double braces — {{Acme Corp}} pre-fills a blank with a default, {{ }} leaves it required — and the text inside is what gets substituted when someone copies the step. Copying is blocked until every blank has a value, so a half-filled template never reaches a chat window.
By Ijan Kruizinga · Published September 1, 2026
Braces mark what changes
Wrap anything that varies between runs in double braces. The text inside is the default value: {{Acme Corp}} pre-fills its blank ready to copy as-is or overwrite, and an empty {{ }} makes a required blank with no default. When you copy, plain values are substituted into the text — no braces come through.
- Insert placeholder — puts the cursor inside the braces so you can type the default straight away.
- Repeat a default — use the same default twice in a step and both blanks fill in together.
- Defaults are optional — an empty pair of braces simply means the reader has to decide.
Copying requires every blank filled
A step will not copy while a blank is still empty — Copy tells you which one instead. That single rule is what separates a template from a prompt with holes in it: the failure mode of shared prompts is someone pasting "{{client name}}" into a customer-facing draft, and it simply cannot happen here.
Defaults count as filled, so a well-written template is often one click from ready.
What you type in a blank is never stored
Values you type into blanks live only in your current session. They are never saved onto the prompt, so a teammate opening the same template starts from the defaults and fills in their own. Refreshing the page resets them.
That is a privacy property as much as a convenience one: templates get filled with client names, internal figures and draft copy, and none of it ends up persisted on a shared object.
Templates work with steps and tools
Because a Convergence prompt is a sequence of steps, a template can span a workflow rather than a single message — research in one step, drafting in the next, each tagged with the AI tool it belongs in. Variables work the same way in every step.
Share a template by filing it into a shared folder, where everyone in the folder can use and improve it, and every improvement lands in the prompt’s version history. Ready-made examples are in the prompt packs.
Templates versus prompt engineering
Templating is the boring half of prompt engineering and the half that compounds: consistent structure, consistent variables, consistent outputs. The technique-level work — worked examples, chain of thought, output formats — is well covered by OpenAI’s prompt engineering guide, and by the guides published here.
Frequently asked questions
How do I add a variable to a prompt?
Wrap it in double braces while editing a step, or use the Insert placeholder button, which puts the cursor inside the braces. The text inside the braces becomes the default value for that blank.
What is the difference between {{Acme Corp}} and {{ }}?
{{Acme Corp}} pre-fills the blank with "Acme Corp", ready to copy as-is or overwrite. An empty {{ }} is a required blank with no default, which the reader has to fill in before the step will copy.
Are the values I type into a template saved?
No. They live only in your current session, are never stored on the prompt, and reset when you refresh. A teammate opening the same template starts from the defaults.
Can I copy a step with a blank still empty?
No. Copy is blocked until every placeholder has a value and tells you which one is missing, so a template with unfilled braces never reaches a chat window. Defaults count as filled.
Can a template use different AI tools in different steps?
Yes. Each step carries its own tool and model tag, so one template can run research in one tool and drafting in another. Variables behave the same way in every step.