Prerequisites
Before starting, ensure you have:- A SambaCloud account and API key
- A Composio account and API key
- A SerpAPI account. The example agent calls SerpAPI for web search through Composio, and
.env.examplein the repository includesSERPAPI_API_KEY. - A GitHub account. The example connects to GitHub through Composio on first run.
gitinstalled on your system- Python 3.10 to 3.13. The pinned
crewairelease does not support Python 3.9 or earlier, or Python 3.14 or later.
Installation and setup
Follow the steps below to clone the repository, set up your environment, and run the example:1
Clone the repository
2
Create a virtual environment
3
Install dependencies
requirements.txt pins every dependency, so the install is reproducible:crewai==0.130.0 pin is what sets the Python 3.10 to 3.13 range. crewai also supplies python-dotenv, which main.py imports to read your .env file.4
Set environment variables
Create a Or export directly in your terminal:Get your SambaNova API key from the SambaCloud portal, your Composio API key from the Composio dashboard, and your SerpAPI key from the SerpAPI dashboard.
.env file in the project directory:5
Verify your SambaNova connection
Before you involve Composio, confirm that your SambaNova key and model access work. Save the following as A working key and model print a one-word answer:If this step fails, the problem is your SambaNova key, base URL, or model ID, not Composio. See API keys and URLs and the SambaCloud models page.
check_sambanova.py in the project directory and run it. It uses the openai==1.91.0 client that requirements.txt already installed.check_sambanova.py
6
Run the example
main.py names the model with a provider prefix:sambanova/ prefix when you swap in another model ID from the SambaCloud models page. The prefix is what routes the request to SambaNova, and it is only used in this CrewAI form, not in the direct client call shown in the previous step.On the first run, the script prints a GitHub authorization URL and waits:This is the step that currently fails with
HTTP 410, because the pinned composio-crewai release requests Composio’s retired v1 API. See Troubleshooting.Troubleshooting
command not found: python
command not found: python
macOS does not provide a
python executable, only python3. Use python3 -m venv .venv to create the environment. After you activate it with source .venv/bin/activate, python works as expected inside the environment.ERROR: Could not find a version that satisfies the requirement crewai==0.130.0
ERROR: Could not find a version that satisfies the requirement crewai==0.130.0
Your Python version is outside the supported range.
pip reports this as a long list of “Ignored the following versions that require a different python version” before the final error. Run python --version inside the activated environment. If it is not 3.10 to 3.13, delete .venv, install a supported Python, and recreate the environment.composio.exceptions.ApiKeyError: Unexpected error: HTTP 410
composio.exceptions.ApiKeyError: Unexpected error: HTTP 410
The pinned
composio-crewai release calls Composio’s v1 API, which has been retired. The endpoint returns This endpoint is no longer available. Please upgrade to v3 APIs. for every request, valid API key or not. The example cannot complete until the integrations repository upgrades to a Composio SDK that targets v3.composio.exceptions.ApiKeyNotProvidedError
composio.exceptions.ApiKeyNotProvidedError
COMPOSIO_API_KEY is not set. The script reads it when it constructs the toolset, before it contacts SambaNova, so this is the first failure you hit if you skip the environment step. The traceback is long; the actionable message is the last line.Additional resources
- SambaCloud models - model IDs you can use with this integration
- API keys and URLs - generate a key and find your base URL
- CrewAI integration guide - build CrewAI agents on SambaNova without Composio
- Composio documentation
- SambaNova integrations repository

