Personal AI Hub: Apple Health + Threads + Gmail + Calendar

Build a single Telegram chat with a Hermes agent that pulls your Apple Health sleep, Threads analytics, Gmail inbox and Google Calendar on demand and cross-references them in a daily morning brief.

Hermes Copied: 0
1 resource

Requirements

  • The deployable artifact is krumjahn/threads-growth-skill on GitHub — an open-source Hermes skill that pulls Threads analytics into the agent. Other skills in the workflow are documented in the blog but not all are open-sourced.
  • Apple Health data must be exported to a local file, using the Health Auto Export app or a custom iOS Shortcut; the analyzer reads the JSON and persists it as a daily skill.
  • Threads access uses krumjahn/threads-growth-skill from GitHub with authentication via exported browser cookies (Cookie-Editor extension) — no API key needed.
  • A Google Cloud OAuth app with the Gmail API and Calendar API enabled, with the credentials JSON placed in ~/.hermes/integrations/google/.
  • A shared knowledge base: the blog uses an Obsidian vault at ~/ObsidianVault/, which Hermes reads and writes directly.
  • krumjahn/threads-growth-skill (open-source, deployable).
  • Apple Health export pipeline (Health Auto Export app on iOS).
  • Google Cloud OAuth (Gmail + Calendar).
  • Telegram gateway with Topics.
  • Obsidian vault (optional, for shared knowledge base).
  • An LLM provider — the blog uses OpenAI Codex ($20/mo), OpenRouter (free tier), or local Ollama.
  • Cost: the blog uses OpenAI Codex ($20/mo) or OpenRouter's free tier; both are sufficient for the morning brief workload.
  • Deployable skill: krumjahn/threads-growth-skill — open-source Hermes skill for Threads analytics.

How to use

This setup suits a solo founder or technical operator who wants a single chat surface to query personal data across multiple services, with a long-running agent that accumulates knowledge over time.

Browser-cookie auth for Threads is the path that works today, since the Threads API is restricted. The cookie approach is in the same gray area as other browser-cookie integrations — fine for personal use, fragile if Meta changes the export format.

Cross-domain queries only work if the agent has been writing to a shared knowledge layer (Obsidian, or a structured memory skill); the setup is only as durable as the write-through to that layer.

  1. Install Hermes Agent on your main machine (the blog uses macOS; Linux/Windows work the same with platform-appropriate substitutions).
  2. Configure Telegram as the primary gateway and enable Topics.
   hermes gateway setup
   # pick Telegram, paste bot token, set chat ID with Topics enabled

  1. Wire each service. Apple Health: export Health data to a local file (Health Auto Export app, or a custom iOS Shortcut) and point Hermes at the export path; the analyzer reads the JSON and persists it as a daily skill. Threads: install krumjahn/threads-growth-skill from GitHub; auth is via exported browser cookies (Cookie-Editor extension) — no API key needed.
     ```bash
     git clone https://github.com/krumjahn/threads-growth-skill.git
     cp -r threads-growth-skill ~/.hermes/skills/threads-growth-skill
     hermes skills reload
     ```

Gmail + Google Calendar: create an OAuth app in Google Cloud Console with Gmail API and Calendar API enabled, then drop the credentials JSON into ~/.hermes/integrations/google/.

  1. Add a daily morning cron that pulls sleep + calendar + inbox + Threads into one brief.
   /cron add "0 7 * * *" "Every morning at 7am: read my sleep data from
   ~/.hermes/data/health/last-7-days.json, my calendar for the next 24h,
   my unread Gmail (inbox-only, max 20), and my Threads analytics for the
   past 7 days. Compose a 5-bullet morning brief: sleep, schedule, top 3
   emails, top Threads post, and a one-line suggestion for the day.
   Post to my Telegram health topic."

  1. Set up the shared knowledge base: the blog uses an Obsidian vault at ~/ObsidianVault/, and Hermes reads/writes notes there directly.

Prompts.

# Health
"Show me my average sleep this week vs. last week, and call out any
night under 6 hours."

# Social
"Pull my top 3 Threads posts from the last 7 days by impressions,
with their first 50 characters of copy."

# Cross-domain
"On days I shipped a release in the last 30 days, what was my average
sleep the night before?"

# Inbox
"Show me unread inbox messages from senders I've replied to before
and that arrived after 6pm yesterday."

The cross-domain query is the killer feature — it requires Hermes to know about both Health data and release history, which the shared Obsidian vault enables.

Links

Source: aliaihub/awesome-hermes-usecases and its contributors. License: CC-BY-4.0. Source license notice.

Translation and editorial adaptation by ClawCases.

>Resources

>Related Use Cases