A WordPress plugin that extends Personal CRM to track contact frequency and outreach with people in your network. Optionally integrates with Beeper to sync messaging history and enable sending messages directly from the CRM.
- Contact Scheduling — Set custom contact frequencies (weekly, monthly, quarterly, etc.) for each person
- Outreach Dashboard — See who is overdue for contact and who is coming due soon
- Contact Logging — Log contacts manually with type (email, call, meeting, message) and notes
- Priority Levels — Mark contacts as high, normal, or low priority
- Pause Schedules — Temporarily pause reminders for specific people
- Beeper Integration (optional):
- Link CRM contacts to Beeper chat threads
- View recent message history from within the CRM
- Draft and send messages with AI assistance
- Auto-sync last contact dates from message history
- Bulk-connect existing contacts to Beeper chats
- Relationship analysis visualization
- WordPress 6.0+
- PHP 7.4+
- Personal CRM plugin (must be installed and activated)
- Beeper Desktop (optional, for messaging integration)
- Install and activate the Personal CRM plugin first
- Download or clone this repository into
wp-content/plugins/keeping-contact - Activate "Keeping Contact" in WordPress admin → Plugins
- The database tables are created automatically on activation
Beeper integration allows you to connect your messaging history with your CRM contacts. This requires Beeper Desktop running locally.
- Open Beeper Desktop
- Go to Settings → Developer → Create API Token
- In your CRM, navigate to Outreach → Settings
- Enter your Beeper API token and save
The plugin communicates with Beeper Desktop's local API (localhost:23373) — your messages stay on your machine and are never sent to external servers.
- Navigate to a person's profile in Personal CRM
- In the sidebar, use the "Keeping Contact" dropdown to set a schedule
- Or edit the person and set frequency, priority, and notes in the form
- Go to Outreach in the main menu
- The dashboard shows:
- Overdue — People past their contact due date
- Due Soon — People due within the next 2 weeks
- Needs Schedule — People linked to Beeper but without a schedule
- From the Outreach dashboard, click "Log Contact" on any person
- Select the contact type (email, call, meeting, message, general)
- Set the date and add optional notes
- Click Save
- On a person's profile page, click "+ Connect Beeper chat"
- Search for their chat in the modal
- Click to link — their message history will now sync
- On a person's profile, click "Send message" in the quick links
- View recent conversation context
- Draft your message (with optional AI assistance)
- Send directly through Beeper
The plugin creates three tables (prefixed with your WordPress table prefix):
keeping_contact_schedules— Contact frequency settings per personkeeping_contact_log— Contact history recordskeeping_contact_beeper_chats— Beeper chat to person mappings
The plugin provides actions for extending functionality:
// Fires when a Beeper chat is linked to a person
do_action( 'keeping_contact_beeper_chat_linked', $username, $chat_id, $phone );Contributions are welcome. Please open an issue to discuss significant changes before submitting a pull request.
GPL-2.0-or-later. See LICENSE for details.