CatalyzeUpDocs
impact pulse / product

Organization Management

Organization Management Specifications

Overview

Organizations are the core multi-tenant feature that allows teams, companies, and groups to manage surveys collectively while maintaining individual privacy and progress tracking.

Related Flows: Organization List | Create Organization | Organization Detail | Invite Member | Accept Invitation

Organization Structure

Organization Entity

  • Name: Display name for the organization ✅
  • Slug: URL-friendly unique identifier ✅
  • Description: Optional description or mission statement ✅
  • Logo: Optional organization logo (future) 🔲 Not yet
  • Settings: Customizable preferences and limits ⚠️ Partial
  • Subscription Tier: Free, Pro, Enterprise 🔲 Not yet

Membership Model

  • Many-to-Many: Users can belong to multiple organizations ✅
  • Roles: Hierarchical permission system ✅
  • Invitations: Secure token-based invitation system ✅
  • Activity Tracking: Monitor member engagement ✅

Roles & Permissions

Owner

  • Full control over organization ✅
  • Cannot be removed ✅
  • Can transfer ownership ✅
  • All admin permissions ✅
  • Billing management (future) 🔲 Not yet

Admin

  • Invite/remove members ✅
  • Create/manage surveys ✅
  • View all analytics ✅
  • Manage organization settings ✅
  • Cannot delete organization ✅

Member

  • Take assigned surveys ✅
  • View own results ✅
  • View organization announcements ✅
  • Cannot invite others ✅
  • Cannot see other members' individual results ✅

Invitation System

Invitation Flow

  1. Admin generates invitation with specific role ✅
  2. System creates unique token (expires in 7 days) ✅
  3. Email sent to invitee ✅
  4. Invitee clicks link ✅
  5. Creates account or logs in ✅
  6. Automatically joined to organization ✅

Invitation Features

  • Bulk Invites: Upload CSV or paste multiple emails ⚠️ Partial
  • Role Assignment: Set role during invitation ✅
  • Custom Message: Personalize invitation email ✅
  • Tracking: See pending, accepted, expired invitations ✅
  • Resend: Resend invitations that haven't been accepted ✅
  • Revoke: Cancel pending invitations ✅

Organization Dashboard

Overview Section

  • Total members (active/inactive) ✅
  • Surveys created ✅
  • Overall completion rate ✅
  • Recent activity feed 🔲 Not yet

Members Section

  • Member list with roles ✅
  • Last active timestamps ✅
  • Survey completion status ✅
  • Bulk actions (remove, change role) ✅
  • Search and filter capabilities ✅

Surveys Section

  • List of organization surveys ✅
  • Completion rates per survey ✅
  • Average scores ✅
  • Create new survey ✅
  • Assign surveys to members ✅

Analytics Section

  • Aggregate Maslow scores ✅
  • Trend analysis over time ✅
  • Department/team comparisons (via tags) 🔲 Not yet
  • Export capabilities 🔲 Not yet

Organization Settings

General Settings

  • Organization name and description ✅
  • Logo and branding (future) 🔲 Not yet
  • Default timezone ⚠️ Partial
  • Language preferences ⚠️ Partial

Survey Settings

  • Default reminder schedule ✅
  • Mandatory vs optional surveys ✅
  • Anonymous responses option (future) 🔲 Not yet
  • Result visibility settings 🔲 Not yet

Member Settings

  • Auto-approve invitations 🔲 Not yet
  • Member directory visibility 🔲 Not yet
  • Default member role 🔲 Not yet
  • Onboarding survey assignment 🔲 Not yet

Notification Settings

  • Admin notifications for completions 🔲 Not yet
  • Weekly summary emails 🔲 Not yet
  • Member milestone alerts 🔲 Not yet
  • Low engagement warnings 🔲 Not yet

Multi-Organization Support

User Experience

  • Organization switcher in navigation ✅
  • Separate dashboards per organization ✅
  • Combined personal view across all orgs ✅
  • Organization-specific notifications 🔲 Not yet

Data Isolation

  • Surveys scoped to organization ✅
  • Results isolated per organization ✅
  • No data leakage between orgs ✅
  • Separate invitation pools ✅

Subscription Tiers

Free Tier

  • 1 organization per user 🔲 Not yet
  • Up to 10 members 🔲 Not yet
  • 3 active surveys 🔲 Not yet
  • Basic analytics 🔲 Not yet
  • Email support 🔲 Not yet

Pro Tier ($X/month)

  • Unlimited organizations 🔲 Not yet
  • Up to 100 members 🔲 Not yet
  • Unlimited surveys 🔲 Not yet
  • Advanced analytics 🔲 Not yet
  • Priority support 🔲 Not yet
  • Custom branding 🔲 Not yet

Enterprise (Custom pricing)

  • Unlimited everything 🔲 Not yet
  • SSO integration 🔲 Not yet
  • API access 🔲 Not yet
  • SLA guarantee 🔲 Not yet
  • Dedicated support 🔲 Not yet
  • Custom features 🔲 Not yet

Administrative Features

Member Management

  • Import members from CSV 🔲 Not yet
  • Export member list 🔲 Not yet
  • Bulk role changes ✅
  • Activity monitoring ✅
  • Engagement scoring 🔲 Not yet

Survey Assignment

  • Assign to all members ✅
  • Assign to specific groups ✅
  • Set deadlines ✅
  • Make surveys mandatory ✅
  • Track compliance ✅

