TTS Variable Help

I have this Automation Setup:

alias: "Notification Test"
trigger:
  platform: state
  entity_id: input_boolean.test
  state: 'on'
action:
  - service: script.notification
    data: 
      variables:
        sonos_entity: "media_player.foyer"
        notification_message: "Notification Template is working"

Which calls this script;

  notification:
    alias: "Notification Template Script"
    sequence:
      - service: notify.telegram
        data:
          message: "{{ notification_message }}"
      - service: media_player.sonos_snapshot
        data:
          entity_id: "{{ sonos_entity }}"
          with_group: true
      - service: media_player.volume_set
        data:
          entity_id: "{{ sonos_entity }}"
          volume_level: 0.25
      - service: tts.google_say
        data:
          message: "{{ notification_message }}"
          entity_id: "{{ sonos_entity }}"
      - delay:
          seconds: 15
      - service: media_player.sonos_restore
        data:
          entity_id: "{{ sonos_entity }}"
          with_group: true

I get the below error in my log:

17-05-07 10:15:30 ERROR (MainThread) [homeassistant.core] Invalid service data for tts.google_say: Entity ID {{ sonos_entity }} is an invalid entity id for dictionary value @ data['entity_id']. Got '{{ sonos_entity }}'

I’ve changed the “” to ‘’ and tried leaving out the quotes all together and same issue. Any advice?

Instead of ‘data:’, try using ‘data_template’

      - service: notify.telegram
        data_template:
          message: "{{ notification_message }}"

updated. now getting

17-05-07 15:46:07 ERROR (MainThread) [homeassistant.core] Invalid service data for media_player.sonos_restore: Entity ID is an invalid entity id for dictionary value @ data['entity_id']. Got ''