Google Contacts
Create, find, update and delete contacts in Google Contacts, and sort them into labels.
Connect Google Contacts
- In the sidebar, open Connections and press Add connection.
- Type
google contactsand choose Google Contacts. - Press Sign in with Google.
- Choose your account in Google’s window and allow access.
You should see Signed in as and the account’s address.
You can also connect from a step: under Connection, press New.
What if it says “Google sign-in isn’t set up here”?
This installation has no Google app yet. An admin of the installation sees Set up Google sign-in instead, and sets it up once for everyone:
- In Google Cloud, create an OAuth client of type Web application, and turn on the API for Google Contacts.
- In GoRunner, copy the Redirect address to add in Google Cloud, and add it to the client.
- Paste the Client ID and Client secret, then press Save and sign in.
Publish the app in Google Cloud. An app left in Testing signs everyone out after 7 days.
Everyone else sees who to ask.
Can I use my own Google app?
Yes. In the sheet, open Use your own Google app and paste its Client ID and Client secret. Add the Redirect address to add in Google Cloud to your app first. The connection then signs in through your app instead of the installation’s.
Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.
Do things in Google Contacts
Add a Google Contacts step, choose a Resource, then an Operation. Choose a row to see its fields.
- ContactCreate · Get · Get Many · Update · Delete
- Contact Group (label)Create · Get · Get Many · Rename · Delete · Add Contacts · Remove Contacts
To start a workflow from Google Contacts, use a Schedule, Webhook or Form trigger.
Later steps read a step’s output by its name: see Use data from earlier steps.
Limits
- A reply from Google Contacts can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
- When Google Contacts says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.
Not in your list? See When an app isn’t here.
For developers
In the API, which calls apps pieces, Google Contacts is pieceId: "googlecontacts" with actionId: "googlecontacts", set by resource and an operation_… field, such as operation_contact. Get an app returns every field.
It can change something outside the run (writes_external). See How versions and side effects work.
Google Contacts › Contact
Create
- First Name · Optional
- Last Name · Optional
- Middle Name · Optional
- Title · Optional
Before the name, such as Dr.
- Suffix · Optional
After the name, such as Jr.
- Emails · Optional
Email addresses, one per line or as a list: ["ada@example.com"] or [{"value": "ada@example.com", "type": "work"}]. On update they replace the contact's emails.
- Phone Numbers · Optional
Phone numbers, one per line or as a list: ["+49 30 1234567"] or [{"value": "+49 30 1234567", "type": "mobile"}]. On update they replace the contact's numbers.
- Company · Optional
- Job Title · Optional
- Department · Optional
- Birthday · Optional
YYYY-MM-DD, or --MM-DD without a year.
- Notes · Optional
Free text about the contact.
- Addresses · Optional
A list of addresses, such as [{"streetAddress": "1 Main St", "city": "Berlin", "postalCode": "10115", "country": "Germany", "type": "work"}]. On update they replace the contact's addresses.
- Websites · Optional
Web addresses, one per line or as a list. On update they replace the contact's websites.
- Custom Fields · Optional
Custom label/value pairs, such as {"Customer ID": "A-1042"}. On update they replace the contact's custom fields.
- Labels · Optional
Contact groups (labels) to put the new contact in, besides My Contacts. To change a contact's labels later, use Contact Group › Add Contacts or Remove Contacts.
- More Person Fields · Optional
Other People API Person fields as JSON, such as {"nicknames": [{"value": "Addie"}], "relations": [{"person": "Byron", "type": "father"}]}. Each one replaces that field.
- Fields · Optional
The contact fields to return. Empty returns names, emails, phone numbers, organizations, addresses, birthdays, notes, websites, custom fields, labels, photos and metadata.
Options: addresses to userDefined (29 options).
Get
- Contact · Required
The contact to read, change or delete.
- Fields · Optional
The contact fields to return. Empty returns names, emails, phone numbers, organizations, addresses, birthdays, notes, websites, custom fields, labels, photos and metadata.
Options: addresses to userDefined (29 options).
Get Many
- Search · Optional
Find contacts whose name, nickname, email, phone or company starts with this text (at most 30). Empty lists every contact.
- Order · Optional
The order of a list without Search.
Options: Last changed, newest first, Last changed, oldest first, First name, Last name.
Default: Last changed, newest first.
- Return All · Optional
Read every contact, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many contacts to return (1–5000).
Default: 50.
Shows when Return All is off.
- Fields · Optional
The contact fields to return. Empty returns names, emails, phone numbers, organizations, addresses, birthdays, notes, websites, custom fields, labels, photos and metadata.
Options: addresses to userDefined (29 options).
Update
- Contact · Required
The contact to read, change or delete.
- First Name · Optional
- Last Name · Optional
- Middle Name · Optional
- Title · Optional
Before the name, such as Dr.
- Suffix · Optional
After the name, such as Jr.
- Emails · Optional
Email addresses, one per line or as a list: ["ada@example.com"] or [{"value": "ada@example.com", "type": "work"}]. On update they replace the contact's emails.
- Phone Numbers · Optional
Phone numbers, one per line or as a list: ["+49 30 1234567"] or [{"value": "+49 30 1234567", "type": "mobile"}]. On update they replace the contact's numbers.
- Company · Optional
- Job Title · Optional
- Department · Optional
- Birthday · Optional
YYYY-MM-DD, or --MM-DD without a year.
- Notes · Optional
Free text about the contact.
- Addresses · Optional
A list of addresses, such as [{"streetAddress": "1 Main St", "city": "Berlin", "postalCode": "10115", "country": "Germany", "type": "work"}]. On update they replace the contact's addresses.
- Websites · Optional
Web addresses, one per line or as a list. On update they replace the contact's websites.
- Custom Fields · Optional
Custom label/value pairs, such as {"Customer ID": "A-1042"}. On update they replace the contact's custom fields.
- More Person Fields · Optional
Other People API Person fields as JSON, such as {"nicknames": [{"value": "Addie"}], "relations": [{"person": "Byron", "type": "father"}]}. Each one replaces that field.
- Fields · Optional
The contact fields to return. Empty returns names, emails, phone numbers, organizations, addresses, birthdays, notes, websites, custom fields, labels, photos and metadata.
Options: addresses to userDefined (29 options).
Delete
- Contact · Required
The contact to read, change or delete.
Google Contacts › Contact Group (label)
Create
- Name · Required
The label's name.
Get
- Label · Required
The contact group (label).
- Members to List · Optional
How many member contact ids to return with the label (0 returns none).
Default: 0.
Get Many
- Return All · Optional
Read every label, page by page (at most 1000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many labels to return (1–1000).
Default: 100.
Shows when Return All is off.
Rename
- Label · Required
The contact group (label).
- Name · Required
The label's name.
Delete
- Label · Required
The contact group (label).
- Also Delete Its Contacts · Optional
Delete the contacts in the label too. Off, only the label goes and its contacts stay.
Off by default.
Add Contacts and Remove Contacts
- Label · Required
The contact group (label).
- Contacts · Required
The contacts to add or remove: a list of ids, such as ["c4729318826510376123"], or ids one per line.