✓ Accepted answer
The issue here is that you just assigned the variable "text" to the text of the TextLabel. This means that even if you change "text" to something else, the text won't change, just the variable.
This is very common for new developers. To do this, you just assign the textlabel itself to the variable, and not the text of it.
What do you do now is the same as doing
local text = "Hello World" and if you change the text, it won't update the TextLabel.
You just have to change it to local text = workspace.Output.SurfaceGui.TextLabel
and whenever you want to update the text of it, you just do text.Text = "new string"
Personally, I like to name my variables something that makes sense, so I would rather use local textLabel and not local text in this case.
Basically,
local textLabel = workspace.Output.SurfaceGui.TextLabel;
textLabel.Text = "New Text"