List Contacts

google_contacts.list_contacts
ActionCRM & salesconnection required

Calls the People API GET /people/me/connections.

List the account's contacts, page by page or incrementally.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Google Contacts
Secret shape
{"client_id", "client_secret", "refresh_token"}
Resolved by
config.connection_id, else node.connection_id

Configuration

5 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
max_results
How many contacts to collect in total. This is a budget across pages, not a page size.
numberNo200≥ 1—
page_token
Resume from a previous run's next_page_token.
stringNo———
sync_token
A previous run's next_sync_token. Returns only contacts changed or deleted since — deletions arrive with deleted: true.
stringNo———
request_sync_token
Ask for a sync token so the next run can go incremental.
booleanNo———
sort_order
Order of the sweep. Ignored when sync_token is set — Google rejects a sorted sync.
stringNo—one of "LAST_MODIFIED_ASCENDING", "LAST_MODIFIED_DESCENDING", "FIRST_NAME_ASCENDING", "LAST_NAME_ASCENDING"—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "max_results": 200
}

Output

One shape.

result

FieldTypeExample
contacts
The contacts read. Each: resource_name, display_name, email (the primary one), etag (required to update the contact), given_name, middle_name, family_name, emails[{value, type, primary}], phone, phones[{value, type, primary}], organization, job_title, notes, addresses[{formatted, type, street, city, region, postal_code, country, country_code}], urls[{value, type, primary}], photo_url, group_resource_names, updated, sources[{type, id}], deleted.
array—
count
How many contacts were returned.
number—
truncated
True when the budget ran out while Google still had more.
boolean—
next_page_token
Cursor to resume from; null when the list was read to the end.
string—
next_sync_token
Feed this back as sync_token next run to get only what changed. Google mints it on the final page only.
string—
total
How many contacts the account has in all.
number—
{
  "contacts": [],
  "count": 0,
  "next_page_token": "",
  "next_sync_token": "",
  "total": 0,
  "truncated": false
}

See List Contacts run in a workflow.

In a technical demo we add the Google Contacts connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.