Skip to main content

Slack Fronting

Slack demonstrates governed communication behavior. It is the clearest fronting example for why "agent can post to Slack" is not enough.

The package is:

What It Proves

Slack has a deceptively simple API surface: read messages and post messages. The risk is organizational, not technical. A message can reach the wrong audience, disclose private context, or create an official-looking statement.

ANIP turns that into a governed capability contract:

  • Channel reads are bounded by allowed channel IDs and actor visibility.
  • Thread summaries are scoped and result-limited.
  • Messages are prepared before sending.
  • Incident updates and announcements can require stronger approval.
  • Private channel exfiltration, hidden recipients, raw exports, and unapproved sends are denied.

Capability Surface

CapabilityIntent
slack.channel.read_contextRead bounded channel context.
slack.thread.summarizeSummarize a bounded thread.
slack.message.preparePrepare a message preview.
slack.incident_update.preparePrepare a governed incident update.
slack.announcement.requestRequest an announcement through approval posture.

Backend Boundary

The backend is Slack Web API. The contract does not expose raw chat.postMessage as the agent product interface. The agent asks for a governed communication outcome; the service decides whether that is available, requires clarification, requires approval, or must be denied.

Artifacts

ArtifactPath
Source specdocs/examples/slack-fronting-showcase/source-spec.md
Packageexamples/showcase/slack_fronting/registry-packages/slack-fronting-showcase-0.2.0.anip-package.json
Service definitionexamples/showcase/slack_fronting/registry-packages/slack-fronting-showcase-0.2.0-service-definition.json
Custom bundlesexamples/showcase/slack_fronting/custom-code-bundles/
Generated servicesexamples/showcase/slack_fronting/generated/

Live Validation

Credential file:

/tmp/anip-slack.env

Typical scope:

  • a dedicated public test channel;
  • read and summary smoke;
  • prepared-message smoke;
  • approved send only when ANIP_SLACK_ALLOW_SEND=true and a valid approval grant is supplied.