Use the Google Contacts CLI from KosmoKrator to call Google Contacts tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Google Contacts can be configured headlessly with `kosmokrator integrations:configure google_contacts`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure google_contacts --set access_token="$GOOGLE_CONTACTS_ACCESS_TOKEN" --enable --read allow --write ask --jsonkosmokrator integrations:doctor google_contacts --jsonkosmokrator integrations:status --json
Credentials
Authentication type: OAuth browser flowoauth2_authorization_code. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
GOOGLE_CONTACTS_ACCESS_TOKEN
OAuth token oauth
yes
Google Account
Call Google Contacts Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Google Contacts.
google_contacts.google_contacts_create
Read read
Create a new Google Contact with name, email, phone, company, title, address, and notes.
Fuzzy search Google Contacts by name, email, or phone. Matches partial strings (e.g., "john", "acme.com", "555"). Use this to look up contacts before sending emails with gmail_send.
Update an existing Google Contact. Unspecified fields are preserved. Email, phone, and address are added alongside existing values; name, company, title, and notes are replaced.
Fuzzy search Google Contacts by name, email, or phone. Matches partial strings (e.g., "john", "acme.com", "555"). Use this to look up contacts before sending emails with gmail_send.
Update an existing Google Contact. Unspecified fields are preserved. Email, phone, and address are added alongside existing values; name, company, title, and notes are replaced.
Contact resource name (e.g., "people/c1234567890").
name
string
no
Full name (e.g., "John Doe"). Replaces existing name.
email
string
no
Email address. Added alongside existing emails.
phone
string
no
Phone number (e.g., "+1-555-0123"). Added alongside existing phones.
company
string
no
Company/organization name.
title
string
no
Job title.
address
string
no
Full address (e.g., "123 Main St, Springfield, IL 62701").
notes
string
no
Notes or biography for the contact.
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.