Download the PHP package survos/outreach-bundle without Composer
On this page you can find all versions of the php package survos/outreach-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download survos/outreach-bundle
More information about survos/outreach-bundle
Files in survos/outreach-bundle
Package outreach-bundle
Short Description Lightweight outreach CRM bundle for organizations, contacts, activities, and external system footprints.
License MIT
Informations about the package outreach-bundle
survos/outreach-bundle
Small outreach CRM bundle for conference and prospect management.
It is intentionally narrow:
- organizations
- contacts
- activities
- external system footprints
This is not a general CRM and it does not try to manage tenants, invoicing, or full marketing automation.
Use Cases
- pre-load conference attendee lists
- track one-time outreach permission and follow-up status
- record booth conversations and demos
- track whether an organization already uses PastPerfect, Omeka, or another system
- attach lightweight tags such as
marac-2026orssai-tenant:middleburg-historical-society
Model
The bundle ships four Doctrine entities and exposes them as ApiPlatform resources:
OrganizationContactActivityOrganizationSystem
Personal Email Heuristic
The included ConferenceRegistrantUpserter service can infer an organization key from a CSV row:
- if the email domain is not personal, use the domain as the organization key
- if the email domain looks personal (
gmail.com,yahoo.com, etc.), fall back to the provided organization name
Examples:
[email protected]=>domain:vuu.edu[email protected]=>domain:loc.gov[email protected]+New Brunswick Free Public Library Archive=>org:new-brunswick-free-public-library-archive
This is intentionally heuristic, not canonical truth.
Installation
Then link it in local development using your normal monorepo flow.
Configuration
The bundle is self-registering:
- Doctrine attribute mappings are registered automatically
- ApiPlatform mapping paths are registered automatically
Optional configuration:
Services
OrganizationKeyGuesser
Builds stable organization keys from email and/or organization name.
ConferenceRegistrantUpserter
Upserts an Organization and Contact from an attendee row such as:
Optional event tag example:
That tag is added to both the organization and the contact.
Workflow
Recommended flow for conference rosters:
When import:convert sees the outreach tag, the bundle listens to row events and maps fields like:
First Name->first_nameLast Name->last_nameOrganization->organizationEmail->email
The second command imports the normalized JSONL into Organization and Contact, deduplicating organizations by the configured email-domain heuristic.
All versions of outreach-bundle with dependencies
api-platform/doctrine-orm Version ^4.2
doctrine/doctrine-bundle Version ^3.0
doctrine/orm Version ^3.3
survos/import-bundle Version ^2.5
survos/jsonl-bundle Version ^2.5
symfony/console Version ^8.1
symfony/config Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/http-kernel Version ^8.1
symfony/string Version ^8.1