A button can use either
or one of several script steps that start with "insert" to insert text into a field. You also have a step named "Paste" that can do this, but don't go there, it's not a good option for this.
Set Field can do it all, but if you are attempting to add text to the text already present in a field or, more complicated, insert the text at the cursor position, which might be in the middle of the text already present, you may want to use one of the Insert script steps as they will insert text at the cursor's insertion point if you do not specify a target field for the insert. To do the same with Set Field requires some additional scripting to determine the position of the cursor and whether any text in that field is currently selected.
I don't expect this demo file to come very close to the full system that you want, but it may provide you with some ideas along with buttons that insert text into a text field when they are clicked: https://www.dropbox.com/s/6xw8buafjuohncu/MessageTemplateBuilder.fp7