Discord Native Extension Documentation
The Discord AI extension for community routing, moderation assistance, event response tracking, and channel analytics.
Overview
Discord Native Extension is the SSNATW AI extension for Discord. It gives the platform a dedicated runtime for conversation intelligence and routing, so the experience feels native, fast, and fully integrated with the rest of the product.
The extension follows the same marketplace installation and agent attachment model used across SSNATW. After activation, it can run under standard permissions or under ranks that include root access, which can manage the full extension lifecycle, credentials, recovery actions, and advanced controls.
This guide documents the extension as a live product capability. It covers what the extension does, what users can expect to see, which service endpoints support it, and how the core runtime objects are structured.
What this extension delivers
- One Discord runtime for channels, moderation, announcements, and recurring events.
- AI-assisted queue management for busy communities.
- A direct analytics layer for activity, moderation pressure, and event response.
User-facing signals
- Channel activity
- Moderation load
- Event response
Capabilities
Discord Native Extension is designed as a first-class AI extension. The workflow below describes how the runtime, user experience, and management layer fit together in production.
- Attach the extension to the correct agent and enable the Discord runtime profile.
- Configure moderation policy, announcement patterns, and event handling behavior.
- Use insights to compare channels, moderation load, and event performance.
API Surface
The extension surface is split into marketplace APIs for discovery and installation, runtime APIs for AI execution and analytics, and management APIs for configuration and advanced control.
| Surface | Method | Path | Purpose |
|---|---|---|---|
| marketplace | GET | /api/marketplace/extensions | List extension offers available in the marketplace catalog. |
| marketplace | GET | /api/marketplace/extensions/:id | Read the marketplace record for Discord Native Extension. |
| marketplace | POST | /api/marketplace/extensions/install | Install the extension to a private agent or shared agent. |
| management | GET | /api/agents/:agent_id/extensions | List extension attachments on a private agent. |
| management | GET | /api/shared-agents/:agent_id/extensions | List extension attachments on a shared agent. |
| runtime | POST | /api/extensions/native-discord/runtime/execute | Execute an AI action such as publish, reply, score, route, or monetize depending on the extension family. |
| runtime | GET | /api/extensions/native-discord/runtime/insights | Read insight data used by analytics cards, trends, and detail views. |
| management | GET | /api/extensions/native-discord/management/config | Read active runtime policy, access tier, and extension configuration. |
| management | PUT | /api/extensions/native-discord/management/config | Update runtime policy, AI behavior rules, and extension settings. |
Function Calls and Integration Examples
The following snippets show the extension from a real integration perspective: install it, read its attached state, then drive runtime behavior and analytics through explicit service calls.
Install through the marketplace API
import { installMarketplaceExtension } from '../api/marketplace';
await installMarketplaceExtension({
offerId: <extension-id>,
agentUuid: '<agent-uuid>',
installMode: 'purchase',
notes: 'Enable Discord Native Extension on the primary Discord agent.'
});Read installed attachment state
import { listAgentExtensions } from '../api/agents';
const attachments = await listAgentExtensions(<agent-id>);
const installed = attachments.find((item) => item.offer_slug === 'native-discord');
if (installed?.status === 'active') {
console.log('Discord Native Extension is live on this agent');
}Execute the AI runtime and read insights
import { apiFetch } from '../api/client';
await apiFetch('/api/extensions/native-discord/runtime/execute', {
method: 'POST',
body: JSON.stringify({
agent_uuid: '<agent-uuid>',
intent: 'route_conversation',
context: {
platform: 'discord',
priority: 'high',
resource: 'conversation-snapshot',
conversation_id: '<conversation-id>'
}
})
});
const insights = await apiFetch('/api/extensions/native-discord/runtime/insights');
console.log(insights.summary);Extension Data Structures
These structures define the core extension object, the installed attachment record, and the runtime data shape used by the AI orchestration and analytics layers.
Marketplace extension record
The catalog object returned by the marketplace extension APIs.
export interface MarketplaceExtensionRecord {
id: number;
slug: 'native-discord';
name: 'Discord Native Extension';
version: string;
status: 'active' | 'published' | 'beta' | 'deprecated';
description: string;
author?: string | null;
extension_type: 'social';
platform: 'discord';
capabilities: string[];
required_permissions: string[];
documentation_url?: string | null;
pricing_model?: 'free' | 'one_time' | 'subscription' | 'revenue_share';
price?: number | null;
revenue_share_percent?: number | null;
is_official?: boolean;
install_count?: number;
rating?: number;
review_count?: number;
created_at?: string;
updated_at?: string;
}Agent extension attachment
The normalized attachment object created after installation.
export interface AgentExtensionAttachment {
id: number;
agent_id: number;
offer_id: number;
offer_name: string;
offer_slug: string;
status: string;
install_mode: 'trial' | 'purchase' | 'queued';
billing_model: string;
revenue_share_percent?: number | null;
upfront_price?: number | null;
notes?: string | null;
created_at: string;
activated_at?: string | null;
}Extension runtime insight payload
The runtime object used by the AI execution and analytics layers.
export interface ExtensionRuntimeInsight {
extension_slug: 'native-discord';
platform: 'discord';
agent_uuid: string;
status: 'active' | 'degraded' | 'paused';
summary: string;
metrics: {
reply_rate: 0.81,
queue_pressure: 22,
conversations_active: 184
};
controls: {
automation_mode: 'assisted' | 'autonomous' | 'priority';
access_tier: 'standard' | 'root';
};
updated_at: string;
}MessagingSnapshot
A conversation-level payload for message queue state, routing outcome, and reply performance.
export interface MessagingSnapshot {
extension_slug: 'native-discord';
platform: 'discord';
conversation_id: string;
queue_state: 'open' | 'pending' | 'escalated' | 'closed';
assigned_route: 'ai' | 'hybrid' | 'human';
reply_rate: number;
queue_pressure: number;
last_message_at: string;
updated_at: string;
}Extension Lifecycle
- Discover the extension in the marketplace and open its detail page.
- Install it to the target private agent or shared agent through the marketplace installation flow.
- Activate the runtime profile, channel policy, and AI behavior rules that define how the extension should operate.
- Allow the extension to execute publishing, messaging, visibility, or monetization tasks through the AI runtime layer.
- Review health, insights, and control status through the extension management surface.
- Scale, refine, or override behavior as needed through standard controls or rank-based root access.
Platform Notes
- Discord should remain the canonical platform identifier across routing, analytics, caching, and UI state.
- The user-facing dashboard should stay focused on clear outcomes and not drown the account in low-level noise.
- Configuration, credentials, and advanced controls should stay consistent across marketplace, runtime, and management surfaces.
- Ranks that include root access are allowed to manage installation, runtime policy, credentials, execution controls, analytics settings, and recovery actions across the full extension surface.
- Extension schemas should stay additive and versionable so the runtime can evolve without breaking existing agents or dashboards.
