Skip to main content
Schoolyi
School librarian arranging books and planning cards in a bright library

Browse docs

Communication

Conversations setup and usage

Set the chat policy before anyone uses it, then run channels, groups and direct threads with poll-based delivery and a 365-day retention purge.

Communication guide for day and boarding schools.

Last updated August 29, 2026

Conversations is chat: short, back-and-forth, threaded, with attachments and reactions. Reach for it when a discussion needs several turns and both sides are expected to answer. Use /messages when you want an addressed note with a subject line that only staff can originate, and /notices when you are broadcasting and nobody should reply. Moving a discussion between the three later means retyping it, so pick the channel by the answer you expect.

Configure the policy before you tell anyone the module exists. The safest thing about the defaults is that they are already restrictive - students and parents cannot create channels or groups, students cannot start a direct thread at all, and where direct messaging is allowed both are limited to staff. Those are also the fallbacks the code uses when chat settings have never been saved, so an untouched install is closed rather than open.

Setup, in order

  1. Open /conversations/settings as Platform Admin, Principal, Vice Principal or Admin.
  2. Decide the four questions the switches ask, then save. Nothing is applied until you save.
  3. Create the standing channels staff need - one per department or phase - as the account that should moderate them, because the creator becomes an ADMIN participant.
  4. Tell teachers what the policy is before students are told the module exists, since a thread created under a loose policy survives a later tightening.

The five switches and their defaults

SwitchDefaultWhat it blocks when restrictive
Students can create groupsOffA student creating a channel or group is refused with a permission message
Parents can create groupsOffThe same refusal for a parent
Students can send direct messagesOffStudents cannot start a direct thread, but may still take part in threads staff created
Students can only direct message staffOn, and only shown once student direct messaging is enabledStudent-to-student and student-to-parent threads
Parents can only direct message staffOnParent-to-parent and parent-to-student threads

Daily use

  • Any signed-in user can open /conversations; a thread page needs you to be a participant of that thread.
  • A direct thread has exactly two participants, and opening one with somebody you already have a thread with returns the existing thread instead of a duplicate.
  • A channel needs a name; a group does not. Inactive user accounts cannot be added as participants.
  • Threads support attachments, emoji reactions, pinned messages, @mentions and replies that open as a side thread.
  • You may edit your own message for fifteen minutes. You may delete your own message at any time, or any message in a thread where you are an ADMIN participant.

Delivery and retention

There is no WebSocket transport. The open thread re-fetches every three seconds, and the conversation list every thirty, pausing while the browser tab is hidden. That is quick enough for classroom use but it is not a live-typing experience, and an idle open tab still generates traffic. Retention is 365 days: the daily purge blanks older message bodies and marks them deleted rather than removing rows, so the thread history stays auditable while the content goes.

Limits

  • The policy is school-wide. You cannot set a different rule for one class, year group or phase.
  • No typing indicators, and no read receipts beyond an unread counter per thread.
  • No export of a thread. Anything needed for a formal record should be handled at /messages instead.

Common questions

Quick answers in plain language.

I tightened the chat policy but an old student thread still works. Why?+

The switches are evaluated when a conversation is created, never when a message is sent. A thread opened while the policy was loose keeps working afterwards. Closing it means having someone with ADMIN participant rights delete the messages, or leaving the thread - there is no bulk close.

A colleague can open /conversations/settings but sees no save button. Is something broken?+

No. The page is readable by staff so policy is visible, but only Platform Admin, Principal, Vice Principal and Admin can change it. For everybody else the switches are disabled and the save button is hidden entirely.

Why does /conversations jump straight into a thread?+

The index redirects to your first channel, then your first group, then your first direct thread. You only see the pick a conversation screen when you are not a participant in anything yet.

What does the retention purge leave behind after a year?+

The row survives with its text replaced by a retention notice and marked deleted, so thread structure, sender and timestamps remain for audit while the content is gone. POST /api/conversations/retention/purge does this and scripts/run-school-cron.sh calls it daily.

Related searches

School leaders and IT teams often search for: how to conversations workflow in school management software, best parent communication app schools for K-12 schools, Schoolyi conversations workflow guide, conversations workflow step by step, school notice board software, school announcement system, and parent messaging platform schools.