Help with Automation for camera snapshot notification via Telegram

I created this automation to send me a notification (via telegram) when my camera detects a person and takes a snapshot. It works intermittently for some reason. The snapshot is always being taken, b/c i can go see it via FTP, but the Telegram notification sometimes just doesn’t show up at all. not delayed, never happens. I get the notification ~50% of the time it seems. Any ideas what I’ve done wrong?

alias: automation.Driveway_Notification
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.driveway_person
    from: "off"
    to: "on"
condition:
  - condition: time
    after: "07:00:00"
    before: "23:59:00"
    weekday:
      - sun
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 1
      milliseconds: 0
    enabled: true
  - service: camera.snapshot
    data:
      filename: >-
        /config/www/driveway/{{ trigger.to_state.last_changed | as_timestamp |
        timestamp_custom("%Y-%m-%d_%H-%M-%S") }}.jpg
    target:
      device_id: a276761dbbf7afc4e07650ff9b3da0e9
  - service: notify.telegram_main
    data:
      Title: ""
      message: Person in Driveway (⊙_☉)
      data:
        photo:
          - file: >-
              /config/www/driveway/{{ trigger.to_state.last_changed |
              as_timestamp | timestamp_custom("%Y-%m-%d_%H-%M-%S") }}.jpg
mode: single

Move your delay, at the moment you have it before the camera takes a snapshot. You need a delay after the snapshot service is called to give it time to finish. You may need to increase it too:

action:
  - service: camera.snapshot
    data:
      filename: >-
        /config/www/driveway/{{ trigger.to_state.last_changed | as_timestamp |
        timestamp_custom("%Y-%m-%d_%H-%M-%S") }}.jpg
    target:
      device_id: a276761dbbf7afc4e07650ff9b3da0e9
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
    enabled: true
  - service: notify.telegram_main
    data:
      message: ''
      data:
        photo:
          - file: >-
              /config/www/driveway/{{ trigger.to_state.last_changed |
              as_timestamp | timestamp_custom("%Y-%m-%d_%H-%M-%S") }}.jpg
            caption: 'Person in Driveway (⊙_☉)'
mode: single

If the original delay was to wait for the person to move into frame you will need two delays. One before the snapshot for framing, one after the snapshot to allow time for that snapshot to occur and be saved.

You also incorrectly capitalised title: and when sending a photo you cant use message: or title: you have to use caption: and an empty message:.