# Noizu.Slack v0.1.0 - Table of Contents > Slack Web API client for Elixir. Req-based bot-token client with ok-envelope decoding, bounded 429 retry, cursor streams, chat/conversations/users/search/reactions/pins/files (external upload flow), incoming webhooks, request signature verification, Block Kit builders, and markdown to mrkdwn. ## Pages - [Noizu.Slack](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - Core - [Noizu.Slack](Noizu.Slack.md): Slack Web API client for Elixir. - [Noizu.Slack.Client](Noizu.Slack.Client.md): Explicit connection configuration, passed as the first argument to every Web API call. - [Noizu.Slack.Error](Noizu.Slack.Error.md): Structured error returned by every failing `Noizu.Slack` call as `{:error, %Noizu.Slack.Error{}}` — never raised in the normal flow. - [Noizu.Slack.Pagination](Noizu.Slack.Pagination.md): Lazy cursor walker behind every `*_stream` helper. - [Noizu.Slack.Request](Noizu.Slack.Request.md): Web API request engine: builds the `Req` call, performs it with the bounded retry policy, and decodes Slack's `{"ok": ...}` envelope. - Web API - [Noizu.Slack.Auth](Noizu.Slack.Auth.md): Token introspection (`auth.test`). - [Noizu.Slack.Chat](Noizu.Slack.Chat.md): Messaging (`chat.*`). - [Noizu.Slack.Conversations](Noizu.Slack.Conversations.md): Channels, DMs and threads (`conversations.*`). - [Noizu.Slack.Files](Noizu.Slack.Files.md): File uploads via Slack's external upload flow (the legacy `files.upload` method is retired) - [Noizu.Slack.Pins](Noizu.Slack.Pins.md): Pinned items (`pins.*`). - [Noizu.Slack.Reactions](Noizu.Slack.Reactions.md): Emoji reactions (`reactions.*`). `name` is the emoji name without colons. - [Noizu.Slack.Search](Noizu.Slack.Search.md): Search (`search.*`). Slack requires a **user** token (`xoxp-`, `search:read`) here; pass `token: user_token` in `opts` to override the client's bot token per call. Paging is page-number based (`count:`, `page:`), not cursor based. - [Noizu.Slack.Users](Noizu.Slack.Users.md): Workspace users (`users.*`). Slack params go in `opts`. - Webhooks & signing - [Noizu.Slack.Signature](Noizu.Slack.Signature.md): Verifies Slack request signatures (Events API, slash commands, interactivity). - [Noizu.Slack.Webhook](Noizu.Slack.Webhook.md): Incoming webhooks — no client or token; the URL is the credential (treat it as a secret: never log it). - Formatting - [Noizu.Slack.Blocks](Noizu.Slack.Blocks.md): Block Kit builders and limit validation. Builders return plain maps (atom keys) ready for `Noizu.Slack.Chat.post_message/4`'s `:blocks`. - [Noizu.Slack.Mrkdwn](Noizu.Slack.Mrkdwn.md): GitHub-flavoured Markdown → Slack `mrkdwn`. Deterministic, line-based, no deps.