CRM Update Strategy
Version 1.1.0 • Updated after live schema audit • Twenty CRM — Calibrax workspace
The Cardinal Rule
What Belongs in This Workspace
1. Calibrax-Exclusive Contacts
- Calibrax clients and prospects
- Calibrax partners and vendors
- Calibrax recruiting pipeline
- Calibrax investors and advisors
2. Neutral Shared Contacts
Contacts that genuinely serve both companies, where both sides know about the dual role:
- Shared service providers (accountants, lawyers, cloud vendors)
- Mutual investors who know about both ventures
- Personal network contacts aware of both companies
- Kelvin's own relationships where disclosure is explicit
3. Personal / Undecided Pipeline
- Early-stage leads where the company is not yet determined
- Personal brand/network contacts not yet assigned to either company
- Tag clearly so they can be migrated later
What Stays OUT
IIMMPACT-Exclusive Data
- IIMMPACT client companies and contacts
- IIMMPACT deal pipeline, stages, amounts, close dates
- IIMMPACT pricing, contract terms, renewals
- IIMMPACT internal strategic notes
- IIMMPACT hiring pipeline
- Any IIMMPACT-only relationship where the other party doesn't know about Calibrax
Sensitive Personal Contacts
- Contacts where Kelvin has not disclosed his dual role
- Family / personal contacts that don't need CRM tracking
- Government, regulatory, or high-privacy-expectation contacts
Logging Workflow
When to Log a Contact
Log when:
- A meaningful business interaction occurs (email, meeting, call)
- There is ongoing or expected follow-up
- The relationship is stable enough to justify structured tracking
- It passes the golden test above
Do NOT log:
- One-off inbound inquiries with no follow-up expected
- Contacts from mass events where no 1:1 relationship exists yet
- Contacts you haven't interacted with in 12+ months
- Any IIMMPACT-exclusive contact
When to Log an Opportunity
- A deal is active (not just "might happen someday")
- There is a known company/contact, product, and rough value
- There is a next step or expected close timeline
- The deal belongs to Calibrax (or is neutral/undecided)
Minimum Data to Capture
Person: Name (first + last), primary email, company link, job title, source of introduction
Company: Name, domain name, industry/description, country/region
Opportunity: Name, stage, amount (if known), close date (if known), linked company/person
There is no
CLOSED_LOST stage. Dead deals must be deleted or left in PROPOSAL. This is a known limitation for B2B sales cycles.
Tagging & Classification
Twenty has no custom tags or custom fields. Use notes with prefixed context:
[IIMMPACT] — DO NOT put in this workspace; keep in local notes
[Neutral] — Shared contact, both companies aware
[Personal] — Kelvin's personal relationship, not yet assigned
- No custom fields on People, Companies, or Opportunities
- No tags or labels
- No validation rules (anyone can create a record with no email, no amount)
- No automatic duplicate prevention at entry time
Intake Source Tracking
Twenty records createdBy.source automatically. This is immutable:
Implication: When I log a contact from an email thread, the source shows EMAIL or API, not the actual origin (e.g., "Money20/20 conference," "YC referral"). Use notes to capture true attribution. There is no custom source field.
Deduplication
- Prevention: None. The same email can create multiple person records.
- Detection:
personDuplicatesandcompanyDuplicatesqueries exist, but require passing data/IDs to check — not automatic scanners. - Resolution:
mergePeoplemutation can merge two person records. Use during monthly hygiene.
twenty people search --query "<email>" --limit 10If a match exists, do not create a duplicate.
Workflow Automation
Twenty has a built-in workflow engine:
- Triggers:
DATABASE_EVENT(record changes) andCRON(scheduled) - Use case: "When opportunity moves to PROPOSAL, create a follow-up task for Kelvin"
- Reality: Building workflows via API is JSON-heavy. Use the Twenty UI for design. The API is for inspection/triggering, not easy authoring.
Workflow statuses: DRAFT ACTIVE DEACTIVATED
Run statuses: NOT_STARTED RUNNING COMPLETED FAILED ENQUEUED STOPPING STOPPED
Task Discipline
Task statuses are simple and effective:
IN_PROGRESS — Active
DONE — Complete
Use tasks for every concrete next action with a deadline. Link them to the relevant person, company, or opportunity.
Checking Before Logging
- Which company does this belong to? → Calibrax, IIMMPACT, or neutral?
- If IIMMPACT, is there another place for it? → Yes: local markdown, Notion, Airtable, or a separate CRM.
- Would YC/Alex be surprised or concerned to see this? → If yes, do not log it here.
Integration with Email & Calendar
Calibrax-related threads → Log contacts to Twenty
IIMMPACT-related threads → Log to local notes, flag for IIMMPACT CRM
Neutral/shared contacts → Log to Twenty with [Neutral] prefix in notes
Calibrax meeting attendees → Auto-log if not already in CRM
IIMMPACT meeting attendees → DO NOT auto-log to Twenty
Maintenance Cadence
Weekly (Every Friday)
- Review new contacts logged this week. Verify company assignment is correct.
- Review open opportunities. Update stages, amounts, close dates if changed.
- Review overdue tasks. Close completed, reschedule or cancel stale ones.
Monthly (First Monday)
- Pipeline review: stage distribution, stale opportunities (>90 days no activity)
- Data hygiene: duplicate people/companies, missing emails, incomplete records
- Export backup:
twenty people list --limit 200 > /tmp/twenty_people_$(date +%Y%m).json
Future State: IIMMPACT CRM
When IIMMPACT gets its own CRM (separate Twenty workspace, HubSpot, or other):
- Export neutral/shared contacts from this workspace
- Import into IIMMPACT CRM
- Update this skill to reflect the new dual-CRM architecture
- Update workflows to route IIMMPACT contacts to the correct system
Until then, IIMMPACT contacts live in:
- Local markdown notes (
~/notes/iimmpact/) - Notion or Airtable (if Kelvin sets one up)
- Kelvin's personal memory / email archives
Emergency: Accidental IIMMPACT Data in Twenty
- Immediately delete the record:
twenty people delete --id <uuid> twenty companies delete --id <uuid>
- If linked notes/opportunities exist, delete those first (or they will orphan)
- Log the incident locally for awareness
- Review what was exposed and whether any follow-up is needed
Skill Invocation
Use this skill when:
- Kelvin asks to log a new contact, company, or deal
- Processing email/calendar data that might contain CRM-worthy contacts
- Reviewing pipeline or preparing for a meeting
- Deciding where a piece of business information should live
- Setting up CRM integrations or automations
Skill: crm-update-strategy — Category: personal-agent-stack — Related: twenty-crm, composio, gmail-composio-guide, google-calendar-composio-guide