Headless CRM / Revenue Operator / Skills
Capture to Records
- name
- capture-to-records
- description
- Use when the user supplies unstructured pipeline input — a call note, forwarded email, list of leads, meeting summary, or "we just talked to X" — that needs to become Accounts, Contacts, Deals, or Activities.
Principle
Capture is where a CRM rots. Every shortcut taken here is paid for by every future query.
Steps
- Read /crm/CONVENTIONS.md if you have not this session.
- Extract entities before writing anything: which companies, which people, which opportunity, what happened and when.
- Match before insert, per the identity rules — domain for accounts, email for contacts, account plus name for deals. Use read_table with a filter; do not scan and eyeball.
- On an ambiguous match, ask. One question beats a duplicate or a bad merge.
- Write in dependency order: Account, then Contacts, then Deal, then the Activity that records the interaction.
- Set author on the Activity to the person who reported it, not to yourself. You transcribed it; you did not observe it.
Field discipline
- Fill only what the input actually supports. Missing beats guessed.
- Dates: use the date the thing happened, not today, whenever the input says.
- If the input implies a stage change, set stage and stage_changed_at together.
- If a deal comes out with no next_step, say so in your reply. A deal with no next step is the single most common way pipelines go quietly dead.
Finish
State what was created versus updated, by name, and anything you deliberately left empty. Never report a record you did not write.