Skip to main content

Integrations

ZenSearch agents can interact with external platforms through tool integrations. These give agents the ability to read, create, and modify content in third-party services during conversations.

info

Integrations are distinct from data connectors. Data connectors ingest content into the search index for retrieval. Integrations let agents take real-time actions in external services. Some platforms (like Notion) support both.

Browser Extension

The browser extension is a user-facing delivery surface rather than an agent tool integration, but it is configured from the same Settings > Integrations area in the web app.

  • Download the current release build from GitHub Releases
  • Install it in Chrome with Load unpacked
  • Configure it with a publishable ZenSearch API key
  • Optionally enable page-context prompts for the current tab

See Browser Extension for the full installation flow.

Google Workspace

18 agent tools for interacting with Google services. Authenticate via OAuth 2.0 or a Google service account.

Gmail

ToolDescription
create_gmail_draftCreate a draft email
send_gmail_draftSend a previously created draft
list_gmail_messagesList and search emails
get_gmail_messageRead a specific email

Google Calendar

ToolDescription
list_calendar_eventsList upcoming events
get_calendar_eventGet event details
create_calendar_eventCreate a new calendar event
update_calendar_eventModify an existing event
delete_calendar_eventRemove a calendar event

Google Drive

ToolDescription
search_google_driveSearch for files and folders
get_drive_fileGet file metadata and content
upload_to_driveUpload a file

Google Docs

ToolDescription
get_google_docRead document content
create_google_docCreate a new document
update_google_docAppend or modify document content

Google Sheets

ToolDescription
get_google_sheetRead spreadsheet data
create_google_sheetCreate a new spreadsheet
update_google_sheetWrite data to cells

Setup (Self-Hosted)

Google Workspace integrations support OAuth 2.0 (user authorizes during setup) and Service Account (domain-wide delegation). For OAuth 2.0:

1. Create a Google Cloud Project

  1. Go to Google Cloud Console
  2. Create a new project (e.g., "ZenSearch")

2. Enable APIs

In APIs & Services > Library, enable:

  • Google Drive API
  • Google Sheets API
  • Google Docs API
  • Gmail API
  • Google Calendar API
  1. Go to APIs & Services > OAuth consent screen
  2. Select External user type
  3. Fill in app name, support email, privacy policy URL
  4. Add scopes: drive.readonly, drive.file, spreadsheets, documents, gmail.send, gmail.readonly, gmail.compose, calendar.events, userinfo.email, userinfo.profile, openid
  5. Add test users (required while in Testing mode)

4. Create OAuth Credentials

  1. Go to APIs & Services > Credentials > Create Credentials > OAuth client ID
  2. Application type: Web application
  3. Authorized redirect URI: https://YOUR_API_DOMAIN/api/v1/integrations/google-workspace/user/auth/callback
  4. Copy the Client ID and Client Secret

5. Set Environment Variables

GWS_OAUTH_CLIENT_ID=your-client-id
GWS_OAUTH_CLIENT_SECRET=your-client-secret
GWS_OAUTH_REDIRECT_URL=https://YOUR_API_DOMAIN/api/v1/integrations/google-workspace/user/auth/callback

Restart the core-api service after setting these values.

note

Gmail scopes are classified as restricted by Google and require verification (4-6 week review with CASA security assessment). While unverified, users will see a "Google hasn't verified this app" warning they can click through. Non-Gmail scopes (Drive, Sheets, Docs, Calendar) only require a lighter "sensitive" review.

Microsoft 365

33 agent tools for interacting with Microsoft services. Authenticate via OAuth 2.0 through Azure Active Directory.

OneDrive

ToolDescription
search_onedrive_filesSearch for files in OneDrive
get_onedrive_fileGet file content and metadata
upload_onedrive_fileUpload a file to OneDrive
create_onedrive_folderCreate a folder in OneDrive

Outlook Email

ToolDescription
list_outlook_emailsList recent emails
get_outlook_emailGet the full content of an email
create_outlook_draftCreate an email draft
send_outlook_draftSend a previously created draft
reply_to_emailReply to an email
forward_emailForward an email to recipients
get_email_attachmentDownload an email attachment

Outlook Calendar

ToolDescription
list_outlook_eventsList calendar events
get_outlook_eventGet event details
create_outlook_eventCreate a calendar event
update_outlook_eventUpdate an existing event
delete_outlook_eventDelete a calendar event

Teams Messages

