Skip to content

feat: OpenDots — Telegram, Inbox & URL Watchers - #31

Open
vaheed wants to merge 3 commits into
CopilotKit:mainfrom
vaheed:main
Open

vaheed wants to merge 3 commits into
CopilotKit:mainfrom
vaheed:main

Conversation

@vaheed

@vaheed vaheed commented Oct 2, 2026

Copy link
Copy Markdown

OpenDots — Telegram, Inbox & URL Watchers

Adds direct Telegram support to OpenDots using the first-party CopilotKit Channels Telegram adapter.

Also adds a lightweight proactive layer without introducing a separate job system.

What Changed

Telegram

  • Optional Telegram channel via @copilotkit/channels/telegram
  • Long-polling by default
  • Optional webhook mode
  • Explicit TELEGRAM_USER_IDS allowlist
  • Optional TELEGRAM_DOT_ID
  • Telegram setup status in Settings & Setup
  • Setup documentation and unit test coverage
  • Existing Slack integration remains unchanged

Inbox

  • Persists completed and failed background-task notifications
  • Marks notifications as read/unread
  • Dismisses notifications
  • Links notifications back to their task details
  • Shows unread notification count in navigation

URL Watchers

  • Monitors public HTTP(S) pages from the server
  • Establishes a baseline on the first successful check
  • Queues a normal OpenDots task when content changes
  • Keeps watcher-generated tasks in an existing conversation
  • Supports:
    • Pause
    • Resume
    • Delete
    • Check intervals from 1 minute to 24 hours
  • Rejects:
    • Local/private destinations
    • URLs containing credentials
    • Oversized response bodies
    • Excessive redirects

Design Goals

  • Keep Telegram optional
  • Reuse OpenDots' existing task system
  • Avoid introducing a separate background-job framework
  • Keep the existing Slack integration unchanged
  • Make proactive notifications visible through the existing Inbox
  • Treat URL monitoring as a lightweight extension of the existing task model
  • Apply SSRF and resource-limit protections to URL watchers

vaheed added 3 commits October 2, 2026 13:20
feat: add Inbox and URL Watchers
* feat: add Telegram channel integration

* feat: add Telegram configuration

* feat: expose Telegram setup state

* feat: wire Telegram environment configuration

* fix: disable Telegram by default

* feat: wire Telegram channel into runtime

* feat: show Telegram setup status

* docs: document Telegram environment

* test: cover Telegram channel identity and handlers

* test: cover Telegram setup status

* docs: document Telegram support

* docs: add Telegram setup guide

* test: update setup fixture for Telegram

* test: use a real Telegram agent fixture

* docs: add Telegram to architecture
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant