There is a way to work around this issue. Let's say you want the copilot to address users by their names. In custom instructions, you can provide the following prompt:

Once the instructions are set, click on the three dots on the top right corner, and then "Open code editor"

In code view, you can see the variable Topic.userName is surrounded by two pairs of curly brackets. This is why the variable name is treated as hardcoded text. remove one pair of curly brackets and save the topic.
Before editing the code
- kind: SearchAndSummarizeContent
id: search-content
userInput: =System.Activity.Text
variable: Topic.Answer
additionalInstructions: "whenever providing an answer, say: I hope this helps, {{Topic.userName}} "
publicDataSource:
sites:
- "https://www.metacritic.com/"
After editing the code
- kind: SearchAndSummarizeContent
id: search-content
userInput: =System.Activity.Text
variable: Topic.Answer
additionalInstructions: "whenever providing an answer, say: I hope this helps, {Topic.userName} "
publicDataSource:
sites:
- "https://www.metacritic.com/"
With only a single pair of curly brackets the variable will be parsed as expected, and used while providing an answer:
