Automation -> Nodered Template in message

Evening all,

I am looking to convert one of my UI automation into NodeRed as I am making it a lot more complex and just find it easier to visualise in NodeRed however part of my automation generates a response using OpenAI then plays that via TTS. This works perfect in the UI automation but not in NodeRed and I am wondering what I am doing wrong.

Here is the automation part:

      - service: conversation.process
        data:
          agent_id: fcd487dfde2faf132efebec47e8fceac
          text: Give a random response to welcome Max home. It can be funny.
        response_variable: welcomehome
      - alias: Welcome home Max
        service: tts.cloud_say
        data:
          cache: false
          entity_id: media_player.downstairs_2
          message: >-
            "{{ welcomehome.response.speech.plain.speech }}. If you would like
            me to play some music please say, hey google yes please."

In NodeRed I have created a Call service node set it to conversation process with this as the data:

{"text":"Give a random response to welcome us home. It can be funny.","agent_id":"fcd487dfde2faf132efebec47e8fceac","conversation_id":"welcomehome"}

Then another call service node for tts cloud_say with this as the data:

{"message":"{{ welcomehome.response.speech.plain.speech }}. If you would like me to play some music for you say, hey google yes please."}

However, it literally says welcomehome.response.speech.plain.speech.

Please can someone point me to what I am doing wrong!

Thanks.