{"record":{"id":"40a9a1cdeebd4d94","repo":"zeroclaw-labs/zeroclaw","slug":"chat-postmessage-failed-err","errorCode":null,"errorMessage":"chat.postMessage failed: {err}","messagePattern":"chat\\.postMessage failed: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-channels/src/slack.rs","lineNumber":1265,"sourceCode":"\n        let status = resp.status();\n        let raw = resp\n            .text()\n            .await\n            .unwrap_or_else(|e| format!(\"<failed to read response body: {e}>\"));\n\n        if !status.is_success() {\n            let sanitized = zeroclaw_providers::sanitize_api_error(&raw);\n            anyhow::bail!(\"chat.postMessage failed ({status}): {sanitized}\");\n        }\n\n        let parsed: serde_json::Value = serde_json::from_str(&raw).unwrap_or_default();\n        if parsed.get(\"ok\") == Some(&serde_json::Value::Bool(false)) {\n            let err = parsed\n                .get(\"error\")\n                .and_then(|e| e.as_str())\n                .unwrap_or(\"unknown\");\n            anyhow::bail!(\"chat.postMessage failed: {err}\");\n        }\n\n        parsed\n            .get(\"ts\")\n            .and_then(|v| v.as_str())\n            .map(String::from)\n            .ok_or_else(|| {\n                ::zeroclaw_log::record!(\n                    WARN,\n                    ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)\n                        .with_outcome(::zeroclaw_log::EventOutcome::Failure)\n                        .with_attrs(\n                            ::serde_json::json!({\"field\": \"ts\", \"api\": \"chat.postMessage\"})\n                        ),\n                    \"slack: chat.postMessage response missing ts\"\n                );\n                anyhow::Error::msg(\"chat.postMessage response missing 'ts'\")\n            })","sourceCodeStart":1247,"sourceCodeEnd":1283,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-channels/src/slack.rs#L1247-L1283","documentation":"Error \"chat.postMessage failed: {err}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-channels/src/slack.rs:1265 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check network connectivity to Slack and the error detail; verify the bot token is valid."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}