website-form-watcher

Polls Gmail for website form submissions and sends SMS summaries via Zo.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/SillyHippy/zo-skills --skill website-form-watcher-sillyhippy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: website-form-watcher
Source: https://github.com/SillyHippy/zo-skills/tree/main/skills/website-form-watcher
Command: npx skills add https://github.com/SillyHippy/zo-skills --skill website-form-watcher-sillyhippy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Business owners miss new website form submissions because they do not constantly check their inbox. This Skill polls a Gmail account for unread form notification emails and automatically texts a concise summary to the owner, so new leads are seen within minutes without manual inbox checking. ## Core Features & Use Cases - Scheduled Gmail Polling: Checks [email protected] every 5 minutes for unread emails with the exact subject "New Service Request from Website Form" using the Gmail API with OAuth refresh tokens. - AI-Free Idle Operation: Consumes no AI sessions when the inbox is empty; only invokes a Zo session (DeepSeek V4 Flash) when a new matching email is found. - Automatic SMS Notification: Instructs Zo to summarize the email into a sub-480-character SMS and deliver it via send_sms_to_user, then marks the message read and records its ID in a state file to prevent duplicates. - Use Case: A process-serving business owner receives a new client request through their website contact form at 2 AM; the watcher detects the unread email on its next poll and texts the key details to the owner immediately. ## Quick Start Run the website form watcher script once with the --once flag to test that Gmail credentials work and any new form submission gets summarized and texted to me.

Frequently Asked Questions about website-form-watcher

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get SMS alerts for new website form emails?▼

Poll the Gmail API for unread messages matching the form's exact subject line, then send the email body to an AI session that summarizes it and calls send_sms_to_user. This Skill runs that loop every 5 minutes as a managed service.

How to poll Gmail for unread emails with Python?▼

Use the Gmail API messages list endpoint with a query like is:unread subject:"Your Subject", authenticated via an OAuth refresh token exchanged at oauth2.googleapis.com/token. The script uses only the Python standard library with urllib for all API calls.

Does this Gmail watcher use AI on every poll?▼

No. The polling loop is pure Python with no AI involvement when no new matching email exists. A Zo AI session is only created when a new unread form submission is found, keeping idle operation free of model usage.

What credentials are needed for Gmail API polling?▼

You need a GMAIL_REFRESH_TOKEN stored in Zo secrets, plus GMAIL_DESKTOP_CLIENT_ID and GMAIL_DESKTOP_CLIENT_SECRET in /root/.zo_secrets. The script exchanges the refresh token for an access token on each run.

Why am I getting duplicate SMS notifications for the same email?▼

Duplicates are prevented by a state file (.processed_ids.json) that records processed message IDs and by marking emails read after processing. Duplicates occur only if the state file is deleted or the mark-read call fails before state is saved.