PlatformsSlackPeople

dndInfo

Domainpeople
Kindquery
doc_id—
Path/api/dnd.info
Sends`------WebKitFormBoundary7oAG8IKB2BS6iLDC
Content-Disposition: form-data; name, ------WebKitFormBoundarybrp71Cf9YHZ1gPSV
Content-Disposition: form-data; name`
Readsok, dnd_enabled, next_dnd_start_ts, next_dnd_end_ts, dnd_profile_status.type, snooze_enabled
Called fromruns/inspect/20261103T065639_mattSlack/script31.js:2988 anonymous, runs/inspect/20261103T065639_mattSlack/script29.js:168 "3P8c", runs/inspect/20261103T065639_mattSlack/script3.js:2976 "3P8c"
reaev_9fcaf9c15ef062642e32d15435406fc3694dd7d4085eff1e354774b9beb7340f

Seen 2 time(s) in 1 run(s).

ActionOur stepTimesStatusTookAfter step startErrors
inspectstep 4: goto /client1200300 ms8964 ms—
inspectstep 6: goto /client/T0C4VCD06MR/D0C8VAE7REU1200299 ms7973 ms—

What it sent and what came back (the newest 2 from our runs)

Read from each run's own recording (rule 73), secrets and signed link tokens taken out. Kept in ~/.logCli/rea/clientFacts.json, so it stays after the run is pruned.

runs/inspect/20261103T065639_mattSlack, step 4: goto /client: 200, 300 ms

Sent:

{
  "query": {
    "_x_id": "2c6eaecf-1793689066.720",
    "_x_gantry": "true",
    "_x_desktop_ia": "4",
    "slack_route": "T0C4VCD06MR",
    "_x_version_ts": "1793684253",
    "_x_foreground": "true",
    "_x_frontend_build_type": "current",
    "fp": "6f",
    "_x_num_retries": "0"
  },
  "body": {
    "------WebKitFormBoundary7oAG8IKB2BS6iLDC\r\nContent-Disposition: form-data; name": "\"token\"\r\n\r\nxoxc-12165421006739-12156263517591-12492529441700-5bffe6e6a317b9bbab53d938a4526d20e882de6ab372cd46f9f90868bb0322a0\r\n------WebKitFormBoundary7oAG8IKB2BS6iLDC\r\nContent-Disposition: form-data; name=\"user\"\r\n\r\nU0C4L7RF7HD\r\n------WebKitFormBoundary7oAG8IKB2BS6iLDC\r\nContent-Disposition: form-data; name=\"_x_reason\"\r\n\r\nfetchAndUpsertDndForUsers-getDndTimesFor:self\r\n------WebKitFormBoundary7oAG8I… (717 chars)"
  }
}

Answered:

{
  "ok": true,
  "dnd_enabled": true,
  "next_dnd_start_ts": 1793689066,
  "next_dnd_end_ts": 9999999999,
  "dnd_profile_status": {
    "type": "focus_mode"
  },
  "snooze_enabled": false
}

runs/inspect/20261103T065639_mattSlack, step 6: goto /client/T0C4VCD06MR/D0C8VAE7REU: 200, 299 ms

Sent:

{
  "query": {
    "_x_id": "2c6eaecf-1793689123.056",
    "_x_gantry": "true",
    "_x_desktop_ia": "4",
    "_x_csid": "aVvVPXA0sak",
    "slack_route": "T0C4VCD06MR",
    "_x_version_ts": "1793684253",
    "_x_foreground": "true",
    "_x_frontend_build_type": "current",
    "fp": "6f",
    "_x_num_retries": "0"
  },
  "body": {
    "------WebKitFormBoundarybrp71Cf9YHZ1gPSV\r\nContent-Disposition: form-data; name": "\"token\"\r\n\r\nxoxc-12165421006739-12156263517591-12492529441700-5bffe6e6a317b9bbab53d938a4526d20e882de6ab372cd46f9f90868bb0322a0\r\n------WebKitFormBoundarybrp71Cf9YHZ1gPSV\r\nContent-Disposition: form-data; name=\"user\"\r\n\r\nU0C4L7RF7HD\r\n------WebKitFormBoundarybrp71Cf9YHZ1gPSV\r\nContent-Disposition: form-data; name=\"_x_reason\"\r\n\r\nfetchAndUpsertDndForUsers-getDndTimesFor:self\r\n------WebKitFormBoundarybrp71C… (717 chars)"
  }
}

Answered:

{
  "ok": true,
  "dnd_enabled": true,
  "next_dnd_start_ts": 1793689123,
  "next_dnd_end_ts": 9999999999,
  "dnd_profile_status": {
    "type": "focus_mode"
  },
  "snooze_enabled": false
}

What it does

Reads the account's own do-not-disturb state: dnd_enabled, next_dnd_start_ts, next_dnd_end_ts, snooze_enabled. Fired 9.0 s into step 4 (goto /client, 300 ms) and 8.0 s into step 6 (299 ms), both 200.

What our machine does with it

Nothing: no log-cli code calls it. The engine (python/slackApi/engine.py) works through GabrielCore on curl_cffi, which signs in with the d cookie and calls only the web API methods it needs, so this is Slack's own web client boot traffic that log inspect recorded. Gabriel's client uses dnd.teamInfo for presence tracking, and the engine does not use that client.

What can go wrong

Like every Slack web API answer it carries ok; with ok: false the error field says why (for example not_authed, invalid_auth, ratelimited). Both recorded answers were 200 without error.