# Notices, announcements & messages

Coordinate school notices, events, complaints, audience-based announcements and direct conversations.

Category: Community
Guide: https://avkul.in/docs/guides/module-communication/
Guided sample demo: https://avkul.in/docs/demo/module-communication/
Snapshot: 11 October 2026

## Features

- Notices and events
- Announcement templates
- Audience preview
- Delivery report
- Scoped messages
- Complaints

## Access and setup

Intended access: Assigned account with the required permissions
- An assigned school account with the required permissions.
- The academic, student or staff setup used by this workflow.

Permission keys: communication:view, communication:create, communication:update, communication:delete, communication:manage

## Workflow

1. Choose the notice, announcement or conversation workflow.
2. Select the permitted audience and prepare the content.
3. Preview reachability before sending where available.
4. Review delivery reports, replies or complaint status.

## Fields and controls

- name (string, optional)
- category (string, optional)
- subject (string, optional)
- body (string, declared required)
- channels (string[], optional)
- isActive (boolean, optional)
- audience (string, optional)
- targeting (AudienceTargetingDto, optional)
- title (string, declared required)
- message (string, optional)
- templateId (string, optional)
- scheduledAt (string, optional)
- isPinned (boolean, optional)
- classId (string, optional)
- sectionId (string, optional)
- expiresAt (string, optional)
- description (string, optional)
- startAt (string, declared required)
- endAt (string, optional)
- venue (string, optional)
- rsvpEnabled (boolean, optional)
- isAllDay (boolean, optional)
- priority (string, optional)
- studentId (string, optional)

## Current limits

- External SMS, email and WhatsApp delivery requires configured providers. A saved record is not evidence that every recipient received it.

## Actual application access

- https://avkul.in/en/school/announcements
- https://avkul.in/en/school/communication
- https://avkul.in/en/school/messages

## API reference

- GET /api/v1/announcements/templates — List Templates; communication:view
- POST /api/v1/announcements/templates — Create Template; communication:create
- PATCH /api/v1/announcements/templates/:id — Update Template; communication:update
- DELETE /api/v1/announcements/templates/:id — Remove Template; communication:delete
- POST /api/v1/announcements/preview-audience — Count and channel-reachability for an audience; communication:view
- GET /api/v1/announcements — List; communication:view
- GET /api/v1/announcements/:id — Get; communication:view
- GET /api/v1/announcements/:id/deliveries — Per-recipient delivery report; communication:view
- POST /api/v1/announcements — Create; communication:create
- POST /api/v1/announcements/:id/send — Deliver the announcement across its channels; communication:manage
- GET /api/v1/communication/notices — Notices; communication:view
- POST /api/v1/communication/notices — Create Notice; communication:create
- PATCH /api/v1/communication/notices/:id — Update Notice; communication:update
- DELETE /api/v1/communication/notices/:id — Remove Notice; communication:delete
- GET /api/v1/communication/events — Events; communication:view
- POST /api/v1/communication/events — Create Event; communication:create
- DELETE /api/v1/communication/events/:id — Remove Event; communication:delete
- GET /api/v1/communication/complaints — Complaints; communication:view
- POST /api/v1/communication/complaints — Create Complaint; communication:create
- PATCH /api/v1/communication/complaints/:id — Update Complaint; communication:update
- GET /api/v1/messages/contacts — Addressable contacts for the signed-in user; Authenticated scope
- GET /api/v1/messages — My conversations, most recent first; Authenticated scope
- GET /api/v1/messages/:id — Get Thread; Authenticated scope
- POST /api/v1/messages — Start a conversation (or add to the existing one); Authenticated scope
- POST /api/v1/messages/:id/messages — Send; Authenticated scope
- POST /api/v1/messages/:id/read — Mark Read; Authenticated scope
- POST /api/v1/messages/:id/mute — Mute; Authenticated scope
- DELETE /api/v1/messages/messages/:messageId — Withdraw your own message; Authenticated scope

## Demo access

No login is required for the guided sample demo. Its fictional records and actions stay in this browser tab; they do not modify ERP records or send messages/payments. An assigned account is required for the actual ERP links.

Source inventory checked on 11 October 2026. This source inventory is not a certification of every external provider or device flow.
