-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Add slack-summarizer extension #18959
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||
|
||
# dependencies | ||
/node_modules | ||
|
||
# Raycast specific files | ||
raycast-env.d.ts | ||
.raycast-swift-build | ||
.swiftpm | ||
compiled_raycast_swift | ||
|
||
# misc | ||
.DS_Store |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"printWidth": 120, | ||
"singleQuote": false | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Slack Summaries Changelog | ||
|
||
## [Initial Version] - {PR_MERGE_DATE} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# Slack Summarizer – Raycast Extension | ||
|
||
Summarize any Slack channel or thread directly from **Raycast** using OpenAI. | ||
Perfect for catching-up after vacations, keeping stakeholders in the loop, or turning noisy discussions into succinct, bullet-point briefs. | ||
|
||
--- | ||
|
||
## ✨ Features | ||
|
||
| Command | What it does | | ||
| --------------------------- | ---------------------------------------------------------------------------------------------------------------- | | ||
| **Summarize Slack Channel** | Picks every standalone message and thread in a channel over the last *n* days and generates a concise digest. | | ||
| **Summarize Slack Thread** | Takes a single thread URL (or timestamp) and produces an executive summary, highlighting decisions & next steps. | | ||
| **Open in HTML** *(Thread)* | Renders the markdown summary in a clean HTML sheet—handy for sharing or copy-pasting elsewhere. | | ||
|
||
Both commands respect a **custom OpenAI prompt** so you can fine-tune tone, detail level, language, etc. | ||
|
||
## ⚙️ Requirements | ||
|
||
- A **Slack workspace** where the Raycast Slack App can be installed with the scopes below. | ||
|
||
- An **OpenAI API key**. | ||
|
||
### Slack OAuth scopes | ||
|
||
`channels:read`, | ||
`channels:history`, | ||
`groups:read`, | ||
`groups:history`, | ||
`im:read`, | ||
`im:history`, | ||
`mpim:read`, | ||
`mpim:history`, | ||
`users:read`, | ||
`search:read` | ||
|
||
> The extension uses a PKCE OAuth flow; **no server is required**. | ||
> Tokens are stored in Raycast’s local secure storage. | ||
|
||
## Setup | ||
|
||
### Raycast Preferences | ||
Open Raycast → *Extensions* → *Slack Summarizer* and set: | ||
|
||
| Preference | Description | | ||
| ---------------------------- | ------------------------------------------------------ | | ||
| **OpenAI API Key** | `sk-...` key from your OpenAI dashboard | | ||
| **Default OpenAI Model** | E.g. `gpt-4.1`, or `o3` | | ||
|
||
|
||
### Authorize Slack | ||
Launch either command; the first run triggers an OAuth browser window. | ||
Select the workspace → grant the requested scopes → done. | ||
|
||
## 📝 Custom Prompt Tips | ||
|
||
The *Custom Prompt* preference is pre-pended to every request. | ||
Examples: | ||
|
||
* `Provide a short TL;DR at the top, then bullet points.` | ||
* `Focus only on action items and decisions; omit pleasantries.` | ||
|
||
## 🚧 Limitations | ||
|
||
* Large channels (> 1,000 messages) may hit Slack rate limits – exponential back-off is built-in, but huge digests can take time. | ||
* Slack attachments (files, images) are ignored; only text is summarized. | ||
|
||
## 📜 License | ||
|
||
MIT © 2025 – Contributors. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
const { defineConfig } = require("eslint/config"); | ||
const raycastConfig = require("@raycast/eslint-config"); | ||
|
||
module.exports = defineConfig([ | ||
...raycastConfig, | ||
]); |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Title 'Slack Summaries' in CHANGELOG.md doesn't match 'Slack Summarizer' in package.json title field