Contacts
Package docs status
Section titled “Package docs status”This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.
| Field | Value |
|---|---|
| Composer package | capell-app/contacts |
| Package slug | contacts |
| Product group | Capell Engagement & CRM |
| Tier | premium |
| Bundle | engagement-crm |
| Runtime contexts | admin |
| Capell version | ^1.0 |
| Source repository | capell-app/packages |
| Source path | packages/contacts |
| Docs source | packages/contacts/docs |
| Manifest | capell.json |
What This Plugin Adds
Section titled “What This Plugin Adds”Contacts is an Available, Schema-owning Capell package in the Capell Engagement & CRM product group. It ships as capell-app/contacts and extends these surfaces: admin.
Contacts provides site-scoped contact, organisation, lead, tag, and activity records that can be synchronized from other Capell packages.
Administrators review contacts, organisations, leads, tags, and activity timelines through dedicated resources and a dashboard summary.
Evidence: capell.json, src/Models/Contact.php, src/Actions/FindOrCreateContactAction.php, src/Providers/ContactsServiceProvider.php, docs/overview.admin.md, docs/screenshots.json, src/Filament/Resources/Contacts/ContactResource.php, tests/Feature/ContactsAdminResourceTest.php.
Status details:
- Status: Available
- Tier: premium
- Bundle: engagement-crm
- Composer package:
capell-app/contacts - Namespace:
Capell\Contacts - Theme key: not applicable
Why It Matters
Section titled “Why It Matters”For developers: Source-specific synchronization Actions resolve records through a shared contact identity and record activity without coupling the contributing packages to admin resources.
For teams: Teams get one operational record for a person and their activity, with merge, export, and anonymization workflows for data stewardship.
Evidence: src/Actions/SyncFormSubmissionContactAction.php, src/Actions/SyncCampaignConversionContactAction.php, src/Actions/RecordContactActivityAction.php, tests/Feature/ContactFoundationTest.php, src/Actions/MergeContactsAction.php, src/Actions/BuildContactPrivacyExportAction.php, src/Actions/AnonymizeContactWithAuditAction.php, docs/admin-guide.md.
Screens And Workflow
Section titled “Screens And Workflow”Screenshot contract: docs/screenshots.json.


