Add contact
crm_add_contactRecord a person at an account — named with a source, or as a gap. Two shapes, nothing in between (CRM-1, CRM-2). Named: name + source required — a name without a source is not usable in a first approach, so it is refused, not warned about. Gap: no name, gap_note required — the role exists and its holder is not publicly known, and that absence is a finding worth recording. Guessing is the only real failure here. Effects: contact created as named or gap.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The person — only with a source. | |
| No | As publicly listed or personally shared — the source covers it like everything else (CRM-1). | ||
| notes | No | Working notes. | |
| phone | No | Same rule as email: listed or shared, never scraped from a paid enrichment dump without saying so. | |
| title | No | Their title, as the source states it. | |
| source | No | Where the name comes from. Mandatory for a named contact. | |
| gap_note | No | For a gap: what is missing and what it would take to find out. | |
| role_type | Yes | The role in the deal: OPERATIONS OWNER, ECONOMIC SPONSOR, SECURITY GATE… | |
| account_id | Yes | The account. An existing account id. | |
| linkedin_url | No | The person's public LinkedIn profile URL — a sourced fact, fine for an agent to record. The connection-path fields are a different matter. | |
| confidence_note | No | How sure, and of what: "high on the person, medium on the exact title". |