import { useQuery } from "@tanstack/react-query"; import { useNavigate } from "@/lib/router"; import { useDialog } from "../context/DialogContext"; import { useCompany } from "../context/CompanyContext"; import { agentsApi } from "../api/agents"; import { queryKeys } from "../lib/queryKeys"; import { Dialog, DialogContent, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Bot, Sparkles } from "lucide-react"; export function NewAgentDialog() { const { newAgentOpen, closeNewAgent, openNewIssue } = useDialog(); const { selectedCompanyId } = useCompany(); const navigate = useNavigate(); const { data: agents } = useQuery({ queryKey: queryKeys.agents.list(selectedCompanyId!), queryFn: () => agentsApi.list(selectedCompanyId!), enabled: !!selectedCompanyId && newAgentOpen, }); const ceoAgent = (agents ?? []).find((a) => a.role === "ceo"); function handleAskCeo() { closeNewAgent(); openNewIssue({ assigneeAgentId: ceoAgent?.id, title: "Create a new agent", description: "(type in what kind of agent you want here)", }); } function handleAdvancedConfig() { closeNewAgent(); navigate("/agents/new"); } return ( { if (!open) closeNewAgent(); }} > {/* Header */}
Add a new agent
{/* Recommendation */}

We recommend letting your CEO handle agent setup — they know the org structure and can configure reporting, permissions, and adapters.

{/* Advanced link */}
); }