Skip to content

Add tool integration: SlackNotify (Slack Incoming Webhook) #14

@Alexi5000

Description

@Alexi5000

Task

Add a Slack notification tool so any agent can post messages to a Slack channel.

File to create

packages/techtide-swarm/src/techtide_swarm/tools/slack_notify.py

Also register it in packages/techtide-swarm/src/techtide_swarm/tools/registry.py.

Tool interface

# Tool name for TOOLSET_MAP: "SlackNotify"
# Input schema:
{
  "channel": "#general",       # Slack channel name
  "message": "...",            # Markdown-formatted message
  "webhook_url": "https://..." # Optional override; falls back to SLACK_WEBHOOK_URL env var
}

Implementation notes

  • Use httpx.post() (already a dependency) to call the Slack Incoming Webhook URL
  • Read SLACK_WEBHOOK_URL from environment via os.getenv()
  • Return {"ok": true} on success, raise on HTTP error
  • Must pass through BashSecurityGate validation if invoked via Bash

How to test

make install
make test           # existing tests must still pass
# manual: set SLACK_WEBHOOK_URL and call the tool directly

Estimated effort

1 hour


See CONTRIBUTING.md for setup instructions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions