Skip to main content
All Docs
FeaturesBlockManOSUpdated April 9, 2026

Communication Notices

Communication Notices

Communication notices allow property management agents to draft, publish, and broadcast messages to owners and occupants within a development. Notices support rich audience targeting, document attachments, and email broadcast delivery.


Audience Targeting

When creating or editing a notice, select one of the following audience types from the Audience dropdown:

OptionWho Receives It
All OwnersEvery owner with an active unit ownership in the development
Owners & OccupantsAll owners and all occupants linked to any unit
Occupants OnlyOwners where isOccupier = true on their unit ownership record
Owner-Occupiers OnlyOwners where ownershipType = 'owner_occupier'
Landlord / Investors OnlyOwners where ownershipType is landlord or investor

Note: The legacy Landlords / Investors option (landlords) is preserved for existing notices but is not available when creating new ones. Use Landlord / Investors Only instead.

Multi-role contacts

A contact's primary audience membership is determined by their ownershipType. Occupancy is tracked independently via the isOccupier flag on their unit ownership record. A landlord who also physically occupies a unit will appear in Landlord / Investors Only broadcasts, but will also appear in Occupants Only broadcasts — the two fields are not mutually exclusive.


Audience Preview

After selecting a development and an audience type, an Audience Preview indicator appears beneath the audience dropdown. It displays:

  • Total recipients — the total number of contacts matched by the selected audience
  • With email — contacts who have a registered email address and will receive a broadcast
  • Without email — contacts who will not receive email (shown in amber as a prompt to review records)

The preview updates in real time as you change the development or audience selection. No notice is created or modified until you save.


Attaching Documents

Up to 10 documents from the development's document library can be attached to a notice.

How to attach documents

  1. In the create or edit form, scroll to the Attachments section.
  2. Click Add documents to open the document picker.
  3. Use the search field to filter by document title or file name.
  4. Check the documents you want to attach. Selected documents appear as pills above the picker.
  5. To remove an attachment, click the × on its pill, or uncheck it in the picker.

You must select a development before the document picker becomes active.

Attachment validation

  • A maximum of 10 documents may be attached per notice.
  • Only documents belonging to the same organisation and development as the notice are selectable.
  • Validation is enforced on both the client and the server.

Email Broadcast

When you send a notice as an email broadcast, the system:

  1. Resolves all recipients for the selected audience type.
  2. Generates a presigned download URL (1-hour expiry) for each attached document.
  3. Includes the download links in the email body.

Presigned URLs are used instead of file attachments to avoid email size limits and to work consistently across all document types stored in the document management system.

Recipients without a registered email address will not receive the broadcast. The Audience Preview indicator shows this count before you send.


Notice Detail View

The notice detail modal displays:

  • Notice type, status, and audience (using the full human-readable label)
  • Published date and expiry date (if set)
  • Body text and any agent notes
  • Attached Documents section — lists each attached document with its title, file name, and file size

Notice List

Each row in the notice list shows:

  • Notice title and type badge
  • Audience label
  • Attachment count badge (if documents are attached)
  • Status and published date

tRPC API Reference

communications.previewAudienceCount

Returns recipient counts for a development + audience combination. Used by the UI for real-time feedback.

Input:

{
  developmentId: string;
  audience: AudienceType;
}

Output:

{
  totalRecipients: number;
  withEmail: number;
  withoutEmail: number;
}

communications.listDocumentsForAttachment

Lists documents available to attach to a notice for a given development.

Input:

{
  developmentId: string;
  search?: string;   // optional keyword filter
  limit?: number;    // defaults to 20
}

Output: Array of document objects with id, title, fileName, mimeType, fileSize, and category.


communications.create / communications.update

Both mutations now accept an optional attachmentDocumentIds field:

{
  // ... existing fields ...
  attachmentDocumentIds?: string[]; // max 10 document IDs
}

communications.getById

Now returns an attachedDocuments array on the notice object:

{
  // ... existing fields ...
  attachedDocuments: Array<{
    id: string;
    title: string;
    fileName: string;
    mimeType: string;
    fileSize: number | null;
  }>;
}

Audience Type Reference

type AudienceType =
  | "all_owners"           // All active unit ownerships
  | "owner_occupiers"      // ownershipType = 'owner_occupier'
  | "occupants_only"       // isOccupier = true
  | "owners_and_occupants" // All owners + all occupants
  | "landlord_investors"   // ownershipType = 'landlord' | 'investor'
  | "landlords";           // Legacy — backwards-compatible alias for landlord_investors