Skip to main content

Overview

The CRM module is the heart of Project Zoe. Every individual or organisation the church cares about is a Contact. Contacts drive everything else: group memberships, event attendance, financial contributions, tasks, and reports.

Contact categories


Contact status


What’s stored on a contact

Person details

Contact info

  • Phones — multiple numbers with labels (home, work, mobile)
  • Emails — multiple addresses with labels
  • Addresses — multiple addresses with type (residential, postal)

Additional records


Import

Contacts can be bulk-imported via the /api/crm/contacts/import endpoint, which accepts a CSV-style payload. The import controller validates each row and reports errors per record rather than failing the entire batch.

Company contacts

A Company contact is similar to a Person but stores:
  • Company name
  • Industry / sector
  • Contact person (linked to a Person contact)

Searching contacts

The search module exposes a unified search across contacts, groups, and other entities:
Results are scoped to the requesting user’s tenant and hierarchy level.

API endpoints

Full reference: Contacts API.