Slash command reference

Escalate exposes 12 slash commands. The audience tier determines who can run each:

  • admin — Slack Workspace Owner OR Workspace Admin.
  • founder-only — only the user designated as the founder via /escalate config founder. Founder-scoped commands return an "only the founder" ephemeral message if a non-founder runs them.
  • any user — anyone in the workspace can run; routes to the founder via DM.

Per spec PR-DOC-1-B §3.2 — audience tiers verified against the founderUserId !== userId gates in each handler. Each command below is documented with its audience, what it does, the expected output, and common errors.

/escalate config roles

  • Audience: admin
  • What it does: Opens a Slack modal where you map workspace users to the four cross-functional roles Escalate covers: Account Executive, Legal, Security, Compliance.
  • Expected output: A modal with one user-picker per role. Submit to save. Saved mappings apply to all NEW deal channels; existing channels retain their original assignments.
  • Common errors: "Only workspace admins can configure Escalate." (You aren't a Slack admin.)

/escalate config founder

  • Audience: admin
  • What it does: Designates a specific workspace user as the founder-CTO. The founder receives all alerts as DMs and is the only user permitted to run founder-only commands.
  • Expected output: A modal with a single user-picker. Saved designation applies immediately.
  • Common errors: Same as config roles.

/escalate config thresholds

  • Audience: admin
  • What it does: Per-role business-day silence thresholds. Defaults: 2 BD for Legal, 3 BD for Security, 3 BD for Compliance, 5 BD for Other.
  • Expected output: A modal with one numeric input per role. See Thresholds for tuning guidance.
  • Common errors: Same as config roles.

/escalate config trigger

  • Audience: admin
  • What it does: Configures the qualifying CRM stages + minimum amount that fire deal-channel creation. Defaults: 4 qualifying stages (Negotiation, Verbal Commit, Contract Sent, Proposal), $75,000 USD minimum, case-insensitive matching, requireAmount: true (deals with missing amount fields are ignored).
  • Expected output: A modal with stage-tags + numeric amount input. See Triggers.
  • Common errors: Same as config roles.

/escalate config crm

  • Audience: admin
  • What it does: Opens an in-Slack picker to connect Salesforce OR HubSpot via OAuth. Returns a docs link if you'd like a step-by-step guide first.
  • Expected output: An ephemeral DM with two buttons (Salesforce / HubSpot). Clicking either opens the vendor's OAuth consent screen.
  • Common errors: "OAuth is not configured on this Escalate deployment." (Server-side config gap — ping the founder.) "This connection request has expired." (OAuth state tokens are single-use, 15-minute expiry — re-run the command.)

/escalate config verifier on|off

  • Audience: admin
  • What it does: Per-workspace toggle for the LLM second-pass verifier. Default is on — when off, only the first-pass classifier decides whether a sub-thread response counts as substantive. Off is rarely the right choice; left as an escape hatch in case a customer hits a high false-positive rate.
  • Expected output: Ephemeral confirmation showing the new state.
  • Common errors: "Usage: /escalate config verifier on|off."

/escalate retrofit

  • Audience: admin
  • What it does: Re-fires the trigger check on already-qualified deals that were qualified BEFORE Escalate was installed. Used once at install-time to catch open deals; idempotent (won't re- create channels that already exist).
  • Expected output: Ephemeral confirmation showing the count of deals enqueued for re-evaluation. Progress reflects in /escalate stats.
  • Common errors: Run-once-then-rerun-safe — no destructive errors. If your CRM isn't connected yet, returns "Connect a CRM first via /escalate config crm."

/escalate recover-ingest [hours]

  • Audience: founder-only
  • What it does: Re-ingests Slack message history for the past [hours] (default 24). Used when bot ingest had downtime — e.g., after a Slack outage or an Escalate worker restart — to rehydrate the events table.
  • Expected output: Ephemeral confirmation showing the count of channels and events queued for re-ingest.
  • Common errors: "Only the founder can run this command." (You aren't the user assigned via /escalate config founder.)

/escalate stats

  • Audience: founder-only
  • What it does: Returns operational counters: trailing-precision (alerts that you marked as legitimate vs. dismissed), the count of in-force trigger rules, the count of alerts fired in the last 7 days, and the verifier flip-toggle progress.
  • Expected output: Ephemeral DM with a Block Kit summary panel.
  • Common errors: Same as recover-ingest.

/escalate audit-export

  • Audience: founder-only
  • Full form: /escalate audit-export <scope> [format] [--fresh]
  • What it does: Generates a signed, time-limited export of the full audit chain for the given scope (deal:<id> / workspace / range:<start>-<end>). Format defaults to JSON; CSV available. --fresh forces re-export (skips cache).
  • Expected output: Ephemeral confirmation; the signed download link arrives via email when the export job completes (typically < 1 minute).
  • Common errors: "Only the founder can run this command." / "Scope is required." / "No matching deals in this workspace."

/escalate coverage

  • Audience: founder-only
  • What it does: Generates a single-use magic link (15-minute expiry) to the Coverage Report — the on-demand console showing covered deals, in-force rules, recent alerts, and stalls. See Coverage Report.
  • Expected output: Ephemeral DM with the magic link.
  • Common errors: Same as recover-ingest.

/escalate help

  • Audience: any user (DMs the founder)
  • Full form: /escalate help <question>
  • What it does: Routes a free-text support question to the founder via Slack DM. Rate-limited to 10 requests / hour / workspace to keep noise bounded.
  • Expected output: Ephemeral ack. The founder receives the question + your handle as a DM.
  • Common errors: Rate-limit reached. Try again in <N> minutes. / "No founder user is configured for this workspace. Ask a workspace admin to run /escalate config founder."

How to check audience tier

If you're unsure whether you can run a command:

  • admin commands: check Slack → workspace name → Settings & administration → Workspace settings → Members → search yourself. Workspace Owner or Workspace Admin = admin tier.
  • founder-only commands: only the user assigned via /escalate config founder qualifies.
  • any user commands (/escalate help): everyone in the workspace.

Next steps

  • Tuning the noise floor? See Thresholds for per-role business-day defaults.
  • Trigger not firing? See Triggers for stage + amount configuration.
  • Want the lifecycle narrative? See What Escalate does.