feat: Slack platform + Claude-powered chat support widget

- Add Slack as customer-facing messaging platform (client, 4 MCP tools, dashboard card)
- Add /api/chat endpoint powered by Claude Haiku with SquareMCP system prompt
- Add embeddable chat-widget.js injected into all 3 sites (docs, app, www)
- Add ANTHROPIC_API_KEY, serve product/ as static files
- Update Platform type to include slack

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Garfield
2026-05-15 10:44:24 -04:00
parent 05b4a30759
commit 4bf93d6763
15 changed files with 547 additions and 4 deletions

View File

@@ -103,6 +103,15 @@ const PLATFORM_CONFIG = {
],
help: 'From Meta Business Settings → WhatsApp → API Setup. You need a verified business phone number.',
},
slack: {
name: 'Slack',
type: 'token',
fields: [
{ key: 'accessToken', label: 'Bot Token', type: 'password' },
{ key: 'channelId', label: 'Default Channel ID', type: 'text' },
],
help: 'Go to api.slack.com/apps → Create App → OAuth & Permissions → install to workspace. Copy the Bot User OAuth Token.',
},
email: {
name: 'Email',
type: 'token',
@@ -403,7 +412,7 @@ async function loadInvoices() {
const PLATFORM_COLORS = {
email: '#ea4335', linkedin: '#0a66c2', twitter: '#000000',
instagram: '#e1306c', facebook: '#1877f2', tiktok: '#010101',
whatsapp: '#25d366', telegram: '#0088cc', discord: '#5865f2',
whatsapp: '#25d366', telegram: '#0088cc', discord: '#5865f2', slack: '#4a154b',
snapchat: '#fffc00', obsidian: '#7c3aed',
};

View File

@@ -194,6 +194,17 @@
<button class="btn btn-connect" data-platform="whatsapp">Connect</button>
</div>
<!-- Slack -->
<div class="platform-card" data-platform="slack">
<div class="platform-icon" style="background:#4a154b;">💬</div>
<div class="platform-info">
<h3>Slack</h3>
<p class="platform-desc">Send messages to channels</p>
<span class="status-badge disconnected">Not connected</span>
</div>
<button class="btn btn-connect" data-platform="slack">Connect</button>
</div>
<!-- Email -->
<div class="platform-card" data-platform="email">
<div class="platform-icon" style="background:#ea4335;">✉️</div>
@@ -271,5 +282,6 @@
<script src="https://cdn.jsdelivr.net/npm/chart.js@4/dist/chart.umd.min.js"></script>
<script src="app.js"></script>
<script src="https://hermes.squaremcp.com/chat-widget.js"></script>
</body>
</html>