Google Contacts integration
In short
Search, read, create and update contacts. Connect it on the Integrations page; your app then calls Google Contacts through Sapilon without ever holding a Google credential.
Lets your app list and search the connected account’s contacts, read one, and create or update contacts.
Connecting
On the Integrations page choose Connect on Google Contacts, sign in to Google and allow access. Under Advanced you can use your own Google OAuth app instead of Sapilon’s.
- Your app can read and edit every contact of this account.
- Sapilon’s Google app is still in verification: you may see an “unverified app” screen. Advanced → Bring your own OAuth app avoids it.
What your app can do
Only these requests are available; anything else is refused.
GET /people/me/connectionsGET /people:searchContactsPOST /people:createContactGET|PATCH /people/*
How the agent uses it
Use integrations.request('google-contacts', …); paths are relative to https://people.googleapis.com/v1 (the People API). Always say which fields you want with personFields / readMask.
GET /people/me/connections— all contacts. Example:{ method: 'GET', path: '/people/me/connections', query: { personFields: 'names,emailAddresses,phoneNumbers', pageSize: '200' } }.GET /people:searchContacts— Example:{ method: 'GET', path: '/people:searchContacts', query: { query: 'sara', readMask: 'names,emailAddresses' } }. Send one search with an emptyqueryfirst after connecting: Google warms its cache on it.POST /people:createContact— Example:{ method: 'POST', path: '/people:createContact', body: { names: [{ givenName: 'Sara' }], emailAddresses: [{ value: 'sara@acme.com' }] } }.GET /people/{id}— one contact (people/c123→ path/people/c123).PATCH /people/{id}:updateContact— send the contact’s currentetagandquery: { updatePersonFields: 'emailAddresses' }.
Deleting is not allowed.
More from Google: https://developers.google.com/people