Please advise how to format as a string for a script

Hi guys.
I can do a Mqtt publish through the Mosquitto broker integration with the below data.
topic
Zigbee2mqtt/hive_receiver/set
Payload (template allowed)

{
   "system_mode":"emergency_heating",
   "temperature_setpoint_hold_duration":"30", 
   "temperature_setpoint_hold":"1",
   "occupied_heating_setpoint":"20"
}

And that runs and does what it should, So then i was trying to create a script based of that which i would use on tap_action on a custom button card.
I’ve since realised i can’t use the code as it is in the picture below because it needs to be a string but i can’t figure out how to convert that into a string for it to work i’ve been trying allsorts of variations from the documentation.
Any help appreciated
Thanks
mqtt
Script

Put it in Payload, not Payload Template.

I tested it on my system and it works:

Here is a screenshot of MQTT Explorer, confirming that the payload was published successfully:

Thanks so much that worked :rofl:
I was certain i had tried that as well ha ha, must have been a bad copy and paste.
Cheers