Create a contact
create_contactAdd a new contact to Google Contacts with supplied name, email, phone, address, organization, birthday, notes, or URLs, and receive the created contact's resourceName for later operations.
Instructions
Creates a new contact in the account's Google Contacts and returns the created Person (resourceName, etag and the person_fields mask — use the resourceName for every later call). Provide any subset of the normalized fields: name parts, nickname, emails[], phones[], addresses[], organization, birthday, notes, urls[]; at least one is required. The API has NO duplicate detection — creating the same contact twice yields two contacts, so after an ambiguous failure (timeout/5xx; never auto-retried) check via search/list before re-sending. A just-created contact appears in list_contacts/get_contact immediately but reaches the search_contacts index with a delay. Contact photos need raw_request (updateContactPhoto).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Websites. On update this list replaces ALL existing urls; [] clears them. | |
| notes | No | Free-text notes (the "Notes" field in Google Contacts). On update "" clears it. | |
| emails | No | Email addresses. On update this list replaces ALL existing emails; [] clears them. | |
| phones | No | Phone numbers. On update this list replaces ALL existing phones; [] clears them. | |
| prefix | No | Honorific prefix, e.g. "Dr.". | |
| suffix | No | Honorific suffix, e.g. "Jr.". | |
| birthday | No | Birthday: "YYYY-MM-DD", or "MM-DD" for a year-less birthday. On update "" clears it. | |
| nickname | No | Nickname. On update "" clears it. | |
| addresses | No | Postal addresses. On update this list replaces ALL existing addresses; [] clears them. | |
| given_name | No | First name. | |
| family_name | No | Last name. | |
| middle_name | No | Middle name. | |
| organization | No | Employer info. On update it replaces the existing organizations; {} clears them. | |
| person_fields | No | Person fields to return (default names, emailAddresses, phoneNumbers, organizations, memberships). Only masked fields come back — an absent field may be unmasked, not empty. |