1. Authentication
1.1 Email login
Preconditions: User has an existing account.- Navigate to
/auth/login - Enter valid email in the Email field
- Enter valid password in the Password field
- Click the Login button
- Verify redirect to
/platformdashboard
- Enter incorrect password
- Verify error message “Invalid login credentials” is displayed
- Verify user remains on login page
1.2 Social auth login
Preconditions: User has linked social account.- Navigate to
/auth/login - Click Apple, Google, or Meta social auth button
- Verify OAuth redirect and successful authentication
- Cancel or deny the OAuth prompt
- Verify graceful return to login page
1.3 Email sign up
Preconditions: None.- Navigate to
/auth/sign-up - Enter email, password (8+ characters), and confirm password
- Submit the form
- Verify account creation and redirect
- Enter different values in Password and Confirm Password
- Verify error “Passwords do not match”
- Enter an email already registered
- Verify error “User already registered”
- Enter a password shorter than required
- Verify validation feedback
1.4 Password reset
Preconditions: User has an existing account.- Navigate to
/auth/login - Click “Forgot your password?” link
- Verify navigation to
/auth/forgot-password - Enter email and click Send reset email
- Verify confirmation message “Check Your Email”
1.5 Navigate to sign up from landing
Preconditions: None.- Navigate to
/ - Click Sign Up in the top navigation
- Verify navigation to
/auth/sign-up
2. Dashboard and chatbot management
2.1 Create a new chatbot
Preconditions: User is logged in.- Navigate to
/platform - Click + New chatbot button
- Verify modal appears with name field and character count (0/100)
- Enter chatbot name
- Click Continue to setup
- Verify redirect to onboarding wizard
2.2 Open a chatbot
Preconditions: At least one chatbot exists.- Navigate to
/platform - Click … menu on a chatbot card
- Click Open chatbot
- Verify navigation to
/platform/{chatbotId} - Verify KPI cards load (Conversations, Messages, Average Sentiment, Analyzed Today)
2.3 Filter chatbots by status
Preconditions: Chatbots exist in different statuses.- Click Active tab — verify only active chatbots shown
- Click Pending tab — verify only pending chatbots shown (or empty state)
- Click Archive tab — verify only archived chatbots shown (or empty state)
2.4 Switch organization
Preconditions: User belongs to multiple organizations.- Click the organization switcher in the sidebar
- Select a different organization
- Verify dashboard updates to show that organization’s chatbots
3. Organization management
3.1 Invite a team member
Preconditions: User is org owner or admin.- Navigate to
/platform/members - Click + Invite member
- Verify modal with Email field and Role dropdown (Admin/Member)
- Enter email and select role
- Click Invite
- Verify invitation is sent
3.2 Rename organization
Preconditions: User is org owner.- Navigate to
/platform/settings - Change the organization name field
- Click Save
- Verify name updates in sidebar
3.3 Delete organization
Preconditions: User is org owner.- Navigate to
/platform/settings - Scroll to Danger zone
- Type organization name to confirm
- Click Delete
- Verify organization and all data are removed
4. Chatbot analytics
4.1 Change analysis time period
Preconditions: Chatbot has conversation data.- Navigate to
/platform/{chatbotId} - Click date range selector
- Select a different range (e.g., Last week)
- Verify KPI cards and charts update with new data
4.2 View user insights tab
Preconditions: Chatbot has analyzed conversations.- Verify sections load: sentiment trends, top frustrations, dissatisfied users, support topics, revenue signals, top intents, sentiment by segment, activity heatmap, languages
4.3 View assistant performance tab
- Click Assistant Performance tab
- Verify sections: behavior alerts, resolution outcomes donut chart, quality flags, capability gaps
4.4 Investigate a dissatisfied user
Preconditions: Dissatisfied users exist in data.- Find Most dissatisfied users section on User Insights tab
- Click Investigate link on a user
- Verify navigation to filtered conversation list
5. Conversations
5.1 View conversation detail
Preconditions: Conversations exist.- Navigate to
/platform/{chatbotId}/conversations - Click on a conversation row
- Verify navigation to
/platform/{chatbotId}/conversations/{conversationId} - Verify message thread with analysis annotations (sentiment, behavior flags, quality flags, resolution status)
- Verify right sidebar: overall sentiment, conversation metadata, user info, organization info, session info
5.2 Filter conversations
- Use search field to filter by keyword
- Click Filter button and apply filters
- Toggle column visibility using View button
- Sort by clicking column headers
- Change date range
- Paginate through results (10, 20, 50, 100 rows)
5.3 Review message-level analysis
- Open a conversation detail
- Click on analysis annotation tags (sentiment, behavior, quality)
- Verify detail panel shows score, reasoning, and message preview
5.4 Semantic deep search
Preconditions: Conversations exist.- Navigate to
/platform/{chatbotId}/deep-search - Enter a natural language query (e.g., “users asking about pricing”)
- Click Deep Search
- Verify semantically relevant results are returned
6. Workflows
6.1 Create workflow from template
- Navigate to
/platform/{chatbotId}/workflows - Click Templates tab
- Verify 6 templates visible with category filters
- Click on a template to create a workflow from it
6.2 Create workflow from scratch
- Click Workflows tab
- Click + Create workflow
- Enter workflow name
- Configure trigger conditions and actions
- Save and verify workflow appears in list
6.3 View workflow runs
- Click Runs tab
- Verify execution history table
- Filter by status: All, Pending, Triggered, Skipped, Success, Failed
7. Client management
7.1 Browse client organizations
- Navigate to
/platform/{chatbotId}/organizations - Verify table columns: Organization, Plan, Industry, MRR, Conversations, Users, Sentiment, Last Activity
- Search, sort, and toggle column visibility
7.2 Browse chatbot users
- Navigate to
/platform/{chatbotId}/users - Verify table columns: User, Email, Organization, Plan, MRR, Conversations, Sentiment, Last Activity
- Search, sort, and paginate
8. Analysis configuration
8.1 Configure user analysis flags
- Navigate to
/platform/{chatbotId}/analysis-config - Click User Analysis tab
- Toggle sentiment scoring on/off
- Enable/disable flags (Churn Risk, Frustrated User, Buying Signal, Competitor Mention, Urgent Request, Confused User)
- Create a custom flag with + Add custom
- Verify changes persist
8.2 Enable auto-translation
- Click Translation tab
- Toggle Auto-translate messages on
- Select a primary language
- Verify setting saves
8.3 Edit analysis prompts
- Click Prompts tab
- Verify Default label on unmodified prompts
- Edit the Sentiment prompt
- Save changes
8.4 Track metadata fields
- Click Metadata tab
- Verify discovered fields (browser, device, IP, language, OS, referer, userAgent)
- Click Track on a discovered field
- Verify field moves to managed fields
8.5 Configure assistant analysis
- Click Assistant Analysis tab
- Toggle behavior flags (Helpful, Yes-Man, Dodging, Over-Apologizing, Hallucinating, Redirecting, Verbose, Robotic, Other)
- Add a custom behavior with + Add custom
- Verify changes persist
9. Chatbot settings
9.1 View and rotate API keys
- Navigate to
/platform/{chatbotId}/settings - Click API Keys tab
- Verify masked API key is displayed
- Click copy button and verify key is copied
- Click Rotate key — verify new key is issued
9.2 Configure webhooks
- Click Webhooks tab
- Click Add webhook
- Configure destination (Discord, Slack, or custom)
- Save and verify webhook appears
9.3 Export conversation data
- Click Import/Export Data tab
- Select JSON format
- Toggle Include analysis results
- Click Export and verify download starts
9.4 Import conversation data
- Click Download template CSV
- Click Choose File and select a prepared file
- Click Import and verify processing starts
9.5 Manage chatbot members
- Click Members tab
- Click + Add member
- Verify member is added to chatbot-level access
10. Landing page
10.1 Explore feature demos
- Navigate to
/ - Click Missed Upsell, Feature Gap Risk, and Bot Hallucination buttons
- Verify demo content changes between scenarios
10.2 Code example tabs
- Toggle between Vercel AI SDK, TypeScript, Python, and REST API tabs
- Verify each tab shows the correct code snippet
10.3 Pricing and FAQs
- Scroll to pricing section
- Verify Free through Enterprise tiers are visible
- Click FAQ accordions and verify they expand/collapse
Known issues
Issues discovered during automated testing:| Issue | Details |
|---|---|
| Placeholder navigation links | ”Start Free” and most “Get Started” buttons on the landing page link to #link instead of a destination. Only the nav Sign Up button and the Free tier Get Started button navigate correctly. |
| User filter not applied | Clicking Investigate on a dissatisfied user navigates to /conversations?user=email but the table shows all conversations instead of filtering to that user. |
| Social auth on localhost | Social auth buttons (Apple, Google, Meta) do not navigate when running locally without OAuth provider configuration. |
| Password validation discrepancy | The sign-up form UI states “at least 8 characters” but the backend may accept passwords as short as 6 characters. Always use 8+ characters as shown in the UI. |