Shepherd.js First-Login Onboarding Implementation Plan

Scope

Single comprehensive tour triggered once on first login, with easy dismissal. ChatWidget handles all ongoing help.

User Journey

User logs in for first time
  → Welcome modal appears
    → [Skip Tour] → Set flag, go to /chat
    → [Start Tour] → Begin guided walkthrough
      → Step 1: Welcome to Automatos
      → Step 2: Navigation sidebar
      → Step 3: Create your first agent
      → Step 4: Connect to email (Composio)
      → Step 5: Test your agent
      → Step 6: ChatWidget for help
      → Complete → Set completion flag

Implementation Steps

1. Installation

2. File Structure

3. Core Tour Definition

File: frontend/lib/shepherd/first-login-tour.ts

4. Tour Storage Helper

File: frontend/lib/shepherd/tour-storage.ts

5. Welcome Modal Component

File: frontend/components/onboarding/welcome-modal.tsx

6. First Login Guard Component

File: frontend/components/onboarding/first-login-guard.tsx

7. Shepherd Theme

File: frontend/lib/shepherd/shepherd-theme.ts

File: frontend/styles/shepherd-custom.css

8. Add to Root Layout

File: frontend/app/layout.tsx

9. Add data-tour Attributes

Update these components to add tour targets:

Sidebar (frontend/components/layout/sidebar.tsx):

Agents Page (frontend/app/agents/page.tsx):

Create Agent Modal (frontend/components/agents/create-agent-modal.tsx):

Chat Widget (frontend/components/chatbot/chat-widget.tsx):

Testing & Rollout

Local Testing

  1. Clear localStorage

  2. Create new test user account

  3. Verify welcome modal appears

  4. Test both "Skip" and "Start Tour" paths

  5. Test ESC key dismissal during tour

  6. Verify tour only appears once

A/B Testing (Optional)

Settings Override

Add option for users to replay tour:

File: frontend/app/settings/page.tsx

Key Features

One-time only - Shows once on first login ✅ Easy skip - Dismiss button + ESC key ✅ Contextual - Guides through real agent creation ✅ Non-intrusive - ChatWidget takes over after ✅ Accessible - Keyboard navigation, ARIA support ✅ Styled to match - Dark glass Automatos theme ✅ Remembers state - Won't show again after completion

Next Steps

  1. Install dependencies

  2. Create the 9 files above

  3. Add data-tour attributes to components

  4. Test with fresh user account

  5. Monitor completion rates

  6. Iterate based on feedback

Total implementation time: ~4-6 hours

Last updated