View Categories

Contact Management Fundamentals

5 min read

Contact Database Structure #

Core Contact Information #

The contact system provides comprehensive contact management with extensive personal and business information:

Personal Information:

  • Name Management: First name (required) and last name with automatic display name generation
  • Contact Details: Email addresses, phone numbers, and physical addresses
  • Social Profiles: Skype, Telegram, and LinkedIn profile integration
  • Personal Data: Birth dates and last contacted timestamps for relationship tracking
  • Business Information:

  • Company Details: Company name field for business associations
  • Website Information: Website URLs for professional contact tracking
  • Address Management: Complete address with address line, city, zip code, and country
  • Professional Notes: Description field for detailed contact information and notes
  • System Fields:

  • Team Assignment: All contacts belong to specific teams for access control
  • User Ownership: Each contact has an assigned owner for accountability
  • Client Relationships: Optional association with client company records
  • Outreach Tracking: Connection to outreach campaigns and lead sources
  • Contact Creation and Editing #

    Creating New Contacts #

    Contact creation requires minimal information while supporting comprehensive data entry:

    Required Information:

  • First name is the only required field for contact creation
  • User ID and team ID are automatically assigned based on the creator
  • All other fields are optional for flexible contact management
  • Contact Form Fields:

  • Personal details: first name, last name, email, phone, birth date
  • Business information: company name, website, description
  • Social profiles: Skype, Telegram, LinkedIn
  • Address information: address line, city, zip, country
  • System associations: client assignment, outreach source
  • Advanced Creation Features:

  • Custom field values can be added during contact creation
  • Pipeline assignments can be set up during initial contact setup
  • Client company association available during creation
  • Automatic display name generation from first and last names
  • Contact Editing and Updates #

    Contacts can be fully updated after creation with comprehensive editing capabilities:

    Edit Process:

  • All contact fields are editable through the contact edit interface
  • Custom field values can be added, modified, or removed
  • Pipeline associations can be updated and managed
  • Client relationships can be changed or removed
  • Data Validation:

  • Email format validation ensures proper email address format
  • Field length validation prevents data overflow
  • Required field validation maintained during updates
  • Team and user assignment validation for security
  • Contact Search and Filtering #

    Search Capabilities #

    The system provides powerful contact search functionality:

    Basic Search:

  • Search by first name with partial matching support
  • Search by last name with wildcard capabilities
  • Search by associated client company names
  • Combined search across name and company fields
  • Search Implementation:

  • Real-time search with immediate results
  • Case-insensitive search for better usability
  • Partial matching for flexible search queries
  • Search results limited to team contacts for security
  • Global Search Integration:

  • Contacts appear in system-wide search results
  • Search results show full name with company in parentheses
  • Direct links to contact detail pages from search results
  • Search integration with other system entities
  • Contact Organization and Filtering #

    Contacts are organized with multiple filtering options:

    Team-Based Organization:

  • All contacts are filtered by team membership
  • Team isolation ensures proper access control
  • Team-specific contact lists and management
  • Cross-team contact access is prevented
  • User-Based Filtering:

  • Option to view only contacts owned by current user
  • Full team contact visibility for authorized users
  • Role-based contact visibility controls
  • User assignment filtering for contact management
  • Display and Sorting:

  • Contacts displayed in paginated lists (10 per page)
  • Sorting by ID with newest contacts first
  • Custom field integration in contact displays
  • Pipeline association display in contact lists
  • Contact Permissions #

    Role-Based Access Control #

    Contact access is controlled through a comprehensive permission system:

    Permission Levels:

  • ViewAny: All users can view contact lists
  • Create: Limited to users with contact CRUD permissions or sales representatives
  • View: Team-based access with role restrictions
  • Update/Delete: Based on ownership and role permissions
  • Access Control Rules:

  • Users with “ShowAllAndOwnContactCRUD” permissions have full team access
  • Sales representatives can only manage their own contacts
  • Team membership required for all contact access
  • Role-based restrictions enforce proper access control
  • User Role Types:

  • Super Admin: Full access to all contacts across teams
  • Organization Manager: Full team contact access
  • Sales Manager/Representative: Limited to owned contacts within team
  • Regular Users: Access based on specific permissions
  • Team Isolation #

    Contact data is strictly isolated between teams:

    Team Separation:

  • Contacts are filtered by team_id in all queries
  • Cross-team contact access is completely prevented
  • Team-based search and filtering enforced
  • Team-specific custom fields and pipelines
  • Security Measures:

  • Database-level team filtering in all contact queries
  • Authorization checks on all contact operations
  • Team membership validation for contact access
  • Automatic team assignment for new contacts
  • Contact-Client Relationships #

    Hierarchical Organization #

    The system supports sophisticated contact-client relationships:

    Relationship Structure:

  • Contacts can be optionally associated with client companies
  • Multiple contacts can belong to the same client
  • Client information is separate from individual contact details
  • Optional relationship allows for independent contacts
  • Client Association Benefits:

  • Organized contact management by client company
  • Easy identification of all contacts within a client organization
  • Streamlined communication with client teams
  • Integrated project and billing management through client relationships
  • Relationship Management:

  • Contacts can be created without client association
  • Client assignment can be added or changed after creation
  • Client relationships support business hierarchy organization
  • Automatic display of client company in contact lists
  • Display Name Generation #

    The system automatically generates display names for contacts:

    Display Name Logic:

  • Combines first name and last name with proper spacing
  • Handles missing last names gracefully
  • Automatic trimming of extra spaces
  • Consistent display across all system interfaces
  • Usage Throughout System:

  • Display names used in contact lists and dropdowns
  • Search results show full display names
  • Contact selection interfaces use display names
  • Integration with other system components using display names