Integration · CRM & sales
Connect Claude & ChatGPT to Google Contacts
Ask your AI for someone's phone number, to add a new contact from an email signature, or to group your customers under one label. It searches your contacts and Other contacts, reads full details, creates and updates contacts and manages labels. Your address book stays current without typing it in by hand.
Free plan, no credit card. Takes about a minute.
Try asking
“What is Anna Berg's phone number?”
The AI searches your contacts by name and returns her phone numbers and email addresses.
“Add Peter Holm from Acme, [email protected], +45 12 34 56 78.”
It creates the contact with name, company, email and phone number.
“Anna has a new mobile number. Update it.”
It reads the contact, then replaces the phone numbers with the new one.
What your AI can do
Find people
Search contacts by name, email, phone or company, search Other contacts, and read a contact's full details.
Add and update
Create contacts with names, emails, phone numbers, companies and addresses, update them, or delete them.
Labels
List, read and create contact labels, and add or remove contacts in a label.
“I emailed Jonas at Nordic Foods but never saved him. Add him.”
It searches Other contacts, finds Jonas and saves him into your contacts.
“Put all Acme contacts under a label called Customers.”
It creates the label and adds the Acme contacts to it.
“Which labels do I have, and how many people are in each?”
It lists your contact labels with their member counts.
24 tools for Google Contacts
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
create_contactChanges dataCreate a contact with `names`, `email_addresses`, `phone_numbers`, `organizations`, `addresses` and more (each a list of objects, e.g. names: [{givenName, familyName}]).create_contact_labelVisible to othersCreate a contact label; put its `name` in `contact_group`.create_contact_people_contact_groups_createChanges dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Create a new contact group owned by the authenticated user.create_contact_people_people_batch_update_contactsVisible to othersCreate a new contact. Search contacts first to avoid duplicates. Has effects visible outside this system. API summary: Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts.delete_a_batch_of_contactsVisible to othersCreate a new contact. Search contacts first to avoid duplicates. Has effects visible outside this system. API summary: Delete a batch of contacts.delete_contactMoves moneyDelete a contact by `people_id`. This removes it from the user's contacts.delete_contact_2DeletesPermanently delete a contact by contact groups id. Destructive action; may require approval. API summary: Delete an existing contact group owned by the authenticated user by specifying a contact group resource name.delete_contacts_contact_photoMoves moneyPermanently delete a contact by people id. Financial or irreversible action; may require approval. API summary: Delete a contact's photo.get_contact_labelGet one contact label by `contact_groups_id`, with up to `max_members` member resource names.get_contact_people_contact_groups_getGet one contact by contact groups id. API summary: Get a specific contact group owned by the authenticated user by specifying a contact group resource name.list_contact_labelsList contact labels (groups) with their IDs and member counts.list_contactsList the user's contacts: pass `people_id` = `me` and `person_fields`, e.g. `names,emailAddresses,phoneNumbers`.list_contacts_2List contacts. Optional filters: read mask, request sync token, sync token or sources. Results are paginated. API summary: List all "Other contacts", that is contacts that are not in a contact group.list_contacts_people_contact_groups_batch_getList contacts. Optional filters: group fields, max members or resource names. API summary: Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names.list_contacts_people_people_get_batch_getList contacts. Optional filters: resource names, request mask include field, person fields or sources. API summary: Provides information about a list of specific people by specifying a list of requested resource names.list_contacts_people_people_list_directory_peopleList contacts. Optional filters: sources, read mask, merge sources, request sync token or sync token. Results are paginated. API summary: Provides a list of domain profiles and domain contacts in the authenticated user's domain directory.save_other_contactVisible to othersSave an "Other contact" into the user's contacts by `other_contacts_id`; set `copy_mask`, e.g. `names,emailAddresses,phoneNumbers`.search_contactsSearch contacts by query, read mask or sources. Use this to find existing contacts before creating a new contact. Results are paginated. API summary: Provides a list of contacts in the authenticated user's grouped contacts that matches the search query.search_contacts_people_people_search_directory_peopleSearch contacts by query, read mask, merge sources or sources. Use this to find existing contacts before creating a new contact. Results are paginated. API summary: Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query.search_other_contactsSearch "Other contacts" (people the user emailed but never saved) in `query`; set `read_mask` to e.g. `names,emailAddresses`.update_contactVisible to othersUpdate a contact by `people_id`. Pass the contact's current `etag` (from get_contact), the new values, and `update_person_fields` naming the fields changed, e.g. `phoneNumbers`. Listed fields are replaced entirely.update_contact_2Changes dataUpdate an existing contact identified by contact groups id. API summary: Update the name of an existing contact group owned by the authenticated user.update_contact_label_membersChanges dataAdd or remove contacts in a label by `contact_groups_id`, using lists of resource names like `people/c123` in `resource_names_to_add` / `resource_names_to_remove`.update_contacts_contact_photoVisible to othersUpdate an existing contact identified by people id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update a contact's photo.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose Google Contacts from the app list.
- 2
Paste your key
Paste the OAuth client ID and client secret from your own Google Cloud project, then sign in with Google once. In the Google Cloud console create a project and enable the Google People API (APIs & Services > Library). Set up the OAuth consent screen as Internal for Google Workspace, or as External and then click Publish app, because apps left in Testing get refresh tokens that expire after 7 days. Then go to Credentials > Create credentials > OAuth client ID > Web application, add the redirect URI https://heymyapps.com/oauth/callback and copy the client ID and secret. HeyMyApps renews access automatically after that.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Google Contacts?
It can search and list your contacts, read a contact's details, search Other contacts, and list and read contact labels. It can create, update and delete contacts, save an Other contact into your contacts, create labels and add or remove contacts in a label.
Does the AI see my Google Contacts credentials?
No. Your OAuth client secret and the access from your Google sign-in are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start read-only. Deleting a contact removes it from your contacts, and an update replaces the fields it changes, so these tools can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
Google Contacts connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Google account.
What are Other contacts?
Other contacts are people you have emailed but never saved. Google keeps them apart from your contacts. The AI can search them read-only and, if you ask, save one into your contacts with name, email and phone number.
Related integrations
Let your AI work in Google Contacts today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Google Contacts freeHeyMyApps is not affiliated with Google Contacts. Product names are trademarks of their owners.






