Skip to main content

Arcade Integration for OpenAI Agents

License PyPI

Arcade Documentation • Toolkits • Arcade Python Client • https://google.github.io/adk-docs/

agents-arcade

agents-arcade provides an integration between Arcade and the Google ADK Python. This allows you to enhance your AI agents with Arcade's extensive toolkit ecosystem, including tools that reqwuire authorization like Google Mail, Linkedin, X, and more.

Installation

pip install google-adk-arcade

Basic Usage

import asyncio

from arcadepy import AsyncArcade
from dotenv import load_dotenv
from google.adk import Agent, Runner
from google.adk.artifacts import InMemoryArtifactService
from google.adk.sessions import InMemorySessionService
from google.genai import types

from google_adk_arcade.tools import get_arcade_tools

load_dotenv(override=True)


async def main():
    app_name = 'my_app'
    user_id = 'mateo@arcade.dev'
    session_service = InMemorySessionService()
    artifact_service = InMemoryArtifactService()
    client = AsyncArcade()

    google_tools = await get_arcade_tools(client, tools=["Google.ListEmails"])

    # authorize the tools
    for tool in google_tools:
        result = await client.tools.authorize(
            tool_name=tool.name,
            user_id=user_id
        )
        if result.status != "completed":
            print(f"Click this link to authorize {tool.name}:\n{result.url}")
        await client.auth.wait_for_completion(result)

    google_agent = Agent(
        model="gemini-2.0-flash",
        name="google_tool_agent",
        instruction="I can use Google tools to manage an inbox!",
        description="An agent equipped with tools to read Gmail emails. "
                    "Make sure to call google_listemails to read and summarize"
                    " emails",
        tools=google_tools,
    )
    session = await session_service.create_session(
        app_name=app_name, user_id=user_id, state={
            "user_id": user_id,
        }
    )
    runner = Runner(
        app_name=app_name,
        agent=google_agent,
        artifact_service=artifact_service,
        session_service=session_service,
    )

    user_input = "summarize my latest 3 emails"
    content = types.Content(
        role='user', parts=[types.Part.from_text(text=user_input)]
    )
    for event in runner.run(
        user_id=user_id,
        session_id=session.id,
        new_message=content,
    ):
        if event.content.parts and event.content.parts[0].text:
            print(f'** {event.author}: {event.content.parts[0].text}')

if __name__ == '__main__':
    asyncio.run(main())

Key Features

  • Easy Integration: Simple API (one function) to connect Arcade tools with Google ADK
  • Extensive Toolkit Support: Access to all Arcade toolkits including Gmail, Google Drive, Search, and more
  • Asynchronous Support: Built with async/await for compatibility with Google ADK
  • Authentication Handling: Manages authorization for tools requiring user permissions like Google, LinkedIn, etc

Available Toolkits

Arcade provides many toolkits including:

  • Google: Gmail, Google Drive, Google Calendar
  • Search: Google search, Bing search
  • Web: Crawling, scraping, etc
  • Github: Repository operations
  • Slack: Sending messages to Slack
  • LinkedIn: Posting to LinkedIn
  • X: Posting and reading tweets on X
  • And many more

For a complete list, see the Arcade Toolkits documentation.

Authentication

Many Arcade tools require user authentication. The authentication flow is managed by Arcade and can be triggered by providing a user_id in the context when running your agent. Refer to the Arcade documentation for more details on managing tool authentication.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for google-adk-arcade 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for google-adk-arcade 0.0.2
File Size Uploaded
google_adk_arcade-0.0.2.tar.gz 90.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for google-adk-arcade 0.0.2
File Interpreter ABI Platform
google_adk_arcade-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 97.8 kB

Release files / google_adk_arcade-0.0.2.tar.gz

Download URL google_adk_arcade-0.0.2.tar.gz
Size 90.0 kB
Tags Source
SHA-256 checksum
How to use checksums
44404e2c6663857735802a50974fa042cc31f4da6e8c88391af6c7d197c95923
BLAKE2b-256 checksum
How to use checksums
1f584e2d42a9e96ec559a9930dd94a1a659bcfcace0eda5ceb6caa995d529cbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 3, 2025.

Transparency log

Release files / google_adk_arcade-0.0.2-py3-none-any.whl

Download URL google_adk_arcade-0.0.2-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e05d2b70ee70fdc772fad2cf69dab7d3d65a42fe5dd6a0ac0f55f66fcc1fd27
BLAKE2b-256 checksum
How to use checksums
246aa3a15b697d9d396c6b5df5c96f5353bb9e08c435492592a364d639046f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 3, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page