Admin Configuration
All AI Agents settings are at Admin → AI Agents.
Provider & Model
Choosing a provider
| Provider | Notes |
|---|---|
| OpenAI | GPT-4o, GPT-4o-mini, o1, o3. Most widely tested. |
| Anthropic | Claude Opus, Sonnet, Haiku. Strong at long-form and reasoning. |
| Gemini | Google's models. Good for multimodal tasks. |
| Groq | Fast inference on open models (Llama, Mixtral). Low cost. |
| Mistral | European provider. GDPR-friendly option. |
| Ollama | Local models, no API key needed. Development and self-hosted deployments only. |
API key
Enter the API key for the selected provider. Keys are encrypted before being stored in the database — they are never visible in plain text after saving.
To update a key, enter the new value and save. To leave an existing key unchanged, leave the field blank.
Model
Type or select the model ID. After entering an API key and saving, click Load Models to fetch available models directly from the provider. Anthropic's list is pre-populated (they have no public model listing endpoint).
Fallback provider / model
Optional. If set, the system falls back to this provider when the primary provider fails. Useful for high-availability setups.
Note: Fallback execution is planned for v2. This field is saved but not yet acted upon.
Limits
Max concurrent jobs per user
How many agent runs a single user can have pending or running simultaneously. Default: 3.
Increase this for platforms where users run heavy batch workloads. Decrease it to protect queue capacity on shared hosting.
Keep run logs (days)
Completed, failed, and cancelled runs older than this are deleted by a daily cleanup job. Default: 90 days.
Set to 0 to keep logs forever (not recommended for high-volume platforms — table will grow unbounded).
Notifications
Email users when a long-running agent finishes
When enabled, users receive an email as soon as their agent run reaches a terminal state (completed, failed, or timeout).
This is most useful for agents that take more than 30 seconds — users can close the browser tab and get notified when results are ready.
Emails are sent using your platform's configured mail driver (Admin → Settings → Email).
Cost Tracking
Enter the per-token USD prices from your provider's current pricing page. These are used to populate the estimated_cost_usd field on every completed run, visible in the admin runs log.
| Field | Description |
|---|---|
| Input token price | Price per input (prompt) token in USD |
| Output token price | Price per output (completion) token in USD |
Leave both at 0 to disable cost tracking (the field will remain blank in run records).
How to find your rates:
- OpenAI: platform.openai.com/docs/pricing
- Anthropic: anthropic.com/pricing
- Groq: groq.com/pricing
Example: OpenAI gpt-4o
- Input:
0.0000025($2.50 per 1M tokens) - Output:
0.0000100($10.00 per 1M tokens)
Prices change over time. Check your provider's pricing page periodically and update these fields when rates change.
Playground
The Playground tab lets you test agents without affecting user billing counts.
Connection Test
Sends a simple prompt to the configured provider and model synchronously (no queue needed). Use this to verify your API key and model are working before going live.
Agent Runner
Run any registered agent with custom inputs. Results are tagged admin_playground in the runs log and excluded from user monthly quotas.
Runs Log
Admin → AI Agents → Runs shows all agent executions across all users.
Filters available:
- Agent (by slug)
- Status (pending / running / completed / failed / timeout / cancelled)
- User ID
- Date range
- Source (user run / playground / connection test)
Click any run's View link to see full detail: inputs, outputs, token counts, cost, tool calls, and timestamps.
Queue Health
The dashboard overview warns you if:
- Runs have been pending for more than 5 minutes — the queue worker may not be running.
- Runs have been running for more than 6 minutes — the worker may have died mid-execution.
If you see these warnings:
- Check that
php artisan queue:work --queue=agentsis running. - Check your Supervisor or process manager configuration.
- Look at
storage/logs/laravel.logfor job errors.