From ee8a85e7292d6a4e5a58c5420575ed6896d4a27a Mon Sep 17 00:00:00 2001 From: ViditOstwal Date: Thu, 10 Sep 2026 21:44:12 +0530 Subject: [PATCH] feat: expose platform application catalog --- .../tools/crewai_platform_tools/__init__.py | 3 +++ .../crewai_platform_tools/test_constants.py | 22 +++++++++++++++++++ .../crewai/agents/agent_builder/base_agent.py | 3 ++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 lib/crewai-tools/tests/tools/crewai_platform_tools/test_constants.py diff --git a/lib/crewai-tools/src/crewai_tools/tools/crewai_platform_tools/__init__.py b/lib/crewai-tools/src/crewai_tools/tools/crewai_platform_tools/__init__.py index 4eb9d7d43..d8e885920 100644 --- a/lib/crewai-tools/src/crewai_tools/tools/crewai_platform_tools/__init__.py +++ b/lib/crewai-tools/src/crewai_tools/tools/crewai_platform_tools/__init__.py @@ -4,6 +4,8 @@ This module provides tools for integrating with various platform applications through the CrewAI platform API. """ +from crewai.agents.agent_builder.base_agent import PLATFORM_APPS + from crewai_tools.tools.crewai_platform_tools.crewai_platform_action_tool import ( CrewAIPlatformActionTool, ) @@ -13,6 +15,7 @@ from crewai_tools.tools.crewai_platform_tools.crewai_platform_tools import ( __all__ = [ + "PLATFORM_APPS", "CrewAIPlatformActionTool", "CrewaiPlatformTools", ] diff --git a/lib/crewai-tools/tests/tools/crewai_platform_tools/test_constants.py b/lib/crewai-tools/tests/tools/crewai_platform_tools/test_constants.py new file mode 100644 index 000000000..3171aab01 --- /dev/null +++ b/lib/crewai-tools/tests/tools/crewai_platform_tools/test_constants.py @@ -0,0 +1,22 @@ +from crewai.agents.agent_builder.base_agent import PLATFORM_APPS + + +def test_platform_apps_contains_supported_application_catalog() -> None: + assert PLATFORM_APPS == ( + "asana", + "box", + "clickup", + "github", + "gmail", + "google_calendar", + "google_sheets", + "hubspot", + "jira", + "linear", + "notion", + "salesforce", + "shopify", + "slack", + "stripe", + "zendesk", + ) diff --git a/lib/crewai/src/crewai/agents/agent_builder/base_agent.py b/lib/crewai/src/crewai/agents/agent_builder/base_agent.py index 49fad6aac..e5bf0e8b2 100644 --- a/lib/crewai/src/crewai/agents/agent_builder/base_agent.py +++ b/lib/crewai/src/crewai/agents/agent_builder/base_agent.py @@ -6,7 +6,7 @@ from copy import copy as shallow_copy from hashlib import md5 from pathlib import Path import re -from typing import TYPE_CHECKING, Annotated, Any, Final, Literal +from typing import TYPE_CHECKING, Annotated, Any, Final, Literal, get_args import uuid from pydantic import ( @@ -199,6 +199,7 @@ PlatformApp = Literal[ "zendesk", ] +PLATFORM_APPS: Final[tuple[str, ...]] = get_args(PlatformApp) PlatformAppOrAction = PlatformApp | str