Zendesk Tools

Answer support questions by searching Zendesk help center articles with ZendeskTools.

zendesk_tools.py
"""
Zendesk Tools
=============================

Demonstrates zendesk tools.
"""

from agno.agent import Agent
from agno.tools.zendesk import ZendeskTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------


agent = Agent(tools=[ZendeskTools()])

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response("How do I login?", markdown=True)

Set ZENDESK_COMPANY_NAME to your subdomain, such as example for example.zendesk.com. This wrapper uses HTTP Basic authentication. For an existing account that still permits API tokens, set ZENDESK_USERNAME="you@example.com/token" and put the API token in ZENDESK_PASSWORD.

Zendesk now directs integrations to OAuth authentication. This toolkit has no Bearer-token option; accounts requiring OAuth need a custom tool or an updated adapter. It returns article bodies with HTML tags removed, without titles, article URLs, or pagination. It does not search support tickets.

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai requests

Export environment variables

export OPENAI_API_KEY="your_openai_api_key_here"
export ZENDESK_COMPANY_NAME="your_zendesk_company_name_here"
export ZENDESK_PASSWORD="your_zendesk_password_here"
export ZENDESK_USERNAME="your_zendesk_username_here"

Run the example

Save the code above as zendesk_tools.py, then run:

python zendesk_tools.py

Full source: cookbook/91_tools/zendesk_tools.py