People: Import contacts from a file
import_contacts_personalImport people into the caller's OWN contact book from a file THEY exported themselves: vCard .vcf (phone, Google Contacts, iCloud, Outlook), a CSV (Google Contacts / Outlook / any sheet with name, phone, e-mail columns) or LinkedIn Connections.csv. Two steps. mode=preview (DEFAULT, writes no contact): pass the file as 'content_base64' (+ 'filename', ≤5 MB) or 'document_id' of a file the person uploaded via request_upload_link / upload_document_base64; 'format' auto|vcard|csv|linkedin. Returns counts — new / merge (same phone, e-mail or an earlier import of the same person) / unchanged / similar (same name, different person maybe) / invalid —, the first rows, LinkedIn job changes («Олег: CTO → CEO у X») and a 'token'. Show the person the counts. mode=apply with that 'token' saves it (one confirmation); 'similar_names' create (default: a separate card, listed in possible_duplicates) | skip | merge. Re-importing the same file changes nothing. Birthdays get one yearly reminder each. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "import_contacts_personal"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | preview | |
| token | No | ||
| format | No | ||
| sample | No | ||
| filename | No | ||
| document_id | No | ||
| similar_names | No | ||
| content_base64 | No |