Introducing bot policies and shift hours

Decide exactly when the bot takes over a conversation and set per-teammate shift hours for smarter routing.

Published v0.0.38
Summarize with

The bot can now be configured with a bot action policy — a set of rules that decide when it should take over a conversation. Options include: take over only when every teammate is offline, take over after a delay if nobody has replied, or stay out of the way entirely. Policies evaluate against live teammate availability and log the matched policy so you can see why the bot did what it did.

Shift hours are a new per-teammate setting for when each person is actually working. Conversations route around teammates who are off shift, and the bot uses shift hours to decide whether "everyone offline" is really true. Teammates can edit their own shift hours; admins still control roles and archive status.

The Bot Config page was redesigned around a card layout with a single save button at the bottom, so changes to persona, policy, and profile picture all commit together.

Also in this update

  • hand_off_to_bot_at is now stored on every conversation so scheduled handoffs survive restarts
  • Fallback notifier only pings the bot for unassigned conversations — no more double handoffs
  • Conversations can no longer be assigned to archived members
  • New GET /users/me endpoint returns role and shift hours in a single call