Update Contact
google_contacts.update_contact
ActionCRM & salesconnection required
Calls the People API PATCH /people/{resource_name}:updateContact.
Change a contact's name, email, phone, company or notes.
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
12 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
resource_name Contact id, e.g. people/c123 from a search or list step. | string | Yes | — | — | — |
etag Optional. The etag the contact had when it was read: the write then fails instead of overwriting an edit made since. Left blank, the current etag is fetched and the write always lands. | string | No | — | — | — |
given_name New first name. | string | No | — | — | — |
family_name New last name. | string | No | — | — | — |
middle_name New middle name. | string | No | — | — | — |
email New email address. | string | No | — | email format | — |
phone New phone number. | string | No | — | — | — |
organization New company; blank leaves it out of the call. | string | No | — | — | — |
job_title New job title. | string | No | — | — | — |
notes Replaces the stored notes; blank leaves it as it is. | string | No | — | — | — |
address New postal address, as one line. | string | No | — | — | — |
website Absolute http(s) URL to store; blank leaves it unset. | string | No | — | — | — |
Output
One shape.
result
| Field | Type | Example |
|---|---|---|
ok | boolean | — |
resource_name | string | — |
etag The new etag; the old one is now stale. | string | — |
display_name | string | — |
email | string | — |
phone | string | — |
contact The contact as it now stands: 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. | object | — |
{
"contact": {},
"display_name": "",
"email": "",
"etag": "",
"ok": false,
"phone": "",
"resource_name": ""
}Notes
- A blank box means 'leave this alone'. Google replaces every field named in the write, so only the boxes you fill in are sent.
- A contact can hold several emails, phones, addresses or URLs. The value you give replaces the primary one and keeps the rest, so correcting a mobile number does not delete the work number.
See Update Contact 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.