Class: SlackChannelAdapter
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:73
Channel adapter for Slack using the @slack/bolt SDK.
Uses dynamic import so @slack/bolt is only required at runtime when
the adapter is actually initialized.
When appToken is provided, the adapter uses Socket Mode (no public
endpoint required). Otherwise, it starts an HTTP server for receiving
Slack events.
Capabilities: text, rich_text, images, documents, reactions, threads, mentions, buttons, group_chat, channels, editing, deletion.
Extends
Constructors
Constructor
new SlackChannelAdapter(
retryConfig?):SlackChannelAdapter
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:111
Parameters
retryConfig?
Partial<RetryConfig>
Returns
SlackChannelAdapter
Inherited from
BaseChannelAdapter.constructor
Properties
auth
protectedauth:ChannelAuthConfig&object|undefined
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:97
Stored auth config so reconnect() can re-use it.
Inherited from
capabilities
readonlycapabilities: readonlyChannelCapability[]
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:76
Declared capabilities of this adapter.
Overrides
BaseChannelAdapter.capabilities
connectedSince
protectedconnectedSince:string|undefined
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:92
Inherited from
BaseChannelAdapter.connectedSince
displayName
readonlydisplayName:"Slack"='Slack'
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:75
Human-readable display name (e.g., "WhatsApp Business").
Overrides
BaseChannelAdapter.displayName
errorMessage
protectederrorMessage:string|undefined
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:93
Inherited from
BaseChannelAdapter.errorMessage
platform
readonlyplatform:ChannelPlatform='slack'
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:74
Platform this adapter serves.
Overrides
platformInfo
protectedplatformInfo:Record<string,unknown> ={}
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:94
Inherited from
BaseChannelAdapter.platformInfo
retryConfig
protectedreadonlyretryConfig:RetryConfig
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:101
Inherited from
BaseChannelAdapter.retryConfig
status
protectedstatus:ChannelConnectionStatus='disconnected'
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:91
Inherited from
Methods
addReaction()
addReaction(
conversationId,messageId,emoji):Promise<void>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:244
Parameters
conversationId
string
messageId
string
emoji
string
Returns
Promise<void>
deleteMessage()
deleteMessage(
conversationId,messageId):Promise<void>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:232
Parameters
conversationId
string
messageId
string
Returns
Promise<void>
doConnect()
protecteddoConnect(auth):Promise<void>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:103
Establish the platform connection using the supplied credentials.
Called by initialize after state has been set to connecting.
Must throw on failure — the base class handles retry and state changes.
Parameters
auth
ChannelAuthConfig & object
Returns
Promise<void>
Overrides
doSendMessage()
protecteddoSendMessage(conversationId,content):Promise<ChannelSendResult>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:177
Deliver a message to the external platform.
Called by sendMessage only when the adapter is connected.
Parameters
conversationId
string
content
Returns
Promise<ChannelSendResult>
Overrides
BaseChannelAdapter.doSendMessage
doShutdown()
protecteddoShutdown():Promise<void>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:198
Release platform resources (close WebSocket, stop polling, etc.).
Called by shutdown before the state transitions to disconnected.
Returns
Promise<void>
Overrides
editMessage()
editMessage(
conversationId,messageId,content):Promise<void>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:213
Parameters
conversationId
string
messageId
string
content
Returns
Promise<void>
emit()
protectedemit(event):void
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:265
Emit an event to all matching subscribers. Subclasses call this when the platform SDK receives an inbound event.
Parameters
event
Returns
void
Inherited from
emitConnectionChange()
protectedemitConnectionChange():void
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:296
Convenience helper: emit a connection_change event with the current
status. Called automatically by setStatus.
Returns
void
Inherited from
BaseChannelAdapter.emitConnectionChange
getConnectionInfo()
getConnectionInfo():
ChannelConnectionInfo
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:205
Get the current connection status and metadata.
Returns
Inherited from
BaseChannelAdapter.getConnectionInfo
getConversationInfo()
getConversationInfo(
conversationId):Promise<{isGroup:boolean;memberCount?:number;metadata?:Record<string,unknown>;name?:string; }>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:268
Parameters
conversationId
string
Returns
Promise<{ isGroup: boolean; memberCount?: number; metadata?: Record<string, unknown>; name?: string; }>
hasCapability()
protectedhasCapability(cap):boolean
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:312
Check whether this adapter declares a specific capability.
Parameters
cap
Returns
boolean
Inherited from
BaseChannelAdapter.hasCapability
initialize()
initialize(
auth):Promise<void>
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:151
Initialize the adapter with auth credentials. If already connected this will shut down the existing connection first (idempotent).
Parameters
auth
Returns
Promise<void>
Inherited from
on()
on(
handler,eventTypes?): () =>void
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:248
Register an event handler. Returns an unsubscribe function.
Parameters
handler
eventTypes?
Returns
():
void
Returns
void
Inherited from
reconnect()
reconnect():
Promise<void>
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:186
Manually trigger a reconnection attempt using stored credentials. Useful for UI-driven "reconnect" buttons.
Returns
Promise<void>
Inherited from
sendMessage()
sendMessage(
conversationId,content):Promise<ChannelSendResult>
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:218
Send a message to a conversation on the external platform.
Parameters
conversationId
string
Platform-native conversation/chat ID.
content
Message content to send.
Returns
Promise<ChannelSendResult>
The platform-assigned message ID.
Inherited from
BaseChannelAdapter.sendMessage
sendTypingIndicator()
sendTypingIndicator(
_conversationId,_isTyping):Promise<void>
Defined in: packages/agentos/src/channels/adapters/SlackChannelAdapter.ts:260
Default stub — platforms that support typing indicators should override.
Parameters
_conversationId
string
_isTyping
boolean
Returns
Promise<void>
Overrides
BaseChannelAdapter.sendTypingIndicator
setStatus()
protectedsetStatus(newStatus,error?):void
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:319
Transition to a new connection status and emit an event.
Parameters
newStatus
error?
string
Returns
void
Inherited from
shutdown()
shutdown():
Promise<void>
Defined in: packages/agentos/src/channels/adapters/BaseChannelAdapter.ts:166
Gracefully shut down the adapter and release all resources.
Returns
Promise<void>