Skip to content

vendor_connectors.google.tools

AI framework tools for Google Cloud and Workspace operations.

This module provides tools for Google Cloud and Workspace operations that work with multiple AI agent frameworks. The core functions are framework-agnostic Python functions, with native wrappers for each supported framework.

Supported Frameworks:

  • LangChain (via langchain-core) - get_langchain_tools()
  • CrewAI - get_crewai_tools()
  • AWS Strands - get_strands_tools() (plain functions)
  • Auto-detection - get_tools() picks the best available

Tools provided:

  • google_list_projects: List GCP projects
  • google_list_folders: List GCP folders under a parent
  • google_list_enabled_services: List enabled services in a project
  • google_list_billing_accounts: List billing accounts
  • google_list_workspace_users: List Workspace users
  • google_list_workspace_groups: List Workspace groups

Usage: from vendor_connectors.google.tools import get_tools tools = get_tools() # Returns best format for installed framework

ListProjectsSchemaSchema for listing Google Cloud projects.
ListFoldersSchemaSchema for listing Google Cloud folders.
ListEnabledServicesSchemaSchema for listing enabled services in a project.
ListBillingAccountsSchemaSchema for listing Google Cloud billing accounts.
ListWorkspaceUsersSchemaSchema for listing Google Workspace users.
ListWorkspaceGroupsSchemaSchema for listing Google Workspace groups.
list_projectsList Google Cloud projects.
list_foldersList folders under a parent resource.
list_enabled_servicesList enabled services in a Google Cloud project.
list_billing_accountsList Google Cloud billing accounts.
list_workspace_usersList users from Google Workspace.
list_workspace_groupsList groups from Google Workspace.
get_langchain_toolsGet all Google tools as LangChain StructuredTools.
get_crewai_toolsGet all Google tools as CrewAI tools.
get_strands_toolsGet all Google tools as plain Python functions for AWS Strands.
get_toolsGet Google tools for the specified or auto-detected framework.
TOOL_DEFINITIONS

class vendor_connectors.google.tools.ListProjectsSchema

Section titled “class vendor_connectors.google.tools.ListProjectsSchema”

Bases: pydantic.BaseModel

Schema for listing Google Cloud projects.

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.tools.ListFoldersSchema

Section titled “class vendor_connectors.google.tools.ListFoldersSchema”

Bases: pydantic.BaseModel

Schema for listing Google Cloud folders.

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.tools.ListEnabledServicesSchema

Section titled “class vendor_connectors.google.tools.ListEnabledServicesSchema”

Bases: pydantic.BaseModel

Schema for listing enabled services in a project.

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.tools.ListBillingAccountsSchema

Section titled “class vendor_connectors.google.tools.ListBillingAccountsSchema”

Bases: pydantic.BaseModel

Schema for listing Google Cloud billing accounts.

‘Field(…)’

class vendor_connectors.google.tools.ListWorkspaceUsersSchema

Section titled “class vendor_connectors.google.tools.ListWorkspaceUsersSchema”

Bases: pydantic.BaseModel

Schema for listing Google Workspace users.

‘Field(…)’

‘Field(…)’

class vendor_connectors.google.tools.ListWorkspaceGroupsSchema

Section titled “class vendor_connectors.google.tools.ListWorkspaceGroupsSchema”

Bases: pydantic.BaseModel

Schema for listing Google Workspace groups.

‘Field(…)’

‘Field(…)’

List Google Cloud projects.

Args: parent: Parent resource (e.g., ‘organizations/123’ or ‘folders/456’). Leave empty to list all accessible projects. max_results: Maximum number of projects to return.

Returns: List of project info (project_id, name, state, parent).

List folders under a parent resource.

Args: parent: Parent resource (organizations/ORG_ID or folders/FOLDER_ID). max_results: Maximum number of folders to return.

Returns: List of folder info (name, display_name, state, parent).

List enabled services in a Google Cloud project.

Args: project_id: The GCP project ID to list services for. max_results: Maximum number of services to return.

Returns: List of service info (name, title, state).

List Google Cloud billing accounts.

Args: max_results: Maximum number of billing accounts to return.

Returns: List of billing account info (name, display_name, open, master_billing_account).

List users from Google Workspace.

Args: domain: Domain to list users from. Leave empty for default domain. max_results: Maximum number of users to return.

Returns: List of user info (email, name, full_name, suspended, org_unit_path).

List groups from Google Workspace.

Args: domain: Domain to list groups from. Leave empty for default domain. max_results: Maximum number of groups to return.

Returns: List of group info (email, name, description, direct_members_count).

vendor_connectors.google.tools.TOOL_DEFINITIONS

Section titled “vendor_connectors.google.tools.TOOL_DEFINITIONS”

None

Get all Google tools as LangChain StructuredTools.

Returns: List of LangChain StructuredTool objects.

Raises: ImportError: If langchain-core is not installed.

Get all Google tools as CrewAI tools.

Returns: List of CrewAI BaseTool objects.

Raises: ImportError: If crewai is not installed.

Get all Google tools as plain Python functions for AWS Strands.

Returns: List of callable functions.

Get Google tools for the specified or auto-detected framework.

Args: framework: Framework to use. Options:

  • “auto” (default): Auto-detect based on installed packages
  • “langchain”: Force LangChain StructuredTools
  • “crewai”: Force CrewAI tools
  • “strands”: Force plain functions for Strands
  • “functions”: Force plain functions (alias for strands)

Returns: List of tools in the appropriate format for the framework.

Raises: ImportError: If the requested framework is not installed. ValueError: If an unknown framework is specified.