# Inbox and appointments

{/* AUTO-SYNCED SOURCE: this page lives in apps/app/src/modules/wa-bot/docs/ and is mirrored into the docs app by `bun sync:module-docs`. Edit it in the module, not in apps/docs. */}

<Lead>
The inbox under **Operations > Inbox** (Betrieb > Inbox) is the place for everything personal: your team reads along with all WhatsApp conversations, takes them over from the bot when needed and hands them back afterwards. Handovers to your team always sit at the top, and the list refreshes on its own.
</Lead>

## How the inbox works

On the left you see all conversations, handovers first. Besides the name and last message, each row shows a status:

<DefinitionList>
  <DefItem term="Wartet auf Übernahme (waiting for takeover)">The bot handed over, but nobody on the team has taken the conversation yet.</DefItem>
  <DefItem term="Bei Anna (with a team member, shown by name)">A team member is currently running the conversation personally.</DefItem>
  <DefItem term="Bot aktiv (bot active)">The bot is answering the conversation automatically.</DefItem>
  <DefItem term="Abgemeldet (opted out)">The contact opted out via STOP.</DefItem>
</DefinitionList>

Unread conversations carry a counter badge. If nothing exists yet, the inbox shows "Noch keine Gespräche" (no conversations yet): as soon as your bot is connected and live, all WhatsApp conversations appear here, with handovers at the top.

## Taking over and handing back

In an open conversation you control who replies from the top right:

- **Übernehmen** (take over): you run the conversation personally from now on. The app confirms: "Der Bot bleibt still, Sie führen das Gespräch." (the bot stays silent, you run the conversation).
- **Zurück an Bot** (back to bot): you hand the conversation back. The app confirms: "Der Bot antwortet ab der nächsten Nachricht wieder." (the bot answers again from the next message).

On every handover your team also sees the internal **handover note** from the [settings](/tools/wa-bot/einstellungen), for example a reminder to call back within two hours.

## The 24-hour window in the conversation

WhatsApp only allows free-form replies within 24 hours of the contact's last message. A chip in the conversation header shows the state: green "Fenster offen · noch 7h" (window open, 7 hours left) or yellow "Fenster geschlossen" (window closed). The rule itself is explained under [Rules and privacy](/tools/wa-bot/regeln-und-datenschutz).

You write in the composer with the placeholder "Antwort schreiben … (Enter sendet)" (write a reply, Enter sends). In three cases it is locked and shows these exact German notices:

<DefinitionList>
  <DefItem term="Contact is blocked">
    "Dieser Kontakt ist blockiert. Heben Sie die Blockierung in der Kontakt-Karte auf, um wieder zu antworten." (This contact is blocked. Lift the block in the contact card to reply again.)
  </DefItem>
  <DefItem term="Contact opted out">
    "Dieser Kontakt hat sich abgemeldet. Er kann sich jederzeit selbst wieder melden." (This contact opted out. They can reach out again themselves at any time.)
  </DefItem>
  <DefItem term="Window is closed">
    "Das 24-Stunden-Fenster ist geschlossen. Antworten ist erst wieder möglich, wenn der Kontakt schreibt." (The 24-hour window is closed. Replying is only possible again once the contact writes.)
  </DefItem>
</DefinitionList>

<Note title="Sending still fails?">
If the window closes right between display and click, the app reports "Nicht gesendet" (not sent): the 24-hour window is closed and WhatsApp no longer allows free-form replies.
</Note>

## Delivery status

Every sent message shows its delivery status just like WhatsApp:

- **One tick:** sent
- **Two ticks:** delivered
- **Two blue ticks:** read
- **Red warning mark:** delivery failed. WhatsApp's reason is shown in plain text on the message status, for example "Meta 131047: Re-engagement message" (the window was already closed on Meta's side).

What the most common failure reasons mean is covered in [troubleshooting](/tools/wa-bot/troubleshooting).

## Contact card

The person icon in the conversation header opens the contact card. It shows at a glance who is writing:

- **Consent status** as a chip: "Einwilligung bestätigt" (consent confirmed), "Hat zuerst geschrieben" (wrote first) or "Abgemeldet" (opted out).
- **Base data:** email, phone, location, origin and the first contact.
- **Kontakt blockieren** (block contact) or **Blockierung aufheben** (lift block).

When blocking, the app asks for confirmation: "Der Bot und Ihr Team antworten nicht mehr. Eingehende Nachrichten werden weiter gespeichert." (neither the bot nor your team will reply anymore; incoming messages are still stored). So no replies go out after blocking, but the history stays complete. You can lift the block here in the contact card or in the [settings](/tools/wa-bot/einstellungen) on the **Blockierte Kontakte** tab.

## Appointments view

Under **Operations > Appointments** (Betrieb > Termine) you see all viewings booked through the bot, live from the booking tool and grouped by day. This is a read-only view: bookings are managed (moved, cancelled) in the booking tool itself.

- **Status chips:** "Bestätigt" (confirmed), "Abgesagt" (cancelled), "Stattgefunden" (took place), "Nicht erschienen" (no-show).
- **Zum Gespräch** (to the conversation): jumps straight into the related conversation in the inbox.
- **Termin-Tool öffnen** (open booking tool): switches to the [booking tool](/tools/booking) where you move or cancel appointments.

For a bot booking, the guest receives the same confirmation email as on your booking page, including a calendar invitation and a cancel or reschedule link. The appointment automatically lands in the responsible host's calendar.

## Next steps

How the bot decides when to hand over is described under [Flows](/tools/wa-bot/flows). Blocked contacts and the handover note are managed in the [settings](/tools/wa-bot/einstellungen). Back to the [overview](/tools/wa-bot).
