Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
title: Automations, CLI, and Slack bot
date: 2026-05-18
image: /changelog/automations.png
---

Superset is now usable from a lot more places than the desktop app: a fleshed-out CLI and TypeScript SDK, a Slack agent that spins up workspaces on its own, and a mobile app heading into internal review.

## Automations

**Automations are cron jobs for agent sessions.** Pick a project, write a prompt, set a schedule — and Superset dispatches an agent run against a fresh workspace every time it fires. The output is a live workspace you can open, review, and continue interactively.

Typical uses:

- **Nightly standups** — summarize PRs, issues, and activity from the last 24 hours
- **Release notes** — draft from merged commits each week
- **Security & dependency sweeps** — scan for vulnerable packages or deprecated APIs every morning
- **Long-running refactors** — "bump TypeScript to 5.7 in the next un-migrated package" on a daily cadence

This batch brings automations into their own as a first-class workflow:

- **Prompt version history** <PRBadge url="https://github.com/superset-sh/superset/pull/3996" /> — every edit to an automation's prompt is snapshotted. Browse previous versions and restore any of them, so an accidental change is no longer a one-way door.
- **Redesigned automations tab** <PRBadge url="https://github.com/superset-sh/superset/pull/4225" /> — new layout that makes a queue of runs easier to scan at a glance.
- **Mine vs. Team filter** <PRBadge url="https://github.com/superset-sh/superset/pull/4403" /> — automations now belong to a team. Filter the runs view between **Mine** and **Team** to see only what you ran vs. everything your team kicked off.

### Drive them from the CLI

Everything you can do in the UI is now scriptable. New in this batch: `prompt get` / `prompt set` <PRBadge url="https://github.com/superset-sh/superset/pull/3966" /> and the `--name` filter on list <PRBadge url="https://github.com/superset-sh/superset/pull/3959" />.

```bash
# create a recurring run from a prompt file
superset automations create \
--name "Nightly audit" \
--rrule "FREQ=DAILY;BYHOUR=3;BYMINUTE=0" \
--project <projectId> \
--agent claude \
--prompt-file prompt.md

# manage the queue
superset automations list --name "Nightly"
superset automations pause <id>
superset automations resume <id>

# iterate on the prompt (backed by the new version history)
superset automations prompt get <id> > prompt.md
$EDITOR prompt.md
superset automations prompt set <id> --file prompt.md

# fire one off-schedule (also works from the SDK / Slack bot / MCP)
superset automations run <id>
```

