Channels
Where your bot listens. Web chat, API, Slack, webhooks.
A channel is an entry point for messages. Enable as many as you need per deployment.
Web chat
An embeddable widget for your site. You configure:
- Domain whitelist (origins allowed to load the widget)
- Theme (colors, position, greeting message)
- Auth (anonymous, signed user payload, or JWT)
Drop the snippet on your site:
<script src="https://cdn.shipclaw.com/widget.js" data-bot="<bot-slug>" data-tenant="<tenant-slug>"></script>
API
A REST endpoint for programmatic access. Each deployment exposes:
POST https://<slug>.shipclaw.app/v1/messages
Authorization: Bearer <api-key>
{ "session": "...", "content": "..." }
API keys live in Settings β API Keys.
Slack
Install the ShipClaw Slack app, pick a channel, choose the bot. The bot listens for @-mentions and DMs. OAuth happens once per workspace, so you don't have to ship secrets per tenant.
Webhook
A POST URL that calls your bot. Useful for chaining external services that aren't in the skill catalog.
POST https://<slug>.shipclaw.app/v1/webhook
{ "event": "...", "payload": { ... } }
The webhook trigger block in the builder receives the parsed payload.
Auth per channel
Each channel has its own auth model:
| Channel | Auth |
|---|---|
| Web chat | Anonymous, signed user, or JWT |
| API | Bearer token |
| Slack | OAuth, per workspace |
| Webhook | Signed secret |