Compliance & Privacy

  • GDPR compliance tools 🔲 Not yet
  • Data retention policies 🔲 Not yet
  • Member data export 🔲 Not yet
  • Right to be forgotten 🔲 Not yet
  • Audit logs 🔲 Not yet

Integration Points

Email Integration

  • Invitation emails ✅
  • Reminder emails ✅
  • Summary reports 🔲 Not yet
  • Welcome messages 🔲 Not yet

Future Integrations

  • Slack notifications 🔲 Not yet
  • Microsoft Teams 🔲 Not yet
  • Google Workspace 🔲 Not yet
  • HR systems (BambooHR, Workday) 🔲 Not yet
  • SSO providers (Okta, Auth0) 🔲 Not yet

Organization Lifecycle

Creation

  1. User creates organization ✅
  2. Becomes owner automatically ✅
  3. Sets initial configuration ✅
  4. Invites first members ✅

Growth

  1. Add more members ✅
  2. Create surveys ✅
  3. Track engagement ✅
  4. Upgrade tier if needed 🔲 Not yet

Maintenance

  1. Regular member audits 🔲 Not yet
  2. Archive old surveys 🔲 Not yet
  3. Export reports 🔲 Not yet
  4. Manage subscriptions 🔲 Not yet

Deletion

  1. Owner initiates deletion ✅
  2. Confirmation required ✅
  3. Data export offered 🔲 Not yet
  4. 30-day recovery period 🔲 Not yet
  5. Permanent deletion ⚠️ Partial

Success Metrics

Adoption Metrics

  • Organizations created per month
  • Average members per organization
  • Member invitation acceptance rate
  • Organization retention rate

Engagement Metrics

  • Active organizations (weekly/monthly)
  • Surveys per organization
  • Member participation rate
  • Feature utilization

Business Metrics

  • Free to paid conversion rate
  • Average revenue per organization
  • Churn rate
  • Lifetime value

Survey Assignment and Recurrence

Core Principle

Users are invited to organizations, not to individual surveys. Once a member of an organization, the admin assigns them to specific surveys. An organization can have 10 different surveys, but each member may only be assigned a subset.

Survey Assignment Flow

  1. Admin creates a survey under the organization ✅
  2. Admin assigns members to the survey (individually or in bulk) ✅
  3. Assigned members see the survey in their dashboard and receive an email notification ✅
  4. Members take the survey within the allowed window ✅
  5. Admin tracks completion via the organization dashboard ✅

Assignment Rules

  • A member can be assigned to multiple surveys ✅
  • A survey can be assigned to all members or a specific subset ✅
  • Assignment creates a record: { member_id, survey_id, assigned_at, assigned_by }
  • Unassigning a member removes future obligations but preserves past responses ✅

Survey Recurrence (Frequency Configuration)

Each survey has a configurable recurrence interval set at the survey level:

Setting Description Example
recurrence_interval Time between survey attempts 3 months, 6 months, 1 year
recurrence_enabled Whether the survey repeats true/false

When a member completes a survey, the system calculates the next due date:

  • next_due_date = completed_at + recurrence_interval

For example: if a member takes a survey on March 26 with a 3-month interval, the next survey is due June 26.

Reminder System (Drip Campaign)

When a survey becomes due for a member, the system triggers a 3-message drip campaign:

Reminder Timing Message
Reminder 1 On due date "Your [Survey Name] assessment is ready. Please complete it."
Reminder 2 3 days after due date (configurable) "Reminder: Your [Survey Name] is still pending."
Reminder 3 7 days after due date (configurable) "Final reminder: Please complete your [Survey Name] assessment."

Reminder Rules

  • Reminders are only sent after the due date, not before ✅
  • If the member completes the survey at any point, remaining reminders are cancelled ✅
  • Reminder intervals are configurable at the survey level (default: 0, 3, 7 days) ✅
  • All reminders include a direct link to take the survey ✅

Overdue Flagging (Admin Escalation)

If a member has not completed a survey after all 3 reminders have been sent:

  1. The member is flagged as overdue in the organization dashboard ✅
  2. The admin sees a "Needs Attention" section with:
    • Member name and email ✅
    • Survey name ✅
    • Days overdue ✅
    • Number of reminders sent ✅
  3. The admin can:
    • Send a manual reminder (custom message) ✅
    • Extend the deadline (push the due date) ✅
    • Waive the survey (mark as not required for this cycle) ✅
    • Contact the member directly 🔲 Not yet

Data Model

survey_assignments:
  id: string
  survey_id: string
  member_id: string (user_id)
  organization_id: string
  assigned_at: datetime
  assigned_by: string (admin user_id)
  status: "pending" | "completed" | "overdue" | "waived"
  current_due_date: datetime | null
  last_completed_at: datetime | null
  next_due_date: datetime | null
  reminders_sent: number (0, 1, 2, or 3)
  last_reminder_at: datetime | null

survey (additional fields):
  recurrence_enabled: boolean (default: false)
  recurrence_interval_days: number (e.g., 90 for 3 months)
  reminder_intervals: [0, 3, 7] (days after due date)

Admin Dashboard View

The organization detail page shows a "Survey Compliance" section:

Member Survey Status Due Date Reminders Sent Actions
Jane Doe Community Impact Completed Mar 26 0 View Results
John Smith Community Impact Overdue (5 days) Mar 21 2/3 Send Reminder, Extend
Maria Lopez Community Impact Pending Jun 26 0 --