ToolDescription
list_teams_messagesList messages from a Teams channel
send_teams_messageSend a message to a channel
reply_to_teams_messageReply to a thread in a channel
list_teams_chatsList the user's Teams chats
list_teams_chat_messagesList messages from a chat
send_teams_chat_messageSend a message in a chat

Teams Meetings

ToolDescription
list_teams_meetingsList Teams online meetings
get_meeting_transcriptGet a meeting transcript
get_meeting_attendanceGet meeting attendance report
list_meeting_chat_messagesList chat messages from a meeting

To Do

ToolDescription
list_todo_tasksList tasks from Microsoft To Do
create_todo_taskCreate a task
update_todo_taskUpdate a task

People & SharePoint

ToolDescription
search_peopleSearch the organization directory
list_sharepoint_listsList SharePoint lists for a site
get_sharepoint_list_itemsGet items from a SharePoint list
create_sharepoint_list_itemCreate a new item in a SharePoint list

Setup (Self-Hosted)

1. Create Azure App Registration

  1. Go to Azure Portal > Microsoft Entra ID > App registrations
  2. Click New registration
  3. Name: ZenSearch
  4. Supported account types: Accounts in any organizational directory (Multitenant)
  5. Redirect URI: Web > https://YOUR_API_DOMAIN/api/v1/integrations/microsoft365/user/auth/callback
  6. Click Register and copy the Application (client) ID

2. Add API Permissions

Go to API permissions > Add a permission > Microsoft Graph > Delegated permissions and add:

FeaturePermissions
Baselineopenid, profile, email, offline_access, User.Read
OneDriveFiles.ReadWrite.All
Outlook MailMail.Read, Mail.Send, Mail.ReadWrite
CalendarCalendars.ReadWrite
TeamsChat.ReadWrite, ChannelMessage.Send, Team.ReadBasic.All
MeetingsOnlineMeetings.ReadWrite
To DoTasks.ReadWrite
PeoplePeople.Read, User.ReadBasic.All
SharePointSites.ReadWrite.All

3. Create Client Secret

  1. Go to Certificates & secrets > Client secrets > New client secret
  2. Set expiry (max 24 months) and click Add
  3. Copy the secret Value immediately (shown only once)

4. Set Environment Variables

M365_OAUTH_CLIENT_ID=your-application-client-id
M365_OAUTH_CLIENT_SECRET=your-secret-value
M365_OAUTH_REDIRECT_URL=https://YOUR_API_DOMAIN/api/v1/integrations/microsoft365/user/auth/callback
M365_OAUTH_TENANT_ID=common
note

Some permissions (Sites.ReadWrite.All, ChannelMessage.Read.All) require admin consent from the customer's IT admin. Client secrets expire after max 24 months — set a rotation reminder. Consider publisher verification to remove the "unverified app" warning.

Zendesk

14 agent tools for managing support operations. Authenticate via OAuth 2.0.

Tickets

ToolDescription
search_zendesk_ticketsSearch for support tickets
get_zendesk_ticketGet ticket details
create_zendesk_ticketCreate a new ticket
update_zendesk_ticketUpdate an existing ticket
list_zendesk_ticket_commentsList comments on a ticket
add_zendesk_ticket_commentAdd a comment to a ticket
list_zendesk_ticket_fieldsList all ticket field definitions
get_zendesk_ticket_metricsGet performance metrics for a ticket

Help Center

ToolDescription
search_help_center_articlesSearch help center articles
get_help_center_articleRead an article

Users & Organizations

ToolDescription
search_zendesk_usersSearch for users
get_zendesk_userGet user details
list_zendesk_organizationsList organizations
get_zendesk_organizationGet organization details

Setup (Self-Hosted)

1. Create a Zendesk OAuth Client

  1. Sign in to Zendesk as an admin
  2. Go to Admin Center > Apps and integrations > APIs > OAuth Clients
  3. Click Add OAuth client
  4. Fill in:
    • Client name: ZenSearch
    • Kind: Confidential
    • Redirect URLs: https://YOUR_API_DOMAIN/api/v1/integrations/zendesk/auth/callback
  5. Click Save
  6. Copy the Unique Identifier (Client ID) and Client Secret immediately — the secret is only shown once

2. Set Environment Variables

ZENDESK_OAUTH_CLIENT_ID=your-unique-identifier
ZENDESK_OAUTH_CLIENT_SECRET=your-secret
ZENDESK_OAUTH_REDIRECT_URL=https://YOUR_API_DOMAIN/api/v1/integrations/zendesk/auth/callback

