top of page

Send Random 'Thinking of You' WhatsApp Messages with Home Assistant

  • Writer: Andrea Leandri
    Andrea Leandri
  • 6 days ago
  • 5 min read

Skill level: Beginner → Intermediate | Time to complete: 30–60 minutes

What you'll build: A Home Assistant automation that sends someone a warm, spontaneous-feeling WhatsApp message twice a week, in the morning — so they start their day knowing they were thought of.

Who Is This For?

This automation is for anyone you care about and want to stay connected with — without the friction of remembering to reach out.

  • A partner or girlfriend/boyfriend who loves waking up to a small gesture that shows you thought of them first thing

  • A close friend you don't talk to every day but who you want to feel seen and appreciated

  • A parent, grandparent, or older relative who may live alone or far away — for whom a short message in the morning can genuinely brighten the whole day

  • A sibling or cousin you've drifted from but want to keep a quiet thread of connection with

The beauty of this approach is that it feels human. Not a birthday reminder, not a scheduled "good morning" bot — just a random Wednesday at 7:43am, a message that says someone thought of them before their day began. That lands differently.

💡 Tip: You can duplicate this automation for multiple people. Each gets their own message list, tailored to the relationship.

How It Works

The goal is two messages per week, at a random time between 07:00 and 09:00, on unpredictable days — so it never feels like a bot, and never feels routine.

  1. The automation checks every morning at 07:00

  2. A random day-of-week gate decides whether today is a "send day" — roughly 2 out of 7 days will pass this check

  3. A random delay of 0–120 minutes is applied, so the message lands somewhere between 07:00 and 09:00 at a different time each week

  4. A random message is picked from your personal list and sent via WhatsApp

What You'll Need

  • Home Assistant — any recent version (2024.x or later)

  • FaserF's WhatsApp for Home Assistant add-on — both the Add-on and the Integration (https://faserf.github.io/ha-whatsapp/)

  • A WhatsApp account linked to the add-on via QR code scan — ideally a secondary account

  • The recipient's phone number in international format, e.g. +31612345678

⚠️ Important: Using automated messaging on WhatsApp may violate their Terms of Service and could lead to a permanent account ban. Use a secondary/dedicated WhatsApp account rather than your primary one.

Step 1: Install the WhatsApp Add-on

1a. Add the repository

In Home Assistant, go to: Settings → Add-ons → Add-on Store → ⋮ (menu) → Repositories

Add this URL: https://github.com/FaserF/hassio-addons

1b. Install the add-on

Search for WhatsApp in the add-on store and install it. Once installed, open the Web UI, scan the QR code with WhatsApp on your phone (just like WhatsApp Web), and wait for "Connected" status.

1c. Install the Integration

Go to: Settings → Devices & Services → Add Integration → Search "WhatsApp". Follow the setup wizard. Once done, you'll have whatsapp.send_message available as a service.

1d. Find the recipient's WhatsApp ID

The target field uses the phone number in international format without the + sign, followed by @s.whatsapp.net. For example: 31612345678@s.whatsapp.net

Step 2: Create the Automation

Go to Settings → Automations & Scenes → Create Automation → Edit in YAML. Paste the full automation below:

alias: "💌 Morning Thinking of You Messages"
description: >
  Sends a warm morning message via WhatsApp roughly twice a week,
  at a random time between 07:00 and 09:00.

trigger:
  - platform: time
    at: "07:00:00"

condition:
  # Random day gate: ~28% chance = roughly 2x per week
  - condition: template
    value_template: >
      {{ (range(1, 8) | random) <= 2 }}

action:
  # Random delay: spreads message across 07:00–09:00 window
  - delay:
      minutes: "{{ range(0, 120) | random }}"

  - variables:
      message_list:
        - "Good morning ☀️ You were my first thought today."
        - "Morning. Just wanted you to know someone thought of you before coffee."
        - "Hey. Hope today is kind to you 🌿"
        - "Good morning 💛 Thinking of you."
        - "You popped into my head this morning. That's all. Have a good one 👋"
        - "Morning reminder: you matter. Now go have a great day ☀️"
        - "Thought of you before the day even started. Hi 💙"
        - "Good morning. I hope today brings you something good."
        - "Hey. Thinking of you this morning 🌸"
        - "Morning thought: you. Have a lovely day 💛"
        - "Just a little 'good morning' from someone who thinks you're great."
        - "Today starts with me thinking of you. That feels right ☀️"
        - "Morning. Hope you slept well and that today is easy on you 🤍"
        - "Good morning. You were on my mind. Thought you should know."
        - "Hey you. Good morning 💛 Have a wonderful day."
        - "Woke up, thought of you. Seemed worth mentioning. Morning! ☀️"
        - "Morning note: someone out there is rooting for you today. (That's me.)"
        - "Good morning. I hope your day starts gently and ends well 🌿"
        - "Hi. Just a quiet little good morning from me to you 💙"
        - "Morning. You're one of my favourite people. Just felt like saying that."

      chosen_message: >
        {{ message_list | random }}

  - service: whatsapp.send_message
    data:
      target: "31612345678@s.whatsapp.net"   # ← Replace with recipient's number
      message: "{{ chosen_message }}"

Step 3: Customize It

Adjust the frequency

The <= 2 in the condition controls how many days per week a message is sent: <= 1 is about once a week, <= 2 is about twice a week (recommended), <= 3 is about three times a week.

Personalise the messages by relationship

For a partner:

- "Good morning beautiful. Thinking of you ☀️"
- "Hey you. You were my first thought today 💛"
- "Morning. Can't wait to hear about your day later."

For a parent or older relative:

- "Good morning! Just thinking of you and hoping you have a lovely day 🌸"
- "Morning. Hope you slept well. Thinking of you 💛"
- "Just a little good morning from me. Hope today is a good one ☀️"

For a friend:

- "Morning! Thought of you for no reason. Hope your day is great 👋"
- "Hey. Good morning. You came to mind. That's it 😄"
- "Morning reminder that you're great and I appreciate you 💙"

Step 4: Set Up for Multiple People

This automation is designed to be duplicated. For each person: go to Settings → Automations, click ⋮ → Duplicate, give it a new name (e.g. 💌 Morning messages – Mum), change the target phone number, update the message list to fit that relationship, and save. Each automation runs independently.

Step 5: Test It

Go to Developer Tools → Services, search for whatsapp.send_message, fill in your target number and a test message, and click Call Service. If the message arrives on the recipient's phone, everything is working. ✅

Advanced: Never Send the Same Message Twice in a Row

With only 2 messages per week, repeating the same text becomes noticeable quickly. Create an input_text helper named last_ta_morning_message, then update the chosen_message variable to exclude the last sent message:

chosen_message: >
  {% set last = states('input_text.last_ta_morning_message') %}
  {% set available = message_list | reject('equalto', last) | list %}
  {{ available | random }}

# At the end of the action block, save what was sent:
- service: input_text.set_value
  target:
    entity_id: input_text.last_ta_morning_message
  data:
    value: "{{ chosen_message }}"

Troubleshooting

  • Message not sending: Check add-on logs at Settings → Add-ons → WhatsApp → Logs

  • whatsapp.send_message not found: Make sure both the add-on AND the integration are installed and connected

  • Automation triggers but doesn't send: The random gate may have blocked it — this is normal. Check Traces to confirm.

  • Target not recognized: Confirm the number format — digits only + @s.whatsapp.net, no + sign

  • Messages stop after a few days: WhatsApp may have flagged the account. Consider switching to a dedicated number.


Guide written by a Home Assistant enthusiast in Utrecht 🇳🇱. Built with ❤️ and Home Assistant.

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page