megachangelog
Feature

eve adds new Slack event hooks and session controls

eve agents on Slack can now keep replies in a thread without repeated mentions, cancel in-progress responses, or reset conversations entirely. New hooks allow agents to react to any Slack event the app subscribes to, with helpers for detecting mentions, checking active sessions, and listing thread participants.

eve agents on Slack can now keep replying in a thread without repeated mentions, cancel an in-progress response or reset a conversation entirely, and react to any event your Slack app subscribes to.

Mentions no longer have to carry the conversation. Once a thread has an active session, your agent can reply on its own.

The new hook receives incoming Slack messages, and two helpers decide which ones to handle: detects an explicit mention, and checks whether the message belongs to a thread with an active eve session:onMessagectx.isBotMentioned()ctx.isSubscribed()

When routing depends on who has joined the thread, the new helper returns unique human Slack user ids in first-appearance order. Public channel messages require the trigger event type and the bot scope; private channels also need and .ctx.thread.listParticipants()message.channelschannels:historymessage.groupsgroups:history

Message hooks also receive two thread-bound session helpers.

stops the current turn while keeping the session: call it before returning to queue the new message as replacement input, so a mid-turn correction drops the stale work and the agent responds to the latest message.ctx.cancel(){ auth }

When the conversation should start over instead, terminally retires the session that owns the thread. The next delivered message begins a new session with fresh history, state, and sandbox. Inside your dispatch logic, a reset command takes three lines:ctx.reset()onMessage

Your agent can now react to any event your Slack app subscribes to.

The new hook receives raw events such as , , and . Inside the hook, call to start an agent turn, or call it several times to fan one event out to multiple targets. The event, for example, can kick off onboarding in each of your welcome channels.onEventreaction_addedteam_joinchannel_createdctx.receive()team_join

Read the to get started, or add the channel to your eve agent with .Slack channel documentationeve channels add slack

Read more

Continue conversations without repeated mentions

Cancel a turn or reset the conversation

Handle any Events API callback

slackagentsapiwebhooksevents

Source: original entry ↗