Installation - fctr-id/okta-ai-agent GitHub Wiki
Complete setup instructions for cloning and running Tako from source
Version: 2.0-beta
âšī¸ Note: This guide is for users who want to clone and run Tako from source. For the easiest setup experience, we recommend using our Docker installation instead.
Before you begin installation, ensure you have the following:
- đ Python 3.12+ - Tako requires Python 3.12 or newer
- đ§ Git Client - Required for cloning the repository
- đĻ Node.js 18+ - Required for building the frontend interface
- đĸ Okta tenant with admin access - You'll need superadmin privileges to generate an API token
- đ¤ Access to an AI provider - You'll need at least one of the following:
- Google Vertex AI
- OpenAI
- Azure OpenAI
- Anthropic Claude
- AWS Bedrock
- Local Ollama
- OpenAI-compatible providers (Fireworks AI, OpenRouter, etc.)
If you prefer to run Tako directly from source code:
git clone https://github.com/fctr-id/okta-ai-agent
cd okta-ai-agentWindows (PowerShell)
# Create virtual environment
python -m venv venv
# Activate virtual environment
.\venv\Scripts\Activate.ps1
# Install requirements
pip install -r requirements.txtLinux/macOS
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate
# Install requirements
pip install -r requirements.txtcp .env.sample .envEdit the .env file with your settings:
# đ Okta Configuration
OKTA_CLIENT_ORGURL=https://your-dev-instance.okta.com
OKTA_API_TOKEN=your-okta-api-token
# đ§ AI Settings
AI_PROVIDER=vertex_ai
USE_PRE_REASONING=True
# đ Vertex AI Configuration (example)
VERTEX_AI_SERVICE_ACCOUNT_FILE=path/to/service-account.json
VERTEX_AI_REASONING_MODEL=gemini-1.5-pro
VERTEX_AI_CODING_MODEL=gemini-1.5-pro
# đ§ API Rate Limiting (adjust based on your Okta tenant)
OKTA_CONCURRENT_LIMIT=45cd src/frontend
npm install
npm run build
cd ../..After installation and configuration, you can run Tako in different ways:
The web interface provides Tako's unified multi-agent experience through your browser.
# Navigate to the scripts directory
cd scripts
# Start the web server
python start_server.pyđ Access the web interface at: https://localhost:8001
The web interface allows you to:
- đŦ Submit queries through an intuitive chat interface
- đ View results in formatted tables with intelligent data source indicators
- đ¤ Export data to various formats
- đ Experience real-time API querying and database hybrid mode
- đ¯ See Tako's multi-agent orchestration in action
â ī¸ Note: CLI mode provides basic functionality but doesn't include the advanced multi-agent orchestration available in the web interface.
# First, sync your Okta data (optional - Tako can work in API-only mode)
cd scripts
python fetch_data.py
# Then start the CLI agent
python Okta_Realtime_Agent.pyYou'll see a prompt where you can type natural language queries about your Okta environment.
đŗ Recommended: For the easiest setup experience, use our Docker installation from the main README.md
If you prefer to run Tako in Docker:
mkdir -p okta-ai-agent/data okta-ai-agent/logs okta-ai-agent/certs
cd okta-ai-agent# Download the sample env file
curl -o .env.sample https://raw.githubusercontent.com/fctr-id/okta-ai-agent/main/.env.sample
# Create your own .env file
cp .env.sample .envEdit the .env file with your settings.
docker run -d \
--name tako-ai-agent \
-p 8001:8001 \
-v $(pwd)/.env:/app/.env \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
-v $(pwd)/certs:/app/certs \
fctr/okta-ai-agent:latest- Web Interface: https://localhost:8001
-
View Logs:
docker logs -f tako-ai-agent -
Sync Data:
docker exec tako-ai-agent python scripts/fetch_data.py
- Ensure your Okta API token is valid and has sufficient permissions
- Check your internet connection
- Verify the Okta URL is correct and accessible
- Check the
OKTA_CONCURRENT_LIMITsetting if you see rate limit errors
- Verify your API keys are correct and not expired
- Check if you have sufficient quota/credits with your AI provider
- For Ollama, ensure the service is running and models are properly loaded
- Test your AI provider configuration with simple queries first
- Check for file permission issues with the SQLite database in
sqlite_db/ - Ensure you have sufficient disk space
- Try resetting the database if it becomes corrupted
- Ensure Node.js 18+ is installed
- Clear npm cache:
npm cache clean --force - Delete
node_modulesand runnpm installagain - Check for TypeScript compilation errors
Check the logs for detailed error information:
- Log files are stored in the
logs/directory - Default log level is INFO
- You can change log level in your
.envfile:LOG_LEVEL=DEBUG - Web server logs are shown in the terminal when running
python start_server.py
Try these example queries to get started with Tako's multi-agent system:
- đĨ "Who are my active users?"
- đ¯ "Show me users in the 'Sales' application"
- đ¤ "Find users without MFA"
- đ "Count users by department"
- đ "List deactivated users in the last 30 days"
- đą "List everyone with PUSH authentication"
- đ "Show expired API tokens"
- đ "Find users with access to Salesforce and Workday"
â ī¸ "Show users with privileged access"
- đ "Create a report of application usage by department"
- đ "Show me group membership overlaps"
- đ "List users who haven't logged in for 90 days"
- đ¯ "Find applications with no active users"
đĄ Want to contribute your own examples? Visit our Community Query Repository.
đ You're All Set! Tako is now ready to help you manage your Okta environment with advanced AI capabilities. Start with simple queries and gradually explore more complex scenarios as you become familiar with Tako's multi-agent orchestration.
đ Š 2025 Fctr. All rights reserved. Made with â¤ī¸ for the Okta community.
Not affiliated with Okta, Inc.