# `Noizu.Slack.Webhook`
[🔗](https://github.com/noizu-labs-sdks/elixir-slack/blob/v0.1.0/lib/noizu/slack/webhook.ex#L1)

Incoming webhooks — no client or token; the URL is the credential (treat it as a
secret: never log it).

    Noizu.Slack.Webhook.post(url, %{text: "deploy finished", blocks: blocks})

Slack answers `200 "ok"` on success and a plain-text error otherwise
(`invalid_payload`, `no_text`, `channel_is_archived`, …).

## Options

  * `:req_options` — merged into `Req.request/1` (e.g. `plug:` in tests).
  * `:retry` — same shape as `Noizu.Slack.Client`'s; 429 honours `Retry-After`.
  * `:user_agent`.

# `post`

```elixir
@spec post(String.t(), map() | String.t(), keyword()) ::
  {:ok, String.t()} | {:error, Noizu.Slack.Error.t()}
```

POST <webhook url> — posts a JSON message payload to an incoming webhook.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
