CRM Update Strategy

Version 1.1.0 • Updated after live schema audit • Twenty CRM — Calibrax workspace

The context: Kelvin operates two companies. This Twenty workspace is shared with Calibrax colleagues (YC Ng, Alex Tan). Everything in it is visible to them. There is no record-level privacy, no team separation, no custom fields, and no closed-lost pipeline stage.

The Cardinal Rule

Never put IIMMPACT-exclusive data into this Twenty workspace. IIMMPACT client lists, deal pipelines, pricing, contract terms, competitive intelligence, internal notes — these do not belong here. Full stop.

What Belongs in This Workspace

1. Calibrax-Exclusive Contacts

2. Neutral Shared Contacts

Contacts that genuinely serve both companies, where both sides know about the dual role:

Golden test: Would you cc YC or Alex on an email to this person about this topic? If yes, it can live here. If no, it doesn't.

3. Personal / Undecided Pipeline

What Stays OUT

IIMMPACT-Exclusive Data

Sensitive Personal Contacts

Logging Workflow

When to Log a Contact

Log when:

  1. A meaningful business interaction occurs (email, meeting, call)
  2. There is ongoing or expected follow-up
  3. The relationship is stable enough to justify structured tracking
  4. It passes the golden test above

Do NOT log:

When to Log an Opportunity

  1. A deal is active (not just "might happen someday")
  2. There is a known company/contact, product, and rough value
  3. There is a next step or expected close timeline
  4. 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

Hardcoded pipeline stages: NEW SCREENING MEETING PROPOSAL CUSTOMER
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:

[Calibrax] — Calibrax-specific 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
Known schema limitations discovered in audit:

Intake Source Tracking

Twenty records createdBy.source automatically. This is immutable:

EMAIL CALENDAR WORKFLOW AGENT API IMPORT MANUAL SYSTEM WEBHOOK APPLICATION

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

Practical workflow: When logging a new contact, first search:
twenty people search --query "<email>" --limit 10
If a match exists, do not create a duplicate.

Workflow Automation

Twenty has a built-in workflow engine:

Workflow statuses: DRAFT ACTIVE DEACTIVATED

Run statuses: NOT_STARTED RUNNING COMPLETED FAILED ENQUEUED STOPPING STOPPED

Task Discipline

Task statuses are simple and effective:

TODO — Open, not started
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

  1. Which company does this belong to? → Calibrax, IIMMPACT, or neutral?
  2. If IIMMPACT, is there another place for it? → Yes: local markdown, Notion, Airtable, or a separate CRM.
  3. 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)

Monthly (First Monday)

Future State: IIMMPACT CRM

When IIMMPACT gets its own CRM (separate Twenty workspace, HubSpot, or other):

  1. Export neutral/shared contacts from this workspace
  2. Import into IIMMPACT CRM
  3. Update this skill to reflect the new dual-CRM architecture
  4. Update workflows to route IIMMPACT contacts to the correct system

Until then, IIMMPACT contacts live in:

Emergency: Accidental IIMMPACT Data in Twenty

  1. Immediately delete the record:
    twenty people delete --id <uuid>
    twenty companies delete --id <uuid>
  2. If linked notes/opportunities exist, delete those first (or they will orphan)
  3. Log the incident locally for awareness
  4. Review what was exposed and whether any follow-up is needed

Skill Invocation

Use this skill when:


Skill: crm-update-strategy — Category: personal-agent-stack — Related: twenty-crm, composio, gmail-composio-guide, google-calendar-composio-guide