`superset automations run` is also exposed via the **TypeScript SDK** and **MCP**, so you can dispatch runs from a CI job, an internal admin panel, or a Slack slash command. See the [Automations docs](https://docs.superset.sh/docs/automations) for the full surface.

## Superset CLI

The `superset` CLI grew real project and workspace commands and a cross-device login flow.

**New commands:**

- `superset projects create` <PRBadge url="https://github.com/superset-sh/superset/pull/4355" /> — scaffold a new Superset project from your shell.
- `superset projects setup` <PRBadge url="https://github.com/superset-sh/superset/pull/4356" /> — link an existing local repo to a Superset project.
- `superset workspaces open` <PRBadge url="https://github.com/superset-sh/superset/pull/4258" /> — open a workspace directly from the terminal.
- `superset auth login` <PRBadge url="https://github.com/superset-sh/superset/pull/3965" /> — now uses OAuth device code + PKCE, so it works on headless servers and across devices.

**Setting it up:**

```bash
# install
curl -fsSL https://superset.sh/cli/install.sh | sh
# or: brew install superset-sh/tap/superset
# or: it's already bundled with the desktop app at ~/.superset/bin/superset

# sign in (opens a browser, or prints a code for a second device)
superset auth login

# scaffold a project and open a workspace
superset projects create
superset workspaces open
```

The accompanying **TypeScript SDK** <PRBadge url="https://github.com/superset-sh/superset/pull/3937" /> (`@superset_sh/sdk`) mirrors the CLI 1:1 — same procedures, same shapes — so anything you can do from your shell, you can do from a script, a CI job, or an internal tool.

```bash
npm install @superset_sh/sdk
```

```ts
import Superset from '@superset_sh/sdk';
const client = new Superset(); // reads SUPERSET_API_KEY / SUPERSET_ORGANIZATION_ID
await client.automations.run('<automation-id>');
```

Linux `superset start` and `superset update` are now fixed <PRBadge url="https://github.com/superset-sh/superset/pull/4635" />.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 This Linux fix note is a standalone sentence sitting between the SDK code block and the Slack section with no heading or list marker. It reads as an orphaned aside and disrupts the flow; burying it in the Minor updates paragraph or promoting it to a bullet under the CLI section would be more consistent with the document's structure.

Suggested change
Linux `superset start` and `superset update` are now fixed <PRBadge url="https://github.com/superset-sh/superset/pull/4635" />.
- **Linux `superset start` / `superset update` fixed** <PRBadge url="https://github.com/superset-sh/superset/pull/4635" />.
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/marketing/content/changelog/2026-05-18-teams-slack-sdk-workspaces.mdx
Line: 94

Comment:
This Linux fix note is a standalone sentence sitting between the SDK code block and the Slack section with no heading or list marker. It reads as an orphaned aside and disrupts the flow; burying it in the Minor updates paragraph or promoting it to a bullet under the CLI section would be more consistent with the document's structure.

```suggestion
- **Linux `superset start` / `superset update` fixed** <PRBadge url="https://github.com/superset-sh/superset/pull/4635" />.
```

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!


## Slack bot

![Superset Slack bot spinning up a workspace and reporting back in-thread](/changelog/slack.png)

`@superset` in Slack is now an actual agent, not a task-filer. Mention it in a channel or DM it from anywhere, and it can:

- **Create, update, search, and triage tasks** from the conversation it's standing in — pulling assignees, statuses, and priorities from your team's Linear/Superset setup.
- **Spin up a cloud workspace and launch a coding agent** to actually do the work. For code-change requests (e.g. "@superset bump our Sentry SDK to v9 across all apps"), it now defaults to spawning a workspace and agent rather than just filing a ticket <PRBadge url="https://github.com/superset-sh/superset/pull/4660" />.
- **Read the thread or channel history** on its own to gather context — no need to copy-paste the prior messages.
- **Search the web with citations** when a request needs up-to-date info.
- **Unfurl Superset task and workspace links** with rich previews when they're shared in a channel.

**Setting it up:**

1. In the dashboard, go to **Integrations → Slack**.
2. Click **Connect** to install the Superset Slack app into your workspace (OAuth).
3. Mention `@superset` in any channel, or open a DM with the bot, and describe what you want done.

If Slack was already connected before this release, no action needed — proactive workspace creation is on by default.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix grammar in the Slack migration note.

Line 114 should read “no action is needed” for correct grammar.

✏️ Proposed fix
-If Slack was already connected before this release, no action needed — proactive workspace creation is on by default.
+If Slack was already connected before this release, no action is needed — proactive workspace creation is on by default.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
If Slack was already connected before this release, no action needed — proactive workspace creation is on by default.
If Slack was already connected before this release, no action is needed — proactive workspace creation is on by default.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/marketing/content/changelog/2026-05-18-teams-slack-sdk-workspaces.mdx`
at line 114, Fix the grammar in the sentence "If Slack was already connected
before this release, no action needed — proactive workspace creation is on by
default." by inserting the missing verb so it reads "If Slack was already
connected before this release, no action is needed — proactive workspace
creation is on by default."


## Mobile: internal review

The mobile app is in **internal review**. Core flows — workspaces list, task triage, agent chat, and the live terminal viewer — are wired up against the same APIs as web and desktop. We're dogfooding on-device now ahead of a wider beta.

## Also in this batch

- **Teams as a first-class primitive** <PRBadge url="https://github.com/superset-sh/superset/pull/4403" /> — assign members, workspaces, and automations to a team. Powers the Mine/Team automations split above.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The same PR badge (#4403) is used for two distinct top-level bullet points — "Mine vs. Team filter" in the Automations section and "Teams as a first-class primitive" in the "Also in this batch" section. A reader who clicks the badge in both places lands on the same PR, which can feel like a broken link or an oversight. If Teams and the filter genuinely shipped in a single PR, consider collapsing the two mentions or cross-linking with prose instead of a second badge.

Suggested change
- **Teams as a first-class primitive** <PRBadge url="https://github.com/superset-sh/superset/pull/4403" /> — assign members, workspaces, and automations to a team. Powers the Mine/Team automations split above.
- **Teams as a first-class primitive** — assign members, workspaces, and automations to a team. Powers the Mine/Team automations split above (see PR badge in the Automations section).
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/marketing/content/changelog/2026-05-18-teams-slack-sdk-workspaces.mdx
Line: 122

Comment:
The same PR badge (`#4403`) is used for two distinct top-level bullet points — "Mine vs. Team filter" in the Automations section and "Teams as a first-class primitive" in the "Also in this batch" section. A reader who clicks the badge in both places lands on the same PR, which can feel like a broken link or an oversight. If Teams and the filter genuinely shipped in a single PR, consider collapsing the two mentions or cross-linking with prose instead of a second badge.

```suggestion
- **Teams as a first-class primitive** — assign members, workspaces, and automations to a team. Powers the Mine/Team automations split above (see PR badge in the Automations section).
```

How can I resolve this? If you propose a fix, please make it concise.

- **Terminal sessions survive app updates** <PRBadge url="https://github.com/superset-sh/superset/pull/3971" /> — the PTY daemon hands off file descriptors on upgrade, so running shells stay alive when Superset auto-updates.
- **Web terminal presets** <PRBadge url="https://github.com/superset-sh/superset/pull/4653" /> — run your common commands with a single click in the web terminal, same as desktop.

## Minor updates

V2 changes tab gained inline stage/unstage/discard controls <PRBadge url="https://github.com/superset-sh/superset/pull/4022" /> and diff comments gained a copy action <PRBadge url="https://github.com/superset-sh/superset/pull/4389" />. Workspaces can be started with a preset for repeatable agent runs <PRBadge url="https://github.com/superset-sh/superset/pull/4335" />. The relay server now drains tunnel connections cleanly on shutdown ahead of the multi-region rollout <PRBadge url="https://github.com/superset-sh/superset/pull/4594" />. Theme search in the command palette <PRBadge url="https://github.com/superset-sh/superset/pull/4573" />. macOS notifications now include workspace and project context <PRBadge url="https://github.com/superset-sh/superset/pull/4614" />. MCP OAuth access token TTL bumped to 7 days <PRBadge url="https://github.com/superset-sh/superset/pull/4365" />.
Binary file added apps/marketing/public/changelog/automations.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/marketing/public/changelog/slack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading