Slack
Invite QualityMax to a Slack channel so the team can inspect project records, talk to the Nexus Crew, and approve exact test actions without leaving the thread. Slack is a conversational entry point into the same projects, scripts, executions, and review workflows used in the web app and MCP.
Start in Settings → Integrations → Slack. Mentions and thread replies work in public and private channels the bot has been invited to. Direct messages are not supported.
Connect
Section titled “Connect”An administrator:
- Connects the Slack workspace to the QualityMax account. Every project on the account is attached, and the connector goes live straight away.
- Invites the QualityMax bot to any channel. That invite is the approval — there is nothing else to switch on, and a channel added later works immediately.
- Asks each participating user to link their Slack identity to their QualityMax account.
Users who mention QualityMax before linking receive a private account-link message in the same thread. A QualityMax team member who shares a team with the workspace owner can complete the link; after linking, the bot continues the original question in that thread automatically. Do not share the link in the channel. If the web app needs Terms acceptance or has a temporary error, the link remains available in that browser tab so the user can accept or retry without starting over.
Reauthorize older installs when Settings asks. Mention-free thread replies
need the current chat and history scopes. Legacy installs continue to answer
@QualityMax mentions until they are reauthorized.
Narrow what the bot can do
Section titled “Narrow what the bot can do”A new workspace starts fully enabled: it answers in every channel it is invited to, reads every record type in every project the person asking can access, and may propose every action. Manage on the Slack card is the single place to narrow any of that.
| Setting | What it controls |
|---|---|
| Where it answers | Every invited channel (the default), or only channels you pick. Individual channels can be excluded by search. |
| What it can see | Which record types the conversation may retrieve — areas, test cases, automation scripts, executions, analysis — and whether it reads across projects or only the channel’s own. |
| What it can do | Which operations may be proposed: run tests, manage test cases, modify scripts, and auto-heal. |
| Run results | Which channel receives automatic incident cards. This starts off and is independent of what the bot can do. |
Every axis can also be set per project, so one project can be narrower than the rest.
Answering everywhere is an inbound decision only. QualityMax never posts run results into a channel just because the bot is a member; a destination is always chosen explicitly.
Enabling run_tests allows run proposals even when automatic notifications
are off. A linked Slack identity must still have current QualityMax access to
the selected project. Narrowing a policy takes effect on the next turn.
Script inventory lists show names to users with scripts Data access. Use descriptive names without credentials. Known secret patterns are redacted; arbitrary sensitive names cannot be recognized reliably.
Start and continue a conversation
Section titled “Start and continue a conversation”Mention QualityMax in a channel the bot has joined to start a thread:
@QualityMax list these scriptsLater replies in that QualityMax-owned thread continue without another mention. Top-level channel messages, DMs, and unrelated threads are ignored.
Retrieval is bounded. The current inventory view returns up to 12 records per category. Treat a short list as a page, not a complete project inventory. Ask for another page or name a script or test-case ID.
QualityMax rebuilds context from the current binding and current records. It does not replay earlier assistant answers as if they were still true.
Nexus Crew in Slack
Section titled “Nexus Crew in Slack”The thread has one active specialist. Maya is the default. Switch explicitly:
talk to Vextalk to PulseQualityMax confirms the switch. Later answers in that thread use the new persona. Switching changes review perspective only. It does not change project access, Action access, or who may approve a proposal.
A Slack persona switch is not a full Nexus multi-persona review. See Nexus personas and Nexus review.
Product facts come from the public documentation shipped with the deployment. Enabled project capabilities and execution receipts determine what this conversation can actually do.
Run tests
Section titled “Run tests”Every run requires approval of the exact targets and versions. Enabling an action permission does not approve a run. A model asking “shall I proceed?” does not create an executable proposal.
run script 42run test case 7run scripts from Project 290Project-wide selections are capped at 20 scripts per approval. Larger selections require explicit script IDs; they are never silently truncated.
Follow-ups that refer to a recent user selection, using fresh records and access:
can you try again to run?run scripts nowtry to run scripts nowrun themrun againBare run? does not reuse a selection. After listing scripts, run 42 can
select that ID when its record type is unambiguous. Otherwise specify
script or test case.
A copied script label after a numeric ID is only a consistency hint. The current authorized record, project ownership, runner, and source version determine the proposal.
You can paste a whole command as Slack inline code, a code block, or bold
text. qmax test run --script-id 42 --wait prepares the same Slack run
proposal. Slack does not run arbitrary terminal commands or extra CLI flags.
Approve a run
Section titled “Approve a run”Use Approve on the proposal card and complete any confirmation it opens.
For a run proposal addressed to you, you can instead reply immediately in the same thread:
yesrunokagreeI agreeproceedOrdinary capitalization and terminal punctuation are accepted. This approves the exact pending run only when:
- the posted proposal and your reply have verified Slack delivery timestamps
- no conversation turn intervenes
- one unexpired run proposal is pending for you
Other acknowledgments, ambiguous selections, or missing delivery evidence require the card. A failed or uncertain bot delivery can disable text approvals in that thread; use the card or start a fresh thread.
Approval is stored before the action is sent to a worker. If that queue publication is interrupted, QualityMax keeps the approved action pending and retries it. Repeated worker deliveries cannot execute the same proposal twice.
QualityMax posts execution evidence in the original thread after an approved action runs. Nexus personas do not need to hand the request to another specialist.
Review and edit scripts
Section titled “Review and edit scripts”With scripts Data access, QualityMax can retrieve stored source, steps, and available execution evidence. Source reads preserve the stored language and redact known secret patterns.
Review the source of script #42 for flaky waitsScript modification has its own Action access permission:
update script #42 replace "old text" with "new text"The card previews the exact change against the current script version. Code inside the replacement strings is preserved, including backticks and asterisks. Code changes require the reviewer confirmation dialog. A changed record version, removed capability, removed channel, stale identity, expired proposal, replay, or concurrent claim fails closed.
Heal a failed run
Section titled “Heal a failed run”Healing uses the Auto-heal action permission and the existing incident workflow. Ask in the failed-run incident thread, not in a general project chat:
heal this scriptQualityMax offers the current patch for review when one exists, or an approval to request healing for that incident. A general project chat cannot select an incident to heal.
A healing suggestion is not applied automatically. Review the diff and validation evidence. If the failure is a product bug, weakening the test makes the situation worse. See Self-healing.
What Slack can execute
Section titled “What Slack can execute”Slack uses the same runner registry as MCP. Source review and reviewed patches can work with stored languages. Managed execution follows the registered runners.
| Stored framework | Slack managed run | Source read and reviewed patch |
|---|---|---|
| Playwright | Cloud sandbox | Yes |
| pytest | Cloud sandbox | Yes |
| Jest | Cloud sandbox | Yes |
| Go test | Cloud sandbox | Yes |
| Rust cargo | Cloud sandbox | Yes |
| Appium with valid managed Limrun metadata | Managed mobile | Yes |
| Cypress, Selenium, Vitest, k6, JMeter, Gatling, Locust, custom, or unproven Appium | No Slack server run | Yes |
A readable script is not a ready runtime. Check the script’s execution configuration as part of preparing the run.
Command reference
Section titled “Command reference”| Intent | Example |
|---|---|
| List authorized scripts | list these scripts |
| Review source | Review the source of script #42 |
| Run one script | run script 42 |
| Run a test case’s scripts | run test case 7 |
| Run a project’s scripts | run scripts from 290 |
| Repeat a clear selection | run again or try to run scripts now |
| Approve a pending run | yes, run, ok, agree, I agree, or proceed |
| Edit a precise fragment | update script #42 replace "old text" with "new text" |
| Heal in an incident thread | heal this script |
| Switch specialist | talk to Vex |
| Check current capabilities | what can you do? |
Replace example IDs with records from your own authorized inventory.
When something does not work
Section titled “When something does not work”If QualityMax cannot retrieve scripts, check Data access, the linked account, and project membership.
If it can retrieve scripts but cannot prepare a run, check Manage → What it can do → Run tests. Run results do not need to be on.
If a request is ambiguous, use run script 42 or run test case 7. The bot
also accepts the older #42 notation; copied inventory labels are checked
against the current authorized record before a card is prepared.
If the bot describes a run but no proposal card appears, execution has not started. A proposal, a queued action, and a terminal result are separate pieces of evidence.
If text approval is rejected, use Approve on the card. If healing is rejected with an incident-thread message, open the failed-run incident and ask there.
If mentions return no answer, an administrator should confirm the Slack connection, that the bot is in the channel, and that the channel is not excluded under Manage → Where it answers.
Related
Section titled “Related”- Integrations — MCP, Smithery, and the Slack action summary
- Self-healing — review and validate a repair
- Nexus personas — specialist roles
- Nexus review — full multi-persona review
- Execution — runners and evidence
- MCP quickstart — the same operations from a coding agent