---
title: "Google Contacts Integration"
description: "Connect AI agents to Google Contacts through the People API. Agents create, update, search, and delete contacts and manage contact groups using the connected Google account."
url: https://flowrunner.ai/integrations/google-contacts
date_modified: 2026-08-07T17:20:23-07:00
---

# Google Contacts

[CRM](https://flowrunner.ai/integrations/category/crm-sales)

Connect AI agents to Google Contacts through the People API. Agents create, update, search, and delete contacts and manage contact groups using the connected Google account.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 10 actions · OAuth · available

[Google Contacts website](https://contacts.google.com/) · [Platform Documentation](https://developers.google.com/people/api/rest) · Capability data verified 2026-08-12

1.  A new customer sign-up arrives from another system
2.  Agent reads the name, email, phone, and organization
3.  Agent runs Search Contacts to avoid a duplicate entry
4.  Agent creates the contact and adds it to the right group
5.  A welcome email goes out using the stored address
6.  A bulk delete of stale contacts routes to an admin to confirm

## What This Integration Enables

An agent can create contacts from form submissions, CRM records, or new sign-ups, and keep Google Contacts in step with external systems by updating fields when source data changes. It searches contacts by name, email, phone, or organization to enrich a workflow, and it organizes the address book by creating groups and adding or removing members programmatically. List Contacts and Delete Contact support cleanup of outdated records.

Google Contacts has no event triggers in this integration, so flows start from the systems that own the change: a CRM, a sign-up form, a spreadsheet, or a scheduled reconciliation. The agent is the bridge that turns those changes into an accurate address book, so the numbers and names people rely on in Gmail and Calendar are the current ones.

### Without FlowRunner

**Address book drifts**: Names, phones, and organizations go stale because updates are manual

**Duplicates accumulate**: The same person is added twice from different sign-up sources

**Grouping is a chore**: Labeling and organizing contacts happens by hand, when at all

### With FlowRunner

**Book stays in sync**: The agent updates fields whenever the source data changes

**Search before create**: A lookup runs before every add, so the book stays clean

**Groups managed by rule**: Contacts are added to and removed from labels programmatically

## Use Case Scenarios

### New Lead Enters the Address Book

A new lead arrives. The agent runs Search Contacts to check for a match, then Create Contact to add them with email and phone, and sends a personalized welcome through [Gmail](https://flowrunner.ai/integrations/gmail-service) Send Message using the stored address. The contact exists once, and the first touch goes out immediately.

### Keep the Book in Sync With a Spreadsheet

A flow reads a customer list with [Google Sheets](https://flowrunner.ai/integrations/google-sheets) Find Rows, then calls Search Contacts and Update Contact for each to keep names, phones, and organizations aligned with the source of truth. The address book stops being the copy that is always slightly wrong.

### Look Up an Attendee to Schedule

Before booking a meeting, the agent calls Search Contacts to resolve an attendee's email from their name, then creates the meeting with [Google Calendar](https://flowrunner.ai/integrations/google-calendar) Create Event and invites them. When a scheduled cleanup would delete a batch of contacts, the agent pauses and asks an admin to confirm the list first.

## Human-in-Loop Highlight

Deleting contacts is the one irreversible move in an address book, and a bad bulk delete is hard to undo. When a flow is about to remove contacts, whether a scheduled cleanup or a sync that marks records stale, the agent does not just call Delete Contact. It treats the deletion as a [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) step: it pauses, lists the contacts it plans to remove and why, and routes the decision to an admin through Slack or email. The admin confirms, and the agent deletes. The admin declines, and the records stay. Adds and updates run untouched; the destructive step waits for a person.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via Slack

Human decides

Agent resumes with decision

## Agent Capabilities

10 actions

### Contacts

6

-   **Create Contact** Creates a new contact in the connected user's Google Contacts. Build the contact from the simple fields (name, email, phone, company, job title, notes) and/or provide a Raw Person object in the People API Person format for advanced fields (multiple emails, addresses, birthdays, memberships, etc.), raw fields override the simple ones. At least one field must be provided. Returns the created contact with a simplified shape plus the raw People API resource (including 'resourceName' and 'etag').
-   **Get Contact** Retrieves a single contact from the connected user's Google Contacts by its resource name. Returns a simplified shape (flattened name, emails, phones, company, job title, notes, addresses) plus the raw People API resource (including 'etag').
-   **List Contacts** Lists the connected user's contacts (connections), sorted by first name, last name, or last modified time. Supports pagination via page token, up to 1000 contacts per page (default 100). Returns simplified contact objects (flattened name, emails, phones, company, notes) each including the raw People API resource, plus 'nextPageToken' and 'totalItems'.
-   **Update Contact** Updates an existing contact in the connected user's Google Contacts. Only the provided fields are updated, the current contact is fetched first to obtain its 'etag' (required by the People API for concurrency control) and to merge partial name/organization changes, so e.g. updating only the first name preserves the last name. Returns the updated contact in a simplified shape plus the raw People API resource.
-   **Delete Contact** Permanently deletes a contact from the connected user's Google Contacts by its resource name. This cannot be undone through the API (deleted contacts remain in the Google Contacts trash for 30 days via the web UI).
-   **Search Contacts** Searches the connected user's contacts by name, nickname, email address, phone number, or organization using prefix matching. Sends the warmup request recommended by Google (an empty-query search that refreshes the server-side cache) before the real search, so recently changed contacts are included. Returns up to 30 matches (API maximum) as simplified contact objects, each including the raw People API resource.

### Contact Groups

4

-   **List Contact Groups** Lists the connected user's contact groups (labels), including system groups such as 'myContacts' and 'starred' as well as user-created groups. Each group includes its resource name, formatted name, group type, and member count. Supports pagination via page token.
-   **Create Contact Group** Creates a new contact group (label) in the connected user's Google Contacts. The group name must be unique among the user's groups. Returns the created group including its resource name (e.g. 'contactGroups/3bfe8d2c0a1b2c3d'), which can be used to add or remove contacts.
-   **Add Contacts To Group** Adds one or more contacts to a contact group (label) in the connected user's Google Contacts. Only user-created groups can be modified, system groups (e.g. 'myContacts', 'starred') are read-only. Up to 500 contacts can be added per call. Returns any contact resource names that could not be found.
-   **Remove Contacts From Group** Removes one or more contacts from a contact group (label) in the connected user's Google Contacts. Only user-created groups can be modified, system groups (e.g. 'myContacts', 'starred') are read-only. The contacts themselves are not deleted, only their membership in the group. Returns any contact resource names that could not be found or removed.

## Frequently Asked Questions

### What can FlowRunner do with Google Contacts?

FlowRunner agents can run Create Contact, Get Contact, and List Contacts in Google Contacts, plus 7 more actions.

### Does connecting Google Contacts to FlowRunner require OAuth?

Yes. Google Contacts connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

### Can Google Contacts trigger a FlowRunner workflow automatically?

Google Contacts doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Google Contacts?** This integration exposes Google Contacts to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/google-contacts. Site index: https://flowrunner.ai/llms.txt
