Usage

Everything happens in your Telegram chat with your bot. It is button-first: you tap, you rarely type.

Commands

Open the menu button next to the message box to see these, or type them.

Command What it does
/list Show your rules, 10 per page. Tap a rule to enable, disable, edit, or delete it.
/add Add a rule: sender, then keywords, then confirm.
/interval Change how often Gmail is checked.
/status Show the interval, rule count, last check, and last error.
/help Show the command list.
/setai Open Settings for the optional keyword-idea helper (OpenRouter key and model).
/transfer Move the watcher to the Telegram account you are sending from.
/connect Replace the bot token after you generate a new one in BotFather.
/start <token> Bind your Telegram account. One-time, from the Setup link.
/cancel Abort the current step of a multi-step flow.

Adding a rule

A rule is one sender plus a set of keywords. /add asks for them one at a time.

  1. Send /add, then send the sender.
  2. Send the keywords, comma-separated.
  3. Confirm. The rule is created, enabled, and starts matching on the next check.

On the keywords step you may also see a [Use last keywords] button that copies the keywords from your most recent rule, and a [Need ideas?] button if the idea helper is set up.

Add rule prompting for a sender
Step 1: send a domain or a full email address.
Add rule prompting for keywords
Step 2: send keywords, comma-separated.
Confirming a new rule
Step 3: confirm. Cancel any time with /cancel.

Senders

Keywords

Limits

Rule list with per-rule buttons
Tap a rule to open it: enable, disable, edit, or delete.

Check interval

Use /interval and pick from the buttons. The options are 15, 30, and 60 minutes, then 2, 6, and 12 hours. The default is 15 minutes.

Interval options with the current one marked
The current interval is marked.

Status and errors

/status shows the interval, how many rules you have, your version, when the last check ran, and the last error if there was one.

Status output with interval, rule count, and last run
One screen answers "is it working?".

The digest

You get one message per check. Each email thread appears once, with the subject, the date, a link straight to the thread, and the keywords that matched.

A digest message with thread links
One digest, grouped per thread, with links.

Keyword ideas (optional)

Deal Watch can suggest keywords using OpenRouter, an AI provider. This is off until you set it up, and calls are billed to your own OpenRouter account.

  1. Send /setai to open Settings.
  2. Enter your OpenRouter API key and pick a model. The key is shown masked and can be deleted at any time.
  3. While adding or editing a rule, tap [Need ideas?], type a topic, and tap the keywords you want. They are handed back to the chat for you to confirm.

Suggestions only ever use the topic you type. They never read your email, and they never change your rules on their own.

Settings for the OpenRouter key and model
Settings: OpenRouter key and model, both optional and removable.
Keyword idea suggestions as tappable chips
Type a topic, tap the keywords, then confirm back in the chat.

Maintenance

Updating

Deal Watch does not update itself. Each copy is yours alone, so newer code never reaches you automatically. When a newer release exists, you will see an update notice on your next digest and in /status.

To update, replace the code in your own copy:

  1. Open your Sheet, then Extensions > Apps Script.
  2. Replace Code.gs and MiniApp.html with the latest versions from the GitHub repository, then click Save.
  3. Deploy the change: Deploy > Manage deployments, edit the active deployment, set Version to New version, then click Deploy.
  4. If the update asked for new permissions, run Deal Watch > Setup once and approve them.
Do not re-copy the Sheet.

Making a fresh copy would give you a new, empty Sheet and you would lose your rules, history, and settings. Update the code only, as above.

To hear about new releases, open the repository and choose Watch > Custom > Releases. The full list of changes is in the changelog.

Something not working?

See the FAQ.