Users will enter their Zendesk subdomain (e.g., your-company) during the connection flow in ZenSearch.

Airtable

8 agent tools for working with Airtable bases and records. Authenticate via API key.

ToolDescription
list_airtable_basesList all accessible bases
get_airtable_base_schemaGet the schema of a base
list_airtable_recordsList records from a table
get_airtable_recordGet a single record by ID
create_airtable_recordCreate a new record
update_airtable_recordUpdate an existing record
delete_airtable_recordDelete a record
add_airtable_commentAdd a comment to a record

Notion (Agent Tools)

12 agent tools for working with Notion pages and databases. Authenticate via API key (internal integration token).

info

This is the Notion agent tool integration for creating and editing content. For indexing Notion content into the search index, see the Notion data connector.

ToolDescription
search_notionSearch pages and databases
get_notion_pageRead a page and its content
create_notion_pageCreate a new page
update_notion_pageUpdate page properties
append_notion_blocksAppend content blocks to a page
get_notion_databaseGet database schema
query_notion_databaseQuery a database with filters and sorting
create_notion_database_entryAdd an entry to a database
update_notion_database_entryUpdate a database entry
add_notion_commentAdd a comment to a page
list_notion_commentsList comments on a page
list_notion_usersList workspace users

Custom Webhook Tools

Organizations can create custom tools by specifying a webhook endpoint that the agent calls during execution. This lets you extend agent capabilities with your own APIs and internal services.

Creating a Custom Tool

  1. Navigate to Settings > Integrations > Custom Tools
  2. Click Create Tool
  3. Configure the tool:
FieldDescriptionRequired
NameTool name (used by the agent)Yes
DescriptionWhat the tool does (helps the agent decide when to use it)Yes
URLWebhook endpoint to callYes
MethodHTTP method (GET, POST, PUT, DELETE)Yes
ParametersJSON schema defining tool inputsNo
Auth MethodHow to authenticate requestsNo

Authentication Options

MethodDescription
NoneNo authentication
API KeySend an API key in a header
Basic AuthUsername and password
Custom HeadersArbitrary headers (e.g., Bearer tokens)

How It Works

When an agent invokes a custom tool:

  1. The agent provides parameter values based on the JSON schema
  2. ZenSearch sends an HTTP request to the configured endpoint
  3. The response body is returned to the agent as the tool result
  4. The agent incorporates the result into its reasoning

Example: Internal Ticketing System

Name: create_internal_ticket
Description: Create a ticket in our internal issue tracker
URL: https://internal-api.example.com/tickets
Method: POST
Auth: API Key (X-API-Key header)
Parameters:
- title (string, required): Ticket title
- description (string, required): Ticket description
- priority (string, optional): low, medium, high

MCP Server Support

ZenSearch integrates with external tool servers following the Model Context Protocol (MCP) standard. MCP servers expose tools, resources, and prompts through a standardized interface, allowing you to connect any MCP-compatible tool provider to your agents.

What Is MCP?

The Model Context Protocol is an open standard for connecting AI models to external tools and data sources. MCP servers expose capabilities that ZenSearch agents can discover and use automatically.

Connecting an MCP Server

  1. Navigate to Settings > Integrations > MCP Servers
  2. Click Add Server
  3. Provide the server URL and authentication details
  4. ZenSearch discovers available tools automatically
  5. Enable the tools you want agents to use

Supported Transports

  • HTTP + SSE: Server-sent events over HTTP
  • Stdio: Local process communication

Tool Discovery

Once connected, ZenSearch automatically discovers tools exposed by the MCP server. Each tool appears in the agent tool selection with:

  • Name and description (from the MCP server)
  • Input schema (parameters the tool accepts)
  • Server origin (which MCP server provides it)

Managing Integrations

Enabling Tools per Agent

Each agent can be configured with a specific set of integration tools:

  1. Edit the agent configuration
  2. In the Tools section, browse available integration tools
  3. Enable or disable individual tools
  4. Save the agent

Credential Management

Integration credentials are stored securely and encrypted at rest. Credentials are managed at the team level:

  • OAuth tokens are refreshed automatically
  • API keys can be rotated without reconfiguring agents
  • Credentials are never exposed in agent responses or logs

Rate Limiting

External API calls made by agents respect the rate limits of the target platform. ZenSearch tracks usage and throttles requests to avoid exceeding provider limits.

Next Steps