Gmail enables an Agent to interact with Gmail, allowing it to read, search, send, and manage emails.

Prerequisites

The Gmail toolkit requires Google API client libraries and proper authentication setup. Install the required dependencies:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
You’ll also need to set up Google Cloud credentials:
  1. Go to Google Cloud Console
  2. Create a project or select an existing one
  3. Enable the Gmail API
  4. Create OAuth 2.0 credentials
  5. Set up environment variables:
export GOOGLE_CLIENT_ID=your_client_id_here
export GOOGLE_CLIENT_SECRET=your_client_secret_here
export GOOGLE_PROJECT_ID=your_project_id_here
export GOOGLE_REDIRECT_URI=http://localhost  # Default value

Example

cookbook/tools/gmail_tools.py
from agno.agent import Agent
from agno.tools.gmail import GmailTools

agent = Agent(tools=[GmailTools()])
agent.print_response("Show me my latest 5 unread emails", markdown=True)

Toolkit Params

ParameterTypeDefaultDescription
credsCredentialsNonePre-fetched OAuth credentials
credentials_pathstrNonePath to credentials file
token_pathstrNonePath to token file
scopesList[str]NoneCustom OAuth scopes
portintNonePort to use for OAuth authentication

Toolkit Functions

FunctionDescription
get_latest_emailsGet the latest X emails from the user’s inbox
get_emails_from_userGet X number of emails from a specific sender
get_unread_emailsGet the latest X unread emails
get_starred_emailsGet X number of starred emails
get_emails_by_contextGet X number of emails matching a specific context
get_emails_by_dateGet emails within a specific date range
create_draft_emailCreate and save an email draft
send_emailSend an email immediately
search_emailsSearch emails using natural language queries
You can use include_tools or exclude_tools to modify the list of tools the agent has access to. Learn more about selecting tools.

Developer Resources