.ipynb
.pdf
Gmail Toolkit
 Contents 
Create the Toolkit
Customizing Authentication
Use within an Agent
Gmail Toolkit#
This notebook walks through connecting a LangChain email to the Gmail API.
To use this toolkit, you will need to set up your credentials explained in the Gmail API docs. Once you’ve downloaded the credentials.json file, you can start using the Gmail API. Once this is done, we’ll install the required libraries.
!pip install --upgrade google-api-python-client > /dev/null
!pip install --upgrade google-auth-oauthlib > /dev/null
!pip install --upgrade google-auth-httplib2 > /dev/null
!pip install beautifulsoup4 > /dev/null # This is optional but is useful for parsing HTML messages
Create the Toolkit#
By default the toolkit reads the local credentials.json file. You can also manually provide a Credentials object.
from langchain.agents.agent_toolkits import GmailToolkit
toolkit = GmailToolkit() 
Customizing Authentication#
Behind the scenes, a googleapi resource is created using the following methods.
you can manually build a googleapi resource for more auth control.
from langchain.tools.gmail.utils import build_resource_service, get_gmail_credentials
# Can review scopes here https://developers.google.com/gmail/api/auth/scopes
# For instance, readonly scope is 'https://www.googleapis.com/auth/gmail.readonly'
credentials = get_gmail_credentials(
    token_file='token.json',
    scopes=["https://mail.google.com/"],
    client_secrets_file="credentials.json",
)
api_resource = build_resource_service(credentials=credentials)
toolkit = GmailToolkit(api_resource=api_resource)
tools = toolkit.get_tools()
tools
rtdocs_stable/api.python.langchain.com/en/stable/modules/agents/toolkits/examples/gmail.html