Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Notification Agent

A Claude Code skill for hotel and villa-rental operators. When you change pricing, availability, or terms, it drafts a personalised notification to every partner agency at once — never staggered, never partial — so all your distribution partners are kept in sync.

Built on the WAT framework (Workflows, Agents, Tools): probabilistic AI handles reasoning, deterministic scripts handle execution.


What it does

  • Pulls your partner-agency list from a Google Sheet (or env-var list) — one row per agency with name, email, language, and notes
  • Drafts a personalised email per agency — never BCC, never group-send, so every partner gets a real one-to-one message
  • Attaches a fresh rate card if the change is a price change — pulled live from your PMS
  • Notifies everyone at the same time — no agency gets a head start
  • Stops if the list is incomplete — won't send to a partial list and ask you to backfill missing contacts

What you need

  • Claude Code installed
  • A Gmail-compatible outbound account that can create drafts (the reference setup uses Google Workspace CLI)
  • A Google Sheet listing your partner agencies, OR a comma-separated list of agency emails in your .env
  • (Optional) A PMS rates tool that can produce an up-to-date rate card

Quick start

  1. Clone the repo into a Claude Code project:

    git clone https://github.com/th1-ai/agent-notification-agent.git
    cd agent-notification-agent
  2. Copy the env template and fill it in:

    cp .env.example .env
  3. Edit .claude/skills/agent-notification/SKILL.md — replace the placeholders described in Customising with the wrappers your setup uses.

  4. Open in Claude Code from the project root:

    claude
  5. Invoke the skill:

    "Notify our partner agents about the new rate card."

    Claude Code will pick up the agent-notification skill automatically.


File structure

agent-notification-agent/
├── README.md                                       # This file
├── .env.example                                    # Inboxes, partner list, PMS tool, etc.
├── .gitignore
├── LICENSE
└── .claude/
    └── skills/
        └── agent-notification/
            └── SKILL.md                            # The skill definition

Customising

The skill file uses placeholders so it can be adapted to any email + PMS stack. Replace the following before first run:

Placeholder What to put Example
{{INBOX_PRIMARY}} Account that drafts the partner emails info@yourhotel.com
{{EMAIL_CLI}} Command-line wrapper to your email + Sheets provider gws
{{SHEET_ID_PARTNERS}} Google Sheet ID with the agency contact list 1AbCdEf...
{{PARTNER_AGENT_EMAILS}} Inline comma-separated fallback list a@x.com,b@y.com
{{PMS_RATES_TOOL}} Script that produces a current rate card tools/dynamic_pricing.py

Reference example tool paths from a Cloudbeds-based reference setup: tools/dynamic_pricing.py, tools/cloudbeds_api.py. Yours will differ.

You can do this with any text editor or with one sed pass:

sed -i '' \
  -e 's|{{INBOX_PRIMARY}}|info@yourhotel.com|g' \
  -e 's|{{EMAIL_CLI}}|gws|g' \
  -e 's|{{SHEET_ID_PARTNERS}}|1AbCdEf...|g' \
  -e 's|{{PMS_RATES_TOOL}}|tools/dynamic_pricing.py|g' \
  .claude/skills/agent-notification/SKILL.md

How memory works

This is a skill-only repo, so there's no per-skill memory folder by default. If you want persistent learnings (e.g. "this agency always wants the rate card as a PDF"), add a .claude/agent-memory/agent-notification/ folder and write short notes there — Claude Code will pick them up automatically.


Related agents

This skill works well alongside:


License

MIT — see LICENSE.

About

Tell partner rental agencies when rates or availability move. Claude Code template.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors