From 997282751fb5161c7b72d53a53624abe022c022a Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Fri, 21 Aug 2026 12:27:45 -0700 Subject: [PATCH 1/2] feat(types): add agent_session_stopped and agent_session_title_changed events Type the two agent session events an agent app receives, mirroring the existing assistant events. Adds them to the SlackEvent union so bolt-js routes them type-safely. - agent_session_stopped: type, channel, user, thread_ts, streaming_message_ts (array), event_ts - agent_session_title_changed: type, channel, user, team_id, thread_ts, title, previous_title, event_ts Field sets captured from live events. Co-Authored-By: Claude --- packages/types/src/events/agents.ts | 21 +++++++++++++++++++++ packages/types/src/events/index.ts | 4 ++++ 2 files changed, 25 insertions(+) create mode 100644 packages/types/src/events/agents.ts diff --git a/packages/types/src/events/agents.ts b/packages/types/src/events/agents.ts new file mode 100644 index 000000000..c6819cdba --- /dev/null +++ b/packages/types/src/events/agents.ts @@ -0,0 +1,21 @@ +// https://docs.slack.dev/reference/events/agent_session_stopped +export interface AgentSessionStoppedEvent { + type: 'agent_session_stopped'; + channel: string; + user: string; + thread_ts: string; + streaming_message_ts: string[]; + event_ts: string; +} + +// https://docs.slack.dev/reference/events/agent_session_title_changed +export interface AgentSessionTitleChangedEvent { + type: 'agent_session_title_changed'; + channel: string; + user: string; + team_id: string; + thread_ts: string; + title: string; + previous_title?: string; + event_ts: string; +} diff --git a/packages/types/src/events/index.ts b/packages/types/src/events/index.ts index 6d7c97301..680e0b9be 100644 --- a/packages/types/src/events/index.ts +++ b/packages/types/src/events/index.ts @@ -1,3 +1,4 @@ +import type { AgentSessionStoppedEvent, AgentSessionTitleChangedEvent } from './agents'; import type { AppContextChangedEvent, AppDeletedEvent, @@ -88,6 +89,7 @@ import type { import type { TokensRevokedEvent } from './token'; import type { UserChangeEvent, UserHuddleChangedEvent, UserProfileChangedEvent, UserStatusChangedEvent } from './user'; +export * from './agents'; export * from './app'; export * from './assistant'; export * from './call'; @@ -121,6 +123,8 @@ export * from './user'; * This is a discriminated union. The discriminant is the `type` property. */ export type SlackEvent = + | AgentSessionStoppedEvent + | AgentSessionTitleChangedEvent | AppContextChangedEvent | AppDeletedEvent | AppHomeOpenedEvent From cba0f8f7fc22dfa31f7a84984ec2aabdaf58d6ab Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Fri, 21 Aug 2026 17:23:44 -0700 Subject: [PATCH 2/2] docs(types): add changeset for agent session events Co-Authored-By: Claude --- .changeset/agent-session-events.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/agent-session-events.md diff --git a/.changeset/agent-session-events.md b/.changeset/agent-session-events.md new file mode 100644 index 000000000..f70cba66b --- /dev/null +++ b/.changeset/agent-session-events.md @@ -0,0 +1,5 @@ +--- +"@slack/types": minor +--- + +feat(types): add [`agent_session_stopped`](https://docs.slack.dev/reference/events/agent_session_stopped) and [`agent_session_title_changed`](https://docs.slack.dev/reference/events/agent_session_title_changed) events