Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1235,6 +1235,27 @@ export function GoogleSlidesIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function GoogleContactsIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>
<path
d='M20.16 3H3.84C2.82 3 2 3.82 2 4.84v14.32C2 20.18 2.82 21 3.84 21h16.32c1.02 0 1.84-.82 1.84-1.84V4.84C22 3.82 21.18 3 20.16 3z'
fill='#F1F3F4'
/>
<path
d='M12 12.75c-1.63 0-4.88.82-4.88 2.44v1.22c0 .34.27.61.61.61h8.54c.34 0 .61-.27.61-.61v-1.22c0-1.63-3.25-2.44-4.88-2.44z'
fill='#4285F4'
/>
<circle cx='12' cy='9.38' r='2.5' fill='#4285F4' />
<path
d='M17.25 12.13c.72.49 1.63 1.23 1.63 2.19v1.09h1.25c.34 0 .61-.27.61-.61v-1.22c0-1.06-1.96-1.67-3.49-1.45z'
fill='#A0C3FF'
/>
<circle cx='17' cy='9.38' r='1.88' fill='#A0C3FF' />
</svg>
)
}

export function GoogleCalendarIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
Expand Down
2 changes: 2 additions & 0 deletions apps/docs/components/ui/icon-mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import {
GongIcon,
GoogleBooksIcon,
GoogleCalendarIcon,
GoogleContactsIcon,
GoogleDocsIcon,
GoogleDriveIcon,
GoogleFormsIcon,
Expand Down Expand Up @@ -190,6 +191,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
gong: GongIcon,
google_books: GoogleBooksIcon,
google_calendar_v2: GoogleCalendarIcon,
google_contacts: GoogleContactsIcon,
google_docs: GoogleDocsIcon,
google_drive: GoogleDriveIcon,
google_forms: GoogleFormsIcon,
Expand Down
144 changes: 144 additions & 0 deletions apps/docs/content/docs/en/tools/google_contacts.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
---
title: Google Contacts
description: Manage Google Contacts
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard
type="google_contacts"
color="#E0E0E0"
/>

## Usage Instructions

Integrate Google Contacts into the workflow. Can create, read, update, delete, list, and search contacts.



## Tools

### `google_contacts_create`

Create a new contact in Google Contacts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `givenName` | string | Yes | First name of the contact |
| `familyName` | string | No | Last name of the contact |
| `email` | string | No | Email address of the contact |
| `emailType` | string | No | Email type: home, work, or other |
| `phone` | string | No | Phone number of the contact |
| `phoneType` | string | No | Phone type: mobile, home, work, or other |
| `organization` | string | No | Organization/company name |
| `jobTitle` | string | No | Job title at the organization |
| `notes` | string | No | Notes or biography for the contact |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Contact creation confirmation message |
| `metadata` | json | Created contact metadata including resource name and details |

### `google_contacts_get`

Get a specific contact from Google Contacts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `resourceName` | string | Yes | Resource name of the contact \(e.g., people/c1234567890\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Contact retrieval confirmation message |
| `metadata` | json | Contact details including name, email, phone, and organization |

### `google_contacts_list`

List contacts from Google Contacts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `pageSize` | number | No | Number of contacts to return \(1-1000, default 100\) |
| `pageToken` | string | No | Page token from a previous list request for pagination |
| `sortOrder` | string | No | Sort order for contacts |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Summary of found contacts count |
| `metadata` | json | List of contacts with pagination tokens |

### `google_contacts_search`

Search contacts in Google Contacts by name, email, phone, or organization

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | Search query to match against contact names, emails, phones, and organizations |
| `pageSize` | number | No | Number of results to return \(default 10, max 30\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Summary of search results count |
| `metadata` | json | Search results with matching contacts |

### `google_contacts_update`

Update an existing contact in Google Contacts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `resourceName` | string | Yes | Resource name of the contact \(e.g., people/c1234567890\) |
| `etag` | string | Yes | ETag from a previous get request \(required for concurrency control\) |
| `givenName` | string | No | Updated first name |
| `familyName` | string | No | Updated last name |
| `email` | string | No | Updated email address |
| `emailType` | string | No | Email type: home, work, or other |
| `phone` | string | No | Updated phone number |
| `phoneType` | string | No | Phone type: mobile, home, work, or other |
| `organization` | string | No | Updated organization/company name |
| `jobTitle` | string | No | Updated job title |
| `notes` | string | No | Updated notes or biography |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Contact update confirmation message |
| `metadata` | json | Updated contact metadata |

### `google_contacts_delete`

Delete a contact from Google Contacts

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `resourceName` | string | Yes | Resource name of the contact to delete \(e.g., people/c1234567890\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Contact deletion confirmation message |
| `metadata` | json | Deletion details including resource name |


1 change: 1 addition & 0 deletions apps/docs/content/docs/en/tools/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"gong",
"google_books",
"google_calendar",
"google_contacts",
"google_docs",
"google_drive",
"google_forms",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ const SCOPE_DESCRIPTIONS: Record<string, string> = {
'https://www.googleapis.com/auth/drive.file': 'View and manage Google Drive files',
'https://www.googleapis.com/auth/drive': 'Access all Google Drive files',
'https://www.googleapis.com/auth/calendar': 'View and manage calendar',
'https://www.googleapis.com/auth/contacts': 'View and manage Google Contacts',
'https://www.googleapis.com/auth/userinfo.email': 'View email address',
'https://www.googleapis.com/auth/userinfo.profile': 'View basic profile info',
'https://www.googleapis.com/auth/forms.body': 'View and manage Google Forms',
Expand Down
Loading