fn decode_pins(body: &str) -> Result<Vec<SlackPin>, SlackError>
Split out of the async path so the decode is testable without HTTP.