> ## Documentation Index
> Fetch the complete documentation index at: https://developers.workchats.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notifications

> Who gets a push when your App posts to a group, a channel or a DM

<Info>Dev now; Staging and Production next release.</Info>

Sending a message and notifying someone are separate. A message you send
always appears in the conversation and raises people's unread counts. Whether
it also pushes to their phone depends on where you posted and on each
person's settings.

## Who gets a push

With the default settings:

| You post to | Who gets a push | When |
| - | - | - |
| A DM (`to.type: user`) | The recipient | At any hour |
| A group (`grp_…`) | Every member except your bot | Only during each member's working hours (Monday to Friday by default) |
| A channel (`chn_…`) | Every member of the channel except your bot | Only during each member's working hours (Monday to Friday by default) |

A group or channel post pushes only while the installation's **Notify
members when {App} posts in groups** switch is on. The company admin sets it
when approving your App, and it is on by default. The admin can change it
later in Settings → Apps. With the switch off, a DM still pushes, and group
and channel posts push to nobody.

<Warning>
  A group or channel post is not pushed outside a member's working hours,
  for example at night. The default window is 09:00 to 17:00, Monday to
  Friday, in the member's timezone, and in UTC when the member has no
  timezone. Under the default, a group or channel post on a weekend pushes
  nobody. The message still appears and the unread count still goes up. The
  member just isn't pushed until they open Workchats. For anything
  time-critical, send a DM.
</Warning>

## What stops a push

These apply to a message from your App exactly as they do to one from a
person, whatever the destination:

* **Quiet hours.** A person in quiet hours gets no push, including a DM.
* **A mute.** Muting your App stops its DMs to that person. To stop a
  group's or channel's pushes, the person mutes that group or channel.
  Muting your App alone does not stop its posts there.
* **A focused tab.** A person viewing that conversation in a focused tab
  is not pushed.

The push text is your message's `text`, never its `blocks`. Always send
`text`.

## Choose a destination

* Use a **DM** for anything a person must see soon, such as a lead that
  needs a fast reply. It reaches the recipient at any hour, unless they are
  in quiet hours or muted your App.
* Use a **group or channel** for shared updates that can wait for working
  hours. Expect nothing on a person's phone outside them.
* If you need both, send the DM and post to the channel. Give the two sends
  different `Idempotency-Key` values, as described in
  [Idempotency](/guides/idempotency).

## Other sends

* An **edit** (`PATCH /v1/messages/{id}`) sends no push.
* A **reply** (`reply_to_id`) notifies like any other message, because it is
  not a thread.
* A **delete** does not recall a push already delivered.

## Mentions are coming

Mentions are coming. Today the text of a message your App sends is
stored as written, so `<@usr_…>` and `<!channel>` in `text` are plain text.
