name: agentspace
description: Google Agentspace patterns for enterprise AI search and agents. Use when building unified search across 100+ enterprise connectors (SharePoint, Confluence, Jira, Salesforce, ServiceNow), identity-aware access, or custom Agentspace agents.
tags: [gcp, agentspace, enterprise-search, connectors]
Google Agentspace
Build enterprise AI search and agent experiences across 100+ third-party data sources using Google Agentspace.
When to Use
- Building unified enterprise search across SharePoint, Confluence, Jira, Salesforce, ServiceNow, and more
- Creating custom AI agents within Agentspace for specific business domains (HR, IT, Finance)
- Implementing identity-aware search that respects source system ACLs
- Deploying NotebookLM Enterprise for document analysis at scale
Pre-Built Enterprise Connectors (100+)
| Category |
Connectors |
| Microsoft |
SharePoint Online, OneDrive, Outlook/Exchange, Teams, Dynamics 365 |
| Atlassian |
Confluence, Jira |
| CRM |
Salesforce (Knowledge, Cases, custom objects) |
| ITSM |
ServiceNow (Incidents, Changes, Knowledge) |
| Google |
Workspace (Drive, Gmail, Calendar, Sites, Groups) |
| Dev Tools |
GitHub, GitLab |
| Storage |
Box, Dropbox, Cloud Storage, Amazon S3, Azure Blob |
| Databases |
BigQuery, Cloud SQL, AlloyDB, Spanner |
| Collaboration |
Slack, Notion |
| Custom |
REST API connector, JDBC connector, web crawlers |
Patterns
1. Create Data Store with Connector
from google.cloud import discoveryengine_v1 as discoveryengine
def create_confluence_data_store(
project_id: str, location: str, data_store_id: str,
confluence_url: str, space_keys: list[str],
):
"""Create a data store connected to Confluence."""
client = discoveryengine.DataStoreServiceClient()
data_store = discoveryengine.DataStore(
display_name="Confluence Knowledge Base",
industry_vertical=discoveryengine.IndustryVertical.GENERIC,
solution_types=[discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH],
content_config=discoveryengine.DataStore.ContentConfig.CONTENT_REQUIRED,
)
operation = client.create_data_store(
parent=f"projects/{project_id}/locations/{location}/collections/default_collection",
data_store=data_store,
data_store_id=data_store_id,
)
return operation.result()
2. Search Across Enterprise Sources
from google.cloud import discoveryengine_v1 as discoveryengine
def search_enterprise(project_id: str, location: str, engine_id: str, query: str) -> list[dict]:
"""Search across all connected enterprise sources."""
client = discoveryengine.SearchServiceClient()
request = discoveryengine.SearchRequest(
serving_config=f"projects/{project_id}/locations/{location}/collections/default_collection/engines/{engine_id}/servingConfigs/default_search",
query=query,
page_size=10,
content_search_spec=discoveryengine.SearchRequest.ContentSearchSpec(
snippet_spec=discoveryengine.SearchRequest.ContentSearchSpec.SnippetSpec(
return_snippet=True,
),
summary_spec=discoveryengine.SearchRequest.ContentSearchSpec.SummarySpec(
summary_result_count=5,
include_citations=True,
model_spec=discoveryengine.SearchRequest.ContentSearchSpec.SummarySpec.ModelSpec(
version="gemini-1.5-flash-002/answer_gen/v2",
),
),
),
)
response = client.search(request)
results = []
for result in response.results:
doc = result.document
results.append({
"title": doc.derived_struct_data.get("title", ""),
"snippet": doc.derived_struct_data.get("snippets", [{}])[0].get("snippet", ""),
"link": doc.derived_struct_data.get("link", ""),
"source": doc.derived_struct_data.get("source_type", ""),
})
return results
3. Custom Agentspace Agent
Agentspace allows creating domain-specific agents that combine search + actions:
IT Help Desk Agent:
Data Sources: ServiceNow KB, Confluence IT docs, Jira known issues
Actions: Create ServiceNow ticket, Escalate to on-call
Identity: Uses Google Workspace SSO, respects ServiceNow ACLs
HR Benefits Agent:
Data Sources: SharePoint HR policies, Workday benefits docs
Actions: Open HR case, Schedule benefits consultation
Identity: Uses Google Workspace SSO, scoped to HR data only
4. Identity-Aware Access Control
Agentspace automatically respects source system permissions:
- Google Workspace: Uses Google Workspace ACLs (Drive sharing, Gmail access)
- SharePoint: Maps Azure AD groups to search results filtering
- Confluence: Respects Confluence space and page permissions
- Salesforce: Uses Salesforce profile and sharing rules
No additional configuration needed -- the connector framework handles ACL passthrough.
Key Capabilities
- NotebookLM Enterprise: Embedded document analysis with Audio Overviews
- Multimodal Search: Text, image, and document search across all connected sources
- Actions: Agents can create Jira tickets, update ServiceNow records, send Slack messages
- Grounding: All responses cite source documents with links
- Admin Console: Central management of connectors, agents, and access policies
Anti-Patterns
- Connecting all data sources without access review -- audit ACLs before enabling connectors
- Using Agentspace for real-time transactional data -- it's optimized for search, not OLTP
- Skipping connector sync schedule configuration -- stale data leads to poor answers
- Not configuring data exclusions -- exclude sensitive folders/spaces from indexing
References
1---2name: agentspace3description: <!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->4---5<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->6---7name: agentspace8description: Google Agentspace patterns for enterprise AI search and agents. Use when building unified search across 100+ enterprise connectors (SharePoint, Confluence, Jira, Salesforce, ServiceNow), identity-aware access, or custom Agentspace agents.9tags: [gcp, agentspace, enterprise-search, connectors]10---1112# Google Agentspace1314Build enterprise AI search and agent experiences across 100+ third-party data sources using Google Agentspace.1516## When to Use1718- Building unified enterprise search across SharePoint, Confluence, Jira, Salesforce, ServiceNow, and more19- Creating custom AI agents within Agentspace for specific business domains (HR, IT, Finance)20- Implementing identity-aware search that respects source system ACLs21- Deploying NotebookLM Enterprise for document analysis at scale2223## Pre-Built Enterprise Connectors (100+)2425| Category | Connectors |26|---|---|27| **Microsoft** | SharePoint Online, OneDrive, Outlook/Exchange, Teams, Dynamics 365 |28| **Atlassian** | Confluence, Jira |29| **CRM** | Salesforce (Knowledge, Cases, custom objects) |30| **ITSM** | ServiceNow (Incidents, Changes, Knowledge) |31| **Google** | Workspace (Drive, Gmail, Calendar, Sites, Groups) |32| **Dev Tools** | GitHub, GitLab |33| **Storage** | Box, Dropbox, Cloud Storage, Amazon S3, Azure Blob |34| **Databases** | BigQuery, Cloud SQL, AlloyDB, Spanner |35| **Collaboration** | Slack, Notion |36| **Custom** | REST API connector, JDBC connector, web crawlers |3738## Patterns3940### 1. Create Data Store with Connector4142```python43from google.cloud import discoveryengine_v1 as discoveryengine4445def create_confluence_data_store(46 project_id: str, location: str, data_store_id: str,47 confluence_url: str, space_keys: list[str],48):49 """Create a data store connected to Confluence."""50 client = discoveryengine.DataStoreServiceClient()5152 data_store = discoveryengine.DataStore(53 display_name="Confluence Knowledge Base",54 industry_vertical=discoveryengine.IndustryVertical.GENERIC,55 solution_types=[discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH],56 content_config=discoveryengine.DataStore.ContentConfig.CONTENT_REQUIRED,57 )5859 operation = client.create_data_store(60 parent=f"projects/{project_id}/locations/{location}/collections/default_collection",61 data_store=data_store,62 data_store_id=data_store_id,63 )64 return operation.result()65```6667### 2. Search Across Enterprise Sources6869```python70from google.cloud import discoveryengine_v1 as discoveryengine7172def search_enterprise(project_id: str, location: str, engine_id: str, query: str) -> list[dict]:73 """Search across all connected enterprise sources."""74 client = discoveryengine.SearchServiceClient()7576 request = discoveryengine.SearchRequest(77 serving_config=f"projects/{project_id}/locations/{location}/collections/default_collection/engines/{engine_id}/servingConfigs/default_search",78 query=query,79 page_size=10,80 content_search_spec=discoveryengine.SearchRequest.ContentSearchSpec(81 snippet_spec=discoveryengine.SearchRequest.ContentSearchSpec.SnippetSpec(82 return_snippet=True,83 ),84 summary_spec=discoveryengine.SearchRequest.ContentSearchSpec.SummarySpec(85 summary_result_count=5,86 include_citations=True,87 model_spec=discoveryengine.SearchRequest.ContentSearchSpec.SummarySpec.ModelSpec(88 version="gemini-1.5-flash-002/answer_gen/v2",89 ),90 ),91 ),92 )9394 response = client.search(request)95 results = []96 for result in response.results:97 doc = result.document98 results.append({99 "title": doc.derived_struct_data.get("title", ""),100 "snippet": doc.derived_struct_data.get("snippets", [{}])[0].get("snippet", ""),101 "link": doc.derived_struct_data.get("link", ""),102 "source": doc.derived_struct_data.get("source_type", ""),103 })104 return results105```106107### 3. Custom Agentspace Agent108109Agentspace allows creating domain-specific agents that combine search + actions:110111```112IT Help Desk Agent:113 Data Sources: ServiceNow KB, Confluence IT docs, Jira known issues114 Actions: Create ServiceNow ticket, Escalate to on-call115 Identity: Uses Google Workspace SSO, respects ServiceNow ACLs116117HR Benefits Agent:118 Data Sources: SharePoint HR policies, Workday benefits docs119 Actions: Open HR case, Schedule benefits consultation120 Identity: Uses Google Workspace SSO, scoped to HR data only121```122123### 4. Identity-Aware Access Control124125Agentspace automatically respects source system permissions:126127- **Google Workspace**: Uses Google Workspace ACLs (Drive sharing, Gmail access)128- **SharePoint**: Maps Azure AD groups to search results filtering129- **Confluence**: Respects Confluence space and page permissions130- **Salesforce**: Uses Salesforce profile and sharing rules131132No additional configuration needed -- the connector framework handles ACL passthrough.133134## Key Capabilities135136- **NotebookLM Enterprise**: Embedded document analysis with Audio Overviews137- **Multimodal Search**: Text, image, and document search across all connected sources138- **Actions**: Agents can create Jira tickets, update ServiceNow records, send Slack messages139- **Grounding**: All responses cite source documents with links140- **Admin Console**: Central management of connectors, agents, and access policies141142## Anti-Patterns143144- Connecting all data sources without access review -- audit ACLs before enabling connectors145- Using Agentspace for real-time transactional data -- it's optimized for search, not OLTP146- Skipping connector sync schedule configuration -- stale data leads to poor answers147- Not configuring data exclusions -- exclude sensitive folders/spaces from indexing148149## References150151- [Google Agentspace](https://cloud.google.com/agentspace)152- [Agentspace Connectors](https://cloud.google.com/agentspace/docs/connect-data-sources)153- [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/introduction)154155<!-- Source: .faos/custom/skills/cloud/gcp/agentspace/SKILL.md -->