Link contact to account
add_account_contactLink a contact to an account with a role from the workspace's account_contacts.role values (seed defaults: champion / economic_buyer / decision_maker / user / blocker / influencer / csm_primary). Use is_primary_champion=true to mark the single primary champion (at most one per account; setting it auto-clears any previous primary). Distinct from opportunity_contacts — account_contacts persist across the customer relationship even when no opportunity is open. Resolve account_id + contact_id with search_* first — never invent ids.
When to use: When you learn someone's role at a customer. Set is_primary_champion=true for the single most important advocate.
Example: Add Sarah Chen as the primary champion at Acme.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | Defaults: champion | economic_buyer | decision_maker | user | blocker | influencer | csm_primary. A workspace admin may rename or add values — see the live set in propose_updates' workspace.enum_values, or an admin's describe_schema. | |
| notes | No | Free-text context for this link (e.g. how the person relates to the account), stored on the account_contacts row; re-linking without it clears any stored note. | |
| account_id | Yes | A uuid. | |
| contact_id | Yes | A uuid. | |
| is_primary_champion | No | Boolean (true/false). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| created | No | ||
| account_contact | No |