I finally got around to creating a trigger to do this. The trigger seems to fire and create the string fine but the parameters still do not substitute. It's a Pre trigger if that matters. The field type that it creates the string in is a shorttext.
Disregard. I realized I missed the "Substitute Parameters" box on the field definition.