showcase/integrations/langgraph-python/qa/chat-slots.md
/demos/chat-slots on the dashboard host/api/health or /api/copilotkit GET); OPENAI_API_KEY is set on Railway; LANGGRAPH_DEPLOYMENT_URL points at a LangGraph deployment exposing the neutral sample_agent graph (registered to the chat-slots agent name)data-testid attributes on every custom slot. Use them as the primary selectors. The underlying agent is the neutral "helpful, concise assistant" (no frontend tools, no agent tools) — this demo exercises frontend slot customization only./demos/chat-slots; verify the page renders a centered chat surface (max-width 4xl, full viewport height) within 3sdata-testid="custom-welcome-screen"), replacing the default welcomewelcomeScreen slot." (the word welcomeScreen is in monospace)input element and a suggestionView row beneath it (both passed in as props by CopilotChatView)welcomeScreen)from-indigo-500 to-purple-600) with white text and a shadow — visually distinct from the default CopilotChat welcomeuseConfigureSuggestions)suggestionView slot beneath the input with verbatim titles:
input.disclaimer) — visible after first messagedata-testid="custom-disclaimer") containing:
input.disclaimer." (the phrase input.disclaimer is in monospace)messageView.assistantMessage)data-testid="custom-assistant-message") with:
bg-indigo-50/60 in light mode)border-indigo-200)custom-assistant-message containerwelcomeScreen, input.disclaimer, messageView.assistantMessage) replace their defaults and are visually distinguishable via their "slot" badges / gradient styling