June logo
JuneDocumentation
Channels

Slack channel

How June behaves in Slack, including DMs, thread-scoped memory, workspace context, attachments, and Google Drive links.

Slack is the work-context channel.

It is where June has to care most about the difference between a direct conversation and a shared thread.

Getting started

To get started with Slack, install the June app (still registered under the legacy name nicoolai) from the Slack Marketplace and then use it from Slack once the app is available in your workspace. If you prefer to land in the product first, you can also open web chat and link your account before moving into Slack.

The core Slack distinction

Slack has two materially different shapes:

  • direct messages
  • channel threads

June should not treat those as the same thing.

Direct messages

In a Slack DM, the runtime treats the conversation as a personal direct-message context.

If the Slack user has linked their June account:

  • the DM can run with personal context
  • June can reply without needing a mention every time

If the Slack user has not linked their account:

  • the runtime returns an account-link flow instead of pretending it knows who the user is

Channel threads

In a channel thread, June switches to a thread-scoped model.

Important consequences:

  • memory scope is tied to the workspace, channel, and thread timestamp
  • replies are thread-specific, not treated like a personal DM
  • workspace context becomes part of the access model

This is the idiosyncrasy that matters most in Slack: thread context is a first-class boundary.

Why threading matters

Slack thread behavior is not only a formatting concern.

It affects:

  • who the conversation is really for
  • which memory scope applies
  • whether workspace-level subscription or access rules matter

A DM is closer to a personal conversation. A thread is closer to a bounded work context.

Attachments and Slack scopes

Slack attachments are part of the runtime flow, but they depend on workspace permissions.

That is why missing Slack scopes should be diagnosed concretely instead of treated as vague integration trouble.

Example:

  • private file metadata or downloads failing should point first to files:read

Google Drive links are detected in Slack message text.

If the Slack actor can be resolved to a linked user with a valid Google Drive connection:

  • June hydrates the link in the Slack conversation flow

If access is missing:

  • the runtime creates a pending auth request
  • June points the user to the Google Drive connect page

Slack-specific nuance:

  • Google Drive connection resolution can consider the Slack workspace and thread context, not only a global default

That helps avoid using the wrong Google account inside a work conversation.

What good use looks like

Slack is strongest when:

  • the surrounding thread matters
  • the workspace is part of the meaning of the request
  • the user wants June to stay bounded to the local work context