Log a Slack user message and bot response for visibility in the agency panel. Called by the Slack bot after each user-triggered exchange. If the API key has an agency scope, messages are associated with that agency and appear under Agency → Slack.
API key prefixed with cr_ (e.g. cr_a1b2c3...)
Slack user ID (e.g. U12345)
Slack channel ID
app_mention, dm, thread_reply User message (after stripping @mention)
Bot agent identifier (e.g. wgm, fbv)
Thread timestamp if in a thread
e.g. im, channel, group
Original text before stripping
Bot reply (null if error)
Set when processing failed