PlatformsSlackMessages

draftsCreate

Domainmessages
Kindmutation
doc_id—
Path/api/drafts.create
Sends`------WebKitFormBoundary30EK4iBOD7Bfti9G
Content-Disposition: form-data; name, ------WebKitFormBoundaryxmY14VnyNayc0ije
Content-Disposition: form-data; name, ------WebKitFormBoundaryzLndsa02haxLICiB
Content-Disposition: form-data; name, ------WebKitFormBoundary5wlU77uI2b5oCVMa
Content-Disposition: form-data; name`
Readsok, draft.id, draft.date_created, draft.user_id, draft.team_id, draft.last_updated_ts, draft.last_updated_client, draft.blocks, draft.file_ids, draft.is_from_composer, draft.is_deleted, draft.is_sent and 4 more
Called fromruns/inspect/20261103T065639_mattSlack/script3.js:2878 statement, runs/inspect/20261103T065639_mattSlack/script35.js:275 anonymous
reaev_ab1a20f58a433cdc1c7a9f9eff1309fec620995c3114f9dad3b6e5a543687711

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

ActionOur stepTimesStatusTookAfter step startErrors
inspectstep 11: type e10751200323 ms19127 ms—
inspectstep 13: type e10751200315 ms14619 ms—
inspectPOST 0 /beacon/error (335 ms)1200373 ms8539 ms—
inspectstep 21: type e14371200389 ms17923 ms—

What it sent and what came back (the newest 3 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 11: type e1075: 200, 323 ms

Sent:

{
  "query": {
    "_x_id": "2c6eaecf-1793689329.486",
    "_x_gantry": "true",
    "_x_desktop_ia": "4",
    "_x_csid": "b3O92r22OFk",
    "slack_route": "T0C4VCD06MR",
    "_x_version_ts": "1793684253",
    "_x_foreground": "true",
    "_x_frontend_build_type": "current",
    "fp": "6f",
    "_x_num_retries": "0"
  },
  "body": {
    "------WebKitFormBoundary30EK4iBOD7Bfti9G\r\nContent-Disposition: form-data; name": "\"token\"\r\n\r\nxoxc-12165421006739-12156263517591-12492529441700-5bffe6e6a317b9bbab53d938a4526d20e882de6ab372cd46f9f90868bb0322a0\r\n------WebKitFormBoundary30EK4iBOD7Bfti9G\r\nContent-Disposition: form-data; name=\"blocks\"\r\n\r\n[{\"type\":\"rich_text\",\"elements\":[{\"type\":\"rich_text_section\",\"elements\":[{\"type\":\"text\",\"text\":\"affiliate marketing lad, i send out links for stuff and it pays out friday\"}]}]}]\r\n---… (1432 chars)"
  }
}

Answered:

{
  "ok": true,
  "draft": {
    "id": "Dr0CECL96ZMY",
    "date_created": 1793689329,
    "user_id": "U0C4L7RF7HD",
    "team_id": "T0C4VCD06MR",
    "last_updated_ts": "1793689329.473815",
    "last_updated_client": "Chrome",
    "blocks": [
      {
        "type": "rich_text",
        "block_id": "ulqsz",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              {
                "type": "text",
                "text": "affiliate marketing lad, i send out links for stuff and it pays out friday"
              }
            ]
          }
        ]
      }
    ],
    "file_ids": [],
    "is_from_composer": false,
    "is_deleted": false,
    "is_sent": false,
    "client_msg_id": "f9170bf3-42da-43ed-a8ad-bec15cfdf579",
    "date_scheduled": 0,
    "destinations": [
      {
        "channel_id": "D0C8VAE7REU",
        "user_ids": [
          "U0A9JFXK21L"
        ]
      }
    ]
  },
  "files": []
}

runs/inspect/20261103T065639_mattSlack, step 13: type e1075: 200, 315 ms

Sent:

{
  "query": {
    "_x_id": "2c6eaecf-1793689367.912",
    "_x_gantry": "true",
    "_x_desktop_ia": "4",
    "_x_csid": "b3O92r22OFk",
    "slack_route": "T0C4VCD06MR",
    "_x_version_ts": "1793684253",
    "_x_foreground": "true",
    "_x_frontend_build_type": "current",
    "fp": "6f",
    "_x_num_retries": "0"
  },
  "body": {
    "------WebKitFormBoundaryxmY14VnyNayc0ije\r\nContent-Disposition: form-data; name": "\"token\"\r\n\r\nxoxc-12165421006739-12156263517591-12492529441700-5bffe6e6a317b9bbab53d938a4526d20e882de6ab372cd46f9f90868bb0322a0\r\n------WebKitFormBoundaryxmY14VnyNayc0ije\r\nContent-Disposition: form-data; name=\"blocks\"\r\n\r\n[{\"type\":\"rich_text\",\"elements\":[{\"type\":\"rich_text_section\",\"elements\":[{\"type\":\"text\",\"text\":\"just need it for food till then\"}]}]}]\r\n------WebKitFormBoundaryxmY14VnyNayc0ije\r\nCont… (1389 chars)"
  }
}

Answered:

{
  "ok": true,
  "draft": {
    "id": "Dr0CDXER4MFZ",
    "date_created": 1793689367,
    "user_id": "U0C4L7RF7HD",
    "team_id": "T0C4VCD06MR",
    "last_updated_ts": "1793689367.887142",
    "last_updated_client": "Chrome",
    "blocks": [
      {
        "type": "rich_text",
        "block_id": "WzzKw",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              {
                "type": "text",
                "text": "just need it for food till then"
              }
            ]
          }
        ]
      }
    ],
    "file_ids": [],
    "is_from_composer": false,
    "is_deleted": false,
    "is_sent": false,
    "client_msg_id": "4b9ce7e7-f524-4f71-b685-6a89a8b24266",
    "date_scheduled": 0,
    "destinations": [
      {
        "channel_id": "D0C8VAE7REU",
        "user_ids": [
          "U0A9JFXK21L"
        ]
      }
    ]
  },
  "files": []
}

runs/inspect/20261103T065639_mattSlack, POST 0 /beacon/error (335 ms): 200, 373 ms

Sent:

{
  "query": {
    "_x_id": "2c6eaecf-1793689644.905",
    "_x_gantry": "true",
    "_x_desktop_ia": "4",
    "_x_csid": "Omg2iVUkYDE",
    "slack_route": "T0C4VCD06MR",
    "_x_version_ts": "1793684253",
    "_x_foreground": "true",
    "_x_frontend_build_type": "current",
    "fp": "6f",
    "_x_num_retries": "0"
  },
  "body": {
    "------WebKitFormBoundaryzLndsa02haxLICiB\r\nContent-Disposition: form-data; name": "\"token\"\r\n\r\nxoxc-12165421006739-12156263517591-12492529441700-5bffe6e6a317b9bbab53d938a4526d20e882de6ab372cd46f9f90868bb0322a0\r\n------WebKitFormBoundaryzLndsa02haxLICiB\r\nContent-Disposition: form-data; name=\"blocks\"\r\n\r\n[{\"type\":\"rich_text\",\"elements\":[{\"type\":\"rich_text_section\",\"elements\":[{\"type\":\"text\",\"text\":\"nah they went into inferencesaver, the ai gateway\"}]}]}]\r\n------WebKitFormBoundaryzLnd… (1407 chars)"
  }
}

Answered:

{
  "ok": true,
  "draft": {
    "id": "Dr0CE6L4CUUT",
    "date_created": 1793689644,
    "user_id": "U0C4L7RF7HD",
    "team_id": "T0C4VCD06MR",
    "last_updated_ts": "1793689644.928441",
    "last_updated_client": "Chrome",
    "blocks": [
      {
        "type": "rich_text",
        "block_id": "g6cwL",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              {
                "type": "text",
                "text": "nah they went into inferencesaver, the ai gateway"
              }
            ]
          }
        ]
      }
    ],
    "file_ids": [],
    "is_from_composer": false,
    "is_deleted": false,
    "is_sent": false,
    "client_msg_id": "450f0f6c-1ed6-4dc3-85d3-7e101f7cf03e",
    "date_scheduled": 0,
    "destinations": [
      {
        "channel_id": "D0C8VAE7REU",
        "user_ids": [
          "U0A9JFXK21L"
        ]
      }
    ]
  },
  "files": []
}

What it does

Saves the text being typed in the composer as a draft (draft.id, draft.blocks, draft.is_from_composer, draft.is_sent...): the web client fired it four times, on steps 11, 13 and 21 (each a type action) and once beside a /beacon/error POST, 315 to 389 ms, all 200.

What our machine does with it

Nothing: no log-cli code calls it (not in python/slackApi, src/ or the engine's own paths), so no action waits on it or reads it; it was only seen in the inspect recording of Slack's own web client. The engine's send posts the finished text with chat.postMessage and never uses drafts. The websocket's draft_create, draft_send and draft_delete events are in the watch's WATCHED list, so drafts show up only as events.

What can go wrong

Slack answers {ok: false, error: ...} (usually still HTTP 200) when it refuses; the recording shows only 200 with no errors here. A refusal would only mean the web client could not save the draft; the typed text is not sent either way.