distribution_groups

This table stores named notification or mailing groups that can be used across workflows such as Forms, RFIs, certifications, and project-level communications.

Domain: Projects / Collaboration
Scope: Tenant or Project
Status: Proposed
Last Updated: 11 Apr 2026
Mutable: Yes
Primary Owner: Notifications / Core API
RLS Applies: Yes
Client Facing: Yes

Purpose

The purpose of this table is to allow users to define reusable recipient groups for communication and workflow notifications instead of selecting individual recipients every time.

What this table does

  • Stores named groups of recipients
  • Supports tenant-wide or project-specific group definitions
  • Improves consistency in notification routing
  • Provides a reusable communication primitive for multiple modules

Why this table is defined

DirtView workflows frequently require sending the same updates to recurring sets of people. Distribution groups reduce repetitive setup and make workflow routing faster and more reliable.

Columns

Column Type Required Description Example
id uuid Yes Primary key for the distribution group dgroup_001
tenant_id uuid Yes Tenant that owns the group tenant_001
project_id uuid No Optional project if the group is project-specific project_phoenix
name text Yes Display name of the group Project Phoenix RFI Review Team
description text No Optional description of the group’s purpose Recipients for RFI notifications on Project Phoenix
is_active boolean Yes Whether this group can still be selected and used true
created_at timestamptz Yes Creation timestamp 2026-04-08 09:00:00+00

Relationships

How it is used

  • Selected during form, RFI, and other workflow setup
  • Used by notification services to resolve recipients
  • Helps standardize communication patterns within a tenant or project
  • Can be configured in project or form settings

Access and security

  • Only authorized admins or PM-level users should manage groups
  • Distribution groups may include external recipients, so membership should be reviewed carefully
  • Changes to widely used groups may need audit visibility

Example scenarios

Scenario 1: Project RFI team

A project creates a group for PMs, superintendents, and architect contacts who should receive RFI notifications.

Scenario 2: Safety alerts group

A tenant-wide group is used for certification expiry and safety-related alerts.

Scenario 3: Form distribution default

A Daily Log template uses a preconfigured distribution group by default.

Notes and assumptions

  • A group may be tenant-wide or tied to a single project
  • Membership lives in distribution_group_members, not in this table
  • Groups are reusable routing primitives across modules