Install any skill in seconds. Free to start, no credit card required.
Get Started Free →vellum-ai/gmail-trigger
Beta. Act on new Gmail as it arrives: get pinged only for urgent mail, digest newsletters, forward invoices — any standing instruction, across one or several accounts.
Passed 16 of 19 test cases with the skill, and 6 of 19 without it.
and 9 more in the full report
12 fixed7 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
After creating a new schedule with ID schedule_8f92a, where exactly should the shipped poll.ts script be copied so the schedule owns its script copy?
| Checked | Without skill | With skill |
|---|---|---|
| The response specifies copying to $VELLUM_WORKSPACE_DIR/schedules/schedule_8f92a/poll.ts. | Missed | Passed |
The instructions your model reads when the skill loads.
Polls the user's Gmail inbox on a cron and escalates to the assistant only when a new message arrives — an empty poll spends zero LLM tokens. Installing it means creating a script-mode schedule that runs the schedule's own copy of the shipped poll script. Schedule mechanics (script mode, the schedules/<id>/ convention, waking the agent loop) are documented in the included schedule skill.
A watcher could only be configured through its prompt and its cadence. This one is a script that belongs to the schedule, so the assistant can change anything about how it behaves by simply editing the script. And because it runs as a schedule, its runs, errors, and cost all show up on the Schedules page in the app.
The trigger reads Gmail through the user's Google OAuth connection with Gmail read access. Check with:
assistant oauth status google
If no connection is found, load the vellum-oauth-integrations skill — it evaluates whether managed or your-own mode is appropriate and guides the user through connecting. Managed (proxy) and your-own OAuth both work — poll.ts calls Gmail via assistant oauth request, which resolves either automatically.
If oauth status shows more than one active Google connection, ask the user which inboxes to watch and pass one --account <email> flag per chosen inbox. With a single connection the flag can be omitted. One schedule watches all chosen accounts and delivers one combined digest.
Ask the user what should happen when new email arrives — e.g. "notify me only about emails needing a reply" or "summarize newsletters, flag anything from my boss". If the user doesn't care, omit the flag and the default applies: summarize what's new and flag anything urgent.
By default the trigger starts from now and never escalates pre-existing email. Ask the user whether the first sync should instead include recent mail; if yes, append --lookback <duration> (90m/4h/2d/1w).
Create a recurring script-mode schedule (default cadence every 15 minutes unless the user asks for a different one) whose command runs the schedule's own copy of the poll script with the flags chosen above:
test cases passed, vs 6 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.