Overview
Enable your agents to manage contacts and directory information through Google Contacts. Access personal contacts, search directory people, create and update contact information, and manage contact groups with AI-powered automation.Prerequisites
Before using the Google Contacts integration, ensure you have:- A CrewAI AMP account with an active subscription
- A Google account with Google Contacts access
- Connected your Google account through the Integrations page
Setting Up Google Contacts Integration
1. Connect Your Google Account
- Navigate to CrewAI AMP Integrations
- Find Google Contacts in the Authentication Integrations section
- Click Connect and complete the OAuth flow
- Grant the necessary permissions for contacts and directory access
- Copy your Enterprise Token from Integration Settings
2. Install Required Package
3. Environment Variable Setup
To use integrations with
Agent(apps=[]), you must set the CREWAI_PLATFORM_INTEGRATION_TOKEN environment variable with your Enterprise Token..env file:
Available Actions
google_contacts/get_contacts
google_contacts/get_contacts
Description: Retrieve user’s contacts from Google Contacts.Parameters:
pageSize(integer, optional): Number of contacts to return (max 1000). Minimum: 1, Maximum: 1000pageToken(string, optional): The token of the page to retrieve.personFields(string, optional): Fields to include (e.g., ‘names,emailAddresses,phoneNumbers’). Default: names,emailAddresses,phoneNumbersrequestSyncToken(boolean, optional): Whether the response should include a sync token. Default: falsesortOrder(string, optional): The order in which the connections should be sorted. Options: LAST_MODIFIED_ASCENDING, LAST_MODIFIED_DESCENDING, FIRST_NAME_ASCENDING, LAST_NAME_ASCENDING
google_contacts/search_contacts
google_contacts/search_contacts
Description: Search for contacts using a query string.Parameters:
query(string, required): Search query stringreadMask(string, required): Fields to read (e.g., ‘names,emailAddresses,phoneNumbers’)pageSize(integer, optional): Number of results to return. Minimum: 1, Maximum: 30pageToken(string, optional): Token specifying which result page to return.sources(array, optional): The sources to search in. Options: READ_SOURCE_TYPE_CONTACT, READ_SOURCE_TYPE_PROFILE. Default: READ_SOURCE_TYPE_CONTACT
google_contacts/list_directory_people
google_contacts/list_directory_people
Description: List people in the authenticated user’s directory.Parameters:
sources(array, required): Directory sources to search within. Options: DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE, DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT. Default: DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILEpageSize(integer, optional): Number of people to return. Minimum: 1, Maximum: 1000pageToken(string, optional): Token specifying which result page to return.readMask(string, optional): Fields to read (e.g., ‘names,emailAddresses’)requestSyncToken(boolean, optional): Whether the response should include a sync token. Default: falsemergeSources(array, optional): Additional data to merge into the directory people responses. Options: CONTACT
google_contacts/search_directory_people
google_contacts/search_directory_people
Description: Search for people in the directory.Parameters:
query(string, required): Search querysources(string, required): Directory sources (use ‘DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE’)pageSize(integer, optional): Number of results to returnreadMask(string, optional): Fields to read
google_contacts/list_other_contacts
google_contacts/list_other_contacts
Description: List other contacts (not in user’s personal contacts).Parameters:
pageSize(integer, optional): Number of contacts to return. Minimum: 1, Maximum: 1000pageToken(string, optional): Token specifying which result page to return.readMask(string, optional): Fields to readrequestSyncToken(boolean, optional): Whether the response should include a sync token. Default: false
google_contacts/search_other_contacts
google_contacts/search_other_contacts
Description: Search other contacts.Parameters:
query(string, required): Search queryreadMask(string, required): Fields to read (e.g., ‘names,emailAddresses’)pageSize(integer, optional): Number of results
google_contacts/get_person
google_contacts/get_person
Description: Get a single person’s contact information by resource name.Parameters:
resourceName(string, required): The resource name of the person to get (e.g., ‘people/c123456789’)personFields(string, optional): Fields to include (e.g., ‘names,emailAddresses,phoneNumbers’). Default: names,emailAddresses,phoneNumbers
google_contacts/create_contact
google_contacts/create_contact
Description: Create a new contact in the user’s address book.Parameters:
names(array, optional): Person’s namesemailAddresses(array, optional): Email addressesphoneNumbers(array, optional): Phone numbersaddresses(array, optional): Postal addressesorganizations(array, optional): Organizations/companies
google_contacts/update_contact
google_contacts/update_contact
Description: Update an existing contact’s information.Parameters:
resourceName(string, required): The resource name of the person to update (e.g., ‘people/c123456789’)updatePersonFields(string, required): Fields to update (e.g., ‘names,emailAddresses,phoneNumbers’)names(array, optional): Person’s namesemailAddresses(array, optional): Email addressesphoneNumbers(array, optional): Phone numbers
google_contacts/delete_contact
google_contacts/delete_contact
Description: Delete a contact from the user’s address book.Parameters:
resourceName(string, required): The resource name of the person to delete (e.g., ‘people/c123456789’)
google_contacts/batch_get_people
google_contacts/batch_get_people
Description: Get information about multiple people in a single request.Parameters:
resourceNames(array, required): Resource names of people to get. Maximum: 200 itemspersonFields(string, optional): Fields to include (e.g., ‘names,emailAddresses,phoneNumbers’). Default: names,emailAddresses,phoneNumbers
google_contacts/list_contact_groups
google_contacts/list_contact_groups
Description: List the user’s contact groups (labels).Parameters:
pageSize(integer, optional): Number of contact groups to return. Minimum: 1, Maximum: 1000pageToken(string, optional): Token specifying which result page to return.groupFields(string, optional): Fields to include (e.g., ‘name,memberCount,clientData’). Default: name,memberCount
Usage Examples
Basic Google Contacts Agent Setup
Directory Search and Management
Contact Creation and Updates
Contact Group Management
Comprehensive Contact Management
Troubleshooting
Common Issues
Permission Errors- Ensure your Google account has appropriate permissions for contacts access
- Verify that the OAuth connection includes required scopes for Google Contacts API
- Check that directory access permissions are granted for organization contacts
- Ensure resource names follow the correct format (e.g., ‘people/c123456789’ for contacts)
- Verify that contact group resource names use the format ‘contactGroups/groupId’
- Check that resource names exist and are accessible
- Ensure search queries are properly formatted and not empty
- Use appropriate readMask fields for the data you need
- Verify that search sources are correctly specified (contacts vs profiles)
- Ensure required fields are provided when creating contacts
- Verify that email addresses and phone numbers are properly formatted
- Check that updatePersonFields parameter includes all fields being updated
- Ensure you have appropriate permissions to access organization directory
- Verify that directory sources are correctly specified
- Check that your organization allows API access to directory information
- Be mindful of page size limits (varies by endpoint)
- Use pageToken for pagination through large result sets
- Respect API rate limits and implement appropriate delays
- Ensure contact group names are unique when creating new groups
- Verify that contacts exist before adding them to groups
- Check that you have permissions to modify contact groups
Getting Help
Need Help?
Contact our support team for assistance with Google Contacts integration setup or troubleshooting.
