Slack

What is it?

Sharely posts what the product connectors find into Slack: a blocker the moment it is found, a digest when you ship, and a roll-up of what is waiting for someone.

One app, connected once for the whole workspace. Nothing is created in Slack by hand, and nothing is pasted into Sharely.


What problems does it solve?

  • Nobody watches a queue. A page that contradicts what you just shipped sits in Changes until someone looks. A blocker in the channel the team already reads is seen the same hour.
  • Shipping is when it matters. The release digest arrives on the tag, listing what went out and what each change did to your content, while the release is still fresh.
  • The weekly state of things, without asking. The roll-up says what is waiting for review, what has no content describing it, and what was checked and found correct.

Requirements

  • A Sharely.ai workspace with a GitHub connection. Slack posts what the connectors find; on its own it has nothing to say.
  • Owner or admin of that workspace.
  • Permission to add an app to your Slack workspace.

How to connect it

  1. Go to Product → Connect and press Set up Slack, or open Product → Slack directly.
  2. Press Connect Slack. Slack asks you to approve the app: it may post messages and read your channel list, so Sharely can offer the channels. It never reads a message.
  3. Choose the Default channel. Until one is set, nothing posts.

That is the whole setup. A GitHub account or a repository added later posts to that channel without anyone opening its settings.

Send a test, on any connection, posts one message through the real path and tells you which channel it resolved to and why.


Where each message goes

Most workspaces need only the default. When one account or one repository belongs somewhere else, override it — the most specific setting wins:

LevelWhere you set itTypical use
RepositoryPosts to, on the repository's row in the connection's settingsone repository a different team owns
ConnectionChannel, on the connection's Slack panela second GitHub organization with its own channel
WorkspaceDefault channel, on the Slack screeneverything else

Every level starts set to inherit, so changing the workspace default moves everything that has not opted out.

Note: The roll-up is the exception. It summarises a whole GitHub account, so it goes to that connection's channel and includes repositories routed elsewhere.

Note: For a private channel, invite the app first — /invite @Sharely in the channel. Public channels need no invitation. A post to a private channel the app is not in fails and is not retried.

Channels are stored by their Slack id, not their name, so renaming a channel in Slack does not redirect or break anything.


What gets posted

Three kinds of message. Each is previewed beside the settings with sample content, laid out by the same code that posts the real thing.

MessageWhenSetting
Blockerthe moment a report graded blocker is savedNotify on blocker, on by default
Release digesta tag or a release, listing every change that shipped in it and what each did to your contentalways, when a channel is set
Roll-upwhat is waiting for review, open gaps, and what was found consistentRoll-up: weekly (Mondays), daily, or off

Turning Notify on blocker off hides nothing: the blocker still waits in Changes, it just does not interrupt the channel.

Both the blocker and the digest are posted once. A retry after a failure does not post a second copy.


Data and privacy

What Sharely sends

A message names the change, the repository, the content it affects and the proposed edit, and links back to Sharely. It is the same text as the report on the Changes screen.

Code excerpts follow the repository's own rule. A repository in sensitive mode stores paths and line ranges only, so there is nothing to quote and nothing is quoted.

Secrets found in a diff are redacted before the agent reads it, so a token committed by accident cannot reach a channel through a report.

What Sharely reads

Nothing. The app asks only to post messages and to list channels. It has no permission to read messages, and none is requested.

The credential

Slack's token is encrypted before it is stored and is never sent to a browser. Disconnect forgets it.


When something does not appear

What you seeUsually
Nothing posts at allno channel resolves — the workspace has no Default channel and the connection has not chosen one
A post to a private channel never arrivesthe app is not in it — /invite @Sharely in that channel
The channel list is emptythe app is missing channels:read and groups:read. Add them in Slack, reinstall it there, then connect again
Send a test works, real changes post nothinga test posts immediately; blockers, digests and roll-ups are posted by the background worker, and only a report graded blocker, a tag, or the roll-up's schedule produces one
A blocker was expected and none camethe report was not graded blocker. Open it in Changes to see what it was graded
Two roll-ups in one channeltwo GitHub connections share that channel. Each roll-up covers one account and names it

Disconnect

Product → Slack → Disconnect stops the posting. Sharely's copy of the credential is forgotten, so nothing can be posted; the app stays installed in Slack until you remove it there. Your channel choices are kept, and connecting again restores them.

A connection that still has an older incoming webhook saved falls back to it.


Learn more