SemiLayerDocs

Chat integrations

SemiLayer plugs into the chat tools your team already lives in — Slack and Discord today, with a single OAuth install. Every product surface on the platform is reachable from chat: search a lens, run an analyze, watch a metric, get a notification when ingest fails. The bot is opt-in, RBAC-aware, and audit-logged.

This is the hub. Each link below dives into one capability.

ℹ️

The same API key powers all of these. There are no separate "chat licenses" — installing the bot into a workspace does not change billing. Notifications and scheduled watches count against your existing API quota.

What you can do from chat

CapabilityPageSlackDiscord
Install the botInstall
Link your chat identityInstall
Search a lensSlash commands
Find similar rowsSlash commands
Run a typed predicate querySlash commands
Read a feed pageSlash commands
Render an analyze as a chart imageAnalyze
Schedule a recurring postWatch & Remind
Subscribe to system notificationsNotifications
Pin scope to a channelScoping

How the surfaces fit together

┌──────────────────────────── chat user ─────────────────────────────┐
│                                                                   │
│  /semilayer login         ← link identity                         │
│  /semilayer help          ← discover commands                     │
│                                                                   │
│  /semilayer here set …    ← pin scope to channel (admin)          │
│  /semilayer config set …  ← my personal scope defaults            │
│                                                                   │
│  /semilayer search …      ← reads (search/similar/query/feed)     │
│  /semilayer analyze …     ← chart-image render of any analyze     │
│  /semilayer watch …       ← schedule any of the above             │
│  /semilayer notify …      ← subscribe channel to system events    │
│                                                                   │
└────────────────────────────────────────────────────────────────────┘

Three independent layers stack:

  1. Identity/semilayer login ties your chat user to your SemiLayer account. Every command runs as you with your RBAC. A viewer can search; an admin can here set and watch.
  2. Scope — every read needs an org / project / env / lens. Pass them on the command (--org=acme --lens=products), pin them per channel with /semilayer here set, or set them per user with /semilayer config set. The resolver walks the chain in that order.
  3. Surface — once identity + scope are settled, every command is a thin wrapper over the platform API. search calls POST /v1/search/:lens. analyze calls POST /v1/analyze/:lens/:name. The chat layer adds rendering + signing + audit.

Privacy & defaults

  • Read commands post privately by default in shared channels. You see the result; nobody else does. Add --public to broadcast the same response to the channel.
  • Notifications never leak across orgs. A channel can subscribe to one org's notifications. Posting to #engineering from acme doesn't reveal anything from globex.
  • Watches fire as the creator. A watch you set up runs with your RBAC at fire time. If your role drops below what the watch needs, the watch soft-pauses and DMs you a pointer to resume it.
  • Audit log entries land in the platform's admin_audit_log for every state change — installs, linkings, subscriptions, watches, and /here pins.

Pick your starting point