- Contacts admin index (admin, required).
- Contact activities admin index (admin, required).
- Contact detail with activity timeline (admin, optional).
- Contact organisations admin index (admin, optional).
- Contact leads status workflow (admin, optional).
- Contacts overview dashboard widget (admin, optional).
Technical Shape
Section titled “Technical Shape”- Service providers:
Capell\Contacts\Providers\ContactsServiceProvider,Capell\Contacts\Providers\AdminServiceProvider. - Config files:
packages/contacts/config/capell-contacts.php. - Migrations:
packages/contacts/database/migrations/2026_05_31_000001_create_contacts_table.php,packages/contacts/database/migrations/2026_05_31_000002_create_contact_organisations_table.php,packages/contacts/database/migrations/2026_05_31_000003_create_contact_organisation_memberships_table.php,packages/contacts/database/migrations/2026_05_31_000004_create_contact_leads_table.php,packages/contacts/database/migrations/2026_05_31_000005_create_contact_activities_table.php,packages/contacts/database/migrations/2026_05_31_000006_add_source_identity_to_contacts_table.php,packages/contacts/database/migrations/2026_06_06_000001_add_site_last_seen_index_to_contacts_table.php,packages/contacts/database/migrations/2026_06_07_000001_create_contact_tags_tables.php. - Models:
Contact,ContactActivity,ContactTag,Lead,Organisation. - Filament classes:
ContactActivityResource,ListContactActivities,ContactResource,ListContacts,ViewContact,LeadResource,ListLeads,OrganisationResource,ListOrganisations,ContactsOverviewStatsFilamentWidget. - Policies:
AbstractContactsResourcePolicy,ContactActivityPolicy,ContactPolicy,LeadPolicy,OrganisationPolicy. - Listeners:
RunsQueuedContactSourceSync,SyncContactFromAccessGateRegistration,SyncContactFromCampaignConversion,SyncContactFromComment,SyncContactFromEventRegistration,SyncContactFromFormSubmission,SyncContactFromShopifyCustomer. - Actions:
AnonymizeContactAction,AnonymizeContactWithAuditAction,AuditContactPrivacyExportAction,AuthorizeContactsActorForRecordAction,BuildContactPrivacyExportAction,BuildContactsOverviewStatsAction,CoercesContactSourceValues,FindOrCreateContactAction,MergeContactsAction,RecordContactActivityAction,SyncAccessGateRegistrationContactAction,SyncCampaignConversionContactAction,and 7 more. - Data objects:
ContactActivityData,ContactIdentityData,ContactSourceRecordData,ContactSourceSyncResultData. - Command signatures:
capell-contacts:privacy. - Manifest action API:
anonymizeContact: Capell\Contacts\Actions\AnonymizeContactAction,anonymizeContactWithAudit: Capell\Contacts\Actions\AnonymizeContactWithAuditAction,auditContactPrivacyExport: Capell\Contacts\Actions\AuditContactPrivacyExportAction,buildContactPrivacyExport: Capell\Contacts\Actions\BuildContactPrivacyExportAction,buildContactsOverviewStats: Capell\Contacts\Actions\BuildContactsOverviewStatsAction,findOrCreateContact: Capell\Contacts\Actions\FindOrCreateContactAction,recordContactActivity: Capell\Contacts\Actions\RecordContactActivityAction,syncAccessGateRegistrationContact: Capell\Contacts\Actions\SyncAccessGateRegistrationContactAction,syncCampaignConversionContact: Capell\Contacts\Actions\SyncCampaignConversionContactAction,syncCommentContact: Capell\Contacts\Actions\SyncCommentContactAction,syncContactSourceRecord: Capell\Contacts\Actions\SyncContactSourceRecordAction,syncEventRegistrationContact: Capell\Contacts\Actions\SyncEventRegistrationContactAction,and 3 more. - Console command classes:
ContactPrivacyCommand. - Manifest contributions:
admin-resource: Capell\Contacts\Manifest\ContactsAdminResourcesContribution,dashboard-widget: Capell\Contacts\Manifest\ContactsOverviewFilamentWidgetContribution,model: Capell\Contacts\Manifest\ContactsModelsContribution. - Health checks:
Capell\Contacts\Health\ContactsHealthCheck. - Blade views:
packages/contacts/resources/views/filament/contacts/activity-timeline.blade.php. - Cache tags:
contacts.
Data Model
Section titled “Data Model”- Required tables:
contacts,contact_tag_memberships,contact_tags,contact_organisations,contact_organisation_memberships,contact_leads,contact_activities. - Models:
Contact,ContactActivity,ContactTag,Lead,Organisation. - Core record references in migrations:
sites via site_id. - Migration files:
2026_05_31_000001_create_contacts_table.php,2026_05_31_000002_create_contact_organisations_table.php,2026_05_31_000003_create_contact_organisation_memberships_table.php,2026_05_31_000004_create_contact_leads_table.php,2026_05_31_000005_create_contact_activities_table.php,2026_05_31_000006_add_source_identity_to_contacts_table.php,2026_06_06_000001_add_site_last_seen_index_to_contacts_table.php,2026_06_07_000001_create_contact_tags_tables.php. - Migration impact: run host migrations through the package install flow before opening package surfaces.
- Deletion/retention behaviour: migrations declare cascade-on-delete relationships and null-on-delete relationships; no timed pruning or retention schedule is declared in
capell.json.
Install Impact
Section titled “Install Impact”- Required packages:
capell-app/admin,capell-app/core. - Admin navigation: declares
admin-resource: ContactsAdminResourcesContribution; each Filament page or resource controls its own navigation visibility. - Admin/editor extensions:
dashboard-widget: ContactsOverviewFilamentWidgetContribution. - Permissions:
ExportPrivacy:Contact,AnonymizePrivacy:Contact,View:Contact,View:Organisation,View:Lead,View:ContactActivity. - Public routes: none declared.
- Database changes: package migrations are declared.
- Config:
config/capell-contacts.php. - Settings: no package settings declared.
- Queues or schedules: none declared.
- Cache tags:
contacts. - Commands:
capell-contacts:privacy.
Common Pitfalls
Section titled “Common Pitfalls”- Keep required Capell packages on compatible v4 releases:
capell-app/admin,capell-app/core. - Run migrations before opening package resources or public routes.
- Review package configuration before production-like verification:
config/capell-contacts.php. - Custom write integrations must preserve invalidation for
contactscache tags.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration | Reinstall the package, refresh Composer autoload, and clear host caches |
| Admin screen or command fails on missing table | Package migrations have not run | Check the tables listed in Data Model | Run host migrations and rerun the focused package test |
Quick Start
Section titled “Quick Start”- Install the package:
composer require capell-app/contacts. - Run the required setup:
php artisan migrate. - Open the Contacts admin index and confirm the admin workflow loads.
Next Steps
Section titled “Next Steps”- Package docs
- Overview
- Admin guide
- Configuration files:
config/capell-contacts.php. - Troubleshooting
- Screenshot contract
- Marketplace assets
- Capell content language plan
- Capell documentation design system
- Capell and package ERD notes
- Related packages: Access Gate, Campaign Studio, Comments, Events, Form Builder, Newsletter, Shopify Commerce.
- Focused tests:
vendor/bin/pest packages/contacts/tests --configuration=phpunit.xml.