Skip to content

feat: implement communication tools (email, notifications) #216

@Aureliolo

Description

@Aureliolo

Summary

Communication tools (email, Slack, notifications) are listed in the tool categories but not implemented.

Design Spec Reference

  • §11.1 Tool Categories — Communication row

Scope

  • Notification tool
  • Email tool (technology TBD)
  • External messaging integration (technology TBD)
  • BaseTool compliance with ToolCategory.COMMUNICATION

Notes

  • Specific messaging platforms and APIs to be evaluated at implementation time — reference DESIGN_SPEC.md §18.1 Integration APIs

Research Context

ntfy.sh (2026-03-14) — Push notification service for operator alerts:

  • Self-hostable HTTP-based pub/sub notification service (29.2k stars, Apache-2.0, Go)
  • Integration: single async HTTP POST to publish to a topic
  • Supports WebSocket, SSE, FCM, Web Push, email delivery
  • Real gap identified: SynthOrg has no way to notify operators outside the web dashboard
  • For: parked approval contexts (engine/approval_gate.py), budget threshold alerts (budget/enforcer.py), escalation chain notifications

Suggested pattern: NotificationSink protocol (async send(title, body, priority, tags) -> None) with pluggable implementations:

  • NtfyNotificationSink (HTTP POST)
  • SlackNotificationSink (webhook)
  • EmailNotificationSink (SMTP)

Configure in company YAML under operator_notifications: section. See research/notification-sink-pattern.md in project memory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:lowNice to have, can deferscope:medium1-3 days of workspec:toolsDESIGN_SPEC Section 11 - Tool & Capability Systemtype:featureNew feature implementationv0.7Minor version v0.7v0.7.5Patch release v0.7.5

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions