Sitelet https://docs.qualitymax.io/slack/
Skip to content

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.

An administrator:

  1. Connects the Slack workspace to the QualityMax account. Every project on the account is attached, and the connector goes live straight away.
  2. 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.
  3. 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.

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.

Mention QualityMax in a channel the bot has joined to start a thread:

@QualityMax list these scripts

Later 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.

The thread has one active specialist. Maya is the default. Switch explicitly:

talk to Vex
talk to Pulse

QualityMax 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.

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 42
run test case 7
run scripts from Project 290

Project-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 now
try to run scripts now
run them
run again

Bare 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.

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:

yes
run
ok
agree
I agree
proceed

Ordinary 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.

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 waits

Script 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.

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 script

QualityMax 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.

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.

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.

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.