<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Arti Gupta</title>
    <description>The latest articles on Forem by Arti Gupta (@arti_gupta).</description>
    <link>https://forem.com/arti_gupta</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3326053%2F629c82d5-f8c6-4a72-a2eb-d1c2456c6254.png</url>
      <title>Forem: Arti Gupta</title>
      <link>https://forem.com/arti_gupta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/arti_gupta"/>
    <language>en</language>
    <item>
      <title>Birthday &amp; Anniversary Wishes Automation AI Agent</title>
      <dc:creator>Arti Gupta</dc:creator>
      <pubDate>Sun, 06 Jul 2025 11:37:28 +0000</pubDate>
      <link>https://forem.com/arti_gupta/birthday-anniversary-wishes-automation-ai-agent-55le</link>
      <guid>https://forem.com/arti_gupta/birthday-anniversary-wishes-automation-ai-agent-55le</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/runnerh"&gt;Runner H "AI Agent Prompting" Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built an AI Agent in Runner-H that automates the process of checking upcoming birthdays and anniversaries from a Google Sheet and then:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sends personalized Gmail email wishes&lt;/li&gt;
&lt;li&gt;Prevents duplicate emails by tracking the “Last Sent” date&lt;/li&gt;
&lt;li&gt;Logs all sent wishes into a “Log” sheet&lt;/li&gt;
&lt;li&gt;Can be extended to send WhatsApp messages and even upload WhatsApp status from a linked Google Photos image&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Video Link: (&lt;a href="https://youtu.be/Qy-toaKu5FM" rel="noopener noreferrer"&gt;https://youtu.be/Qy-toaKu5FM&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Runner H chat task Link: (&lt;a href="https://runner.hcompany.ai/chat/c52cdbb4-f6a0-46db-bef0-3598f8e78e55/share" rel="noopener noreferrer"&gt;https://runner.hcompany.ai/chat/c52cdbb4-f6a0-46db-bef0-3598f8e78e55/share&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Prompt: &lt;br&gt;
Please use the following Google Sheet for birthday email automation:&lt;br&gt;
🔗 Sheet URL: &lt;a href="https://docs.google.com/spreadsheets/d/1t0DAtoThr6pi4UK3KrgKeW7LL0Y-pSyRT8brDywotqE/edit?usp=sharing" rel="noopener noreferrer"&gt;https://docs.google.com/spreadsheets/d/1t0DAtoThr6pi4UK3KrgKeW7LL0Y-pSyRT8brDywotqE/edit?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sheet 1: "Birthday List"&lt;br&gt;
Columns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name&lt;/li&gt;
&lt;li&gt;Date (format: DD/MM/YYYY)&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;li&gt;Occasion&lt;/li&gt;
&lt;li&gt;Last Sent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sheet 2: "Log"&lt;br&gt;
Columns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;li&gt;Occasion&lt;/li&gt;
&lt;li&gt;Message Sent&lt;/li&gt;
&lt;li&gt;Date Sent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Task:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read the "Birthday List"&lt;/li&gt;
&lt;li&gt;For each row:

&lt;ul&gt;
&lt;li&gt;If today's DD/MM matches the "Date" column&lt;/li&gt;
&lt;li&gt;And "Last Sent" is not today's full date
→ Send birthday email from &lt;a href="mailto:artiguptag2@gmail.com"&gt;artiguptag2@gmail.com&lt;/a&gt;
→ Update "Last Sent" with today's date
→ Log message in "Log" sheet&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Use GmailApp.sendEmail() and format the message as HTML.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Runner H
&lt;/h2&gt;

&lt;p&gt;I used Runner-H to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upload and work with a Birthday List Google Sheet file &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build a prompt that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Parses birthdays from the sheet&lt;/li&gt;
&lt;li&gt;Compares each row’s date with today’s date&lt;/li&gt;
&lt;li&gt;Sends an email using GmailApp.sendEmail() if not already sent   today&lt;/li&gt;
&lt;li&gt;Updates the Last Sent column and appends a new entry to a Log tab&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I enhanced the logic with:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Date formatting and matching via Utilities.formatDate&lt;/li&gt;
&lt;li&gt;HTML emails with bold names, emojis and line breaks 
&lt;/li&gt;
&lt;li&gt;Logging each message with date and content for proof and audit&lt;/li&gt;
&lt;li&gt;Preparing optional columns for WhatsApp number and Photo URL for future expansion&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use Case &amp;amp; Impact
&lt;/h2&gt;

&lt;p&gt;Who needs this?&lt;br&gt;
Anyone who:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Forgets birthdays or anniversaries&lt;/li&gt;
&lt;li&gt;Has to send repetitive greeting emails&lt;/li&gt;
&lt;li&gt;Wants to build a simple CRM-like birthday/anniversary assistant&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Impact:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Saves daily time&lt;/li&gt;
&lt;li&gt;Ensures no important dates are missed&lt;/li&gt;
&lt;li&gt;Keeps everything logged&lt;/li&gt;
&lt;li&gt;Can run automatically each day&lt;/li&gt;
&lt;li&gt;Extendable to WhatsApp wishes, status updates, Instagram/facebook story post.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Social Love
&lt;/h3&gt;

&lt;p&gt;Will update with link after sharing on Twitter/LinkedIn/Instagram using #RunnerH&lt;/p&gt;

&lt;p&gt;Solo submission by Arti Gupta&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>runnerhchallenge</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
