Chatbot Overview
Embed a powerful AI chatbot widget on your website to engage visitors, answer questions, and capture leads—all powered by your custom workflows. Create unlimited chatbot configurations, customize appearance, and track every conversation.
Why Use Chatbot?
1. 24/7 Customer Support
- Instant responses to visitor questions
- No waiting for human agents
- Always available on your website
- Automated workflow execution
2. Lead Generation
- Capture visitor information
- Qualify leads automatically
- Route to sales team
- Integrate with CRM
3. Brand Customization
- Match your brand colors and style
- Custom welcome messages
- Company logo display
- Light and dark themes
4. Smart Conversations
- AI-powered responses via workflows
- Suggested questions for easy navigation
- Section-based question organization
- Full conversation history
5. Voice Capabilities
- Voice input for messages
- Voice call mode (phone-like experience)
- Voice-only widget option
- Real-time transcription
Key Features
Widget Customization
Appearance Options:
- Position: Bottom-right or bottom-left
- Theme: Light or dark mode
- Primary Color: Custom brand color (hex code)
- Button Text: Customizable call-to-action
- Header Title: Chat window title
- Company Logo: Upload your logo
- Welcome Message: Custom heading and subheading
Preview:
- Live preview of widget as you configure
- Test conversations before deployment
- See exactly how visitors will interact
- Mobile-responsive preview
Welcome Screen
Customizable Elements:
Welcome Heading:
- Default: "Hi there! 👋"
- Personalize to match your brand voice
- Support for emojis and text
Welcome Subheading:
- Optional secondary message
- Example: "How can we help you today?"
- Additional context for visitors
Company Logo:
- Upload image or provide URL
- Displayed at top of chat
- Professional branding
Suggested Questions
What They Are:
- Pre-defined questions visitors can click
- Guide conversation flow
- Reduce visitor effort
- Improve engagement
General Questions:
- Display immediately on welcome screen
- Examples: "What are your pricing plans?", "How does it work?", "Contact support"
- Unlimited questions supported
Section-Based Questions:
- Organize questions by category
- Expandable/collapsible sections
- Examples: Pricing, Features, Support, Account
- Show/hide on welcome screen (optional)
Configuration:
- Add/remove questions anytime
- Reorder by drag-and-drop (in preview)
- Click to send question automatically
- Supports emojis and formatting
Workflow Integration
How It Works:
- Visitor sends message in chat widget
- Message triggers selected workflows
- Workflows execute (AI processing, database queries, etc.)
- Response sent back to visitor in real-time
- Conversation continues with context preserved
Workflow Selection:
- Choose multiple workflows per widget
- Workflows execute in parallel or sequence (depends on configuration)
- Access full workflow builder capabilities
- Test workflows directly in widget preview
Use Cases:
- FAQ answering with AI
- Lead qualification forms
- Appointment booking
- Product recommendations
- Support ticket creation
Voice Features
Voice Input:
- Microphone button in chat input
- Record voice message
- Automatic speech-to-text conversion
- Text appears in input field for editing before sending
Voice Call Mode:
- Phone-like conversation experience
- Real-time voice conversation with AI
- Bidirectional audio streaming
- Transcript display during call (optional)
Voice-Only Widget:
- No text chat interface
- Phone button only
- Click to start voice call
- Ideal for phone support replacement
- Show live transcript option
Requirements:
- Voice Agent workflow configured
- Browser microphone permissions
- Modern browser support (Chrome, Safari, Firefox, Edge)
API Key & Embed Code
API Key Setup:
- Create API key in Settings → API Keys
- Grant "chat" or "workflows" scope
- Link API key to widget configuration
- API key authenticates widget requests
Embed Code:
<!-- Add to your website's HTML -->
<script src="https://api.expedify.ai/chat/chat-widget.js"></script>
<script>
ExpedifyChat.init({
apiKey: 'your-api-key-here',
position: 'bottom-right',
theme: 'light',
primaryColor: '#ee785b',
buttonText: 'Chat with us',
headerTitle: 'Chat',
welcomeHeading: 'Hi there! 👋',
welcomeSubheading: 'How can we help you today?',
companyLogo: 'https://your-domain.com/logo.png',
workflows: ['workflow-id-1', 'workflow-id-2'],
suggestedQuestions: [
'What are your pricing plans?',
'How does it work?',
'Contact support'
],
sectionQuestions: {
'Pricing': ['What plans are available?', 'Is there a free trial?'],
'Features': ['What features do you offer?', 'Can I integrate with my CRM?']
},
enableVoiceInput: true,
enableVoiceCall: false,
voiceOnlyMode: false
});
</script>
Installation:
- Copy embed code
- Paste before closing
</body>tag - Widget loads automatically on page load
- No additional setup required
Conversation Management
Widget Inbox:
- View all chat widget conversations
- Unified inbox with email, WhatsApp, etc.
- Real-time message notifications
- Conversation history per visitor
Visitor Tracking:
- Unique visitor ID per browser
- Track return visitors
- Conversation history persistence
- Visitor identification (email, name)
Conversation Features:
- AI agent mode (automated responses)
- Human agent mode (manual takeover)
- Assign to team members
- Internal notes
- Tags and status
Analytics & Monitoring
Conversation Metrics:
- Total conversations
- Messages per conversation
- Response time
- Resolution rate
- Visitor engagement
Widget Performance:
- Active widgets list
- Conversations per widget
- Most used workflows
- Popular suggested questions
Per-Widget Stats:
- Conversation count
- Last active timestamp
- API key usage
- Configuration history
Getting Started
Prerequisites
Before creating a chatbot widget:
-
Workflow Created
- Build workflow in Workflow Builder
- Test workflow execution
- Publish workflow
- Note workflow ID
-
API Key Generated
- Go to Settings → API Keys
- Click "Create API Key"
- Grant "chat" or "workflows" scope
- Copy API key (shown once)
-
Website Access
- Access to your website's HTML
- Ability to add script tags
- No special server requirements
Quick Start
Step 1: Navigate to Chatbot Settings
- Go to Automation → Chat Widget (or Settings → Chat Widget)
- See list of existing widgets (if any)
- Click Create New Widget button
Step 2: Configure Widget Appearance
Basic Settings:
- Widget Name: Internal name for identification (e.g., "Homepage Widget")
- API Key: Select from dropdown (or create new)
- Position: Bottom-right or bottom-left
- Theme: Light or dark
- Primary Color: Click color picker to choose brand color
Text & Branding:
- Button Text: What text shows on chat button (e.g., "Chat with us", "Need help?")
- Header Title: Title in chat window header (e.g., "Chat", "Support")
- Welcome Heading: First message visitor sees (e.g., "Hi there! 👋")
- Welcome Subheading: Optional secondary message
- Company Logo URL: Upload or paste logo image URL
Step 3: Add Suggested Questions
General Questions:
- Click Add Question under General Questions
- Type question text (e.g., "What are your hours?")
- Add more questions (recommended: 3-5)
- Questions appear immediately on welcome screen
Section Questions (Optional):
- Click Add Section
- Name section (e.g., "Pricing", "Features")
- Add questions to section
- Create multiple sections for organization
- Toggle "Show on Welcome" to display immediately
Step 4: Select Workflows
- Click Add Workflow button
- Search or browse workflows
- Select workflow(s) to execute when visitors send messages
- Multiple workflows execute together
- Remove workflows by clicking X icon
Step 5: Configure Voice (Optional)
Voice Input:
- Toggle Enable Voice Input
- Visitors can speak instead of typing
- Automatic speech-to-text conversion
Voice Call:
- Toggle Enable Voice Call
- Requires Voice Agent workflow
- Phone-like conversation experience
- Choose "Show Transcript" to display during call
Voice-Only Mode:
- Toggle Voice-Only Mode
- No text chat interface
- Phone button only
- Requires Voice Call enabled
Step 6: Preview Widget
- Live preview updates as you configure
- Test sending messages
- Click suggested questions to test
- Try voice features (if enabled)
- Verify appearance matches brand
Step 7: Save & Get Embed Code
- Click Save Widget button
- Widget saved to database
- Copy Embed Code button appears
- Click to copy to clipboard
- Paste code into your website's HTML (before
</body>tag) - Widget goes live immediately
Step 8: Test on Your Website
- Open your website in browser
- Chat button appears in configured position
- Click to open chat window
- Send test message
- Verify workflow executes correctly
- Check conversation appears in Widget Inbox
Widget Configuration in Detail
Position Options
Bottom-Right:
- Default position
- Most common placement
- Doesn't obstruct main content
- Familiar to users
Bottom-Left:
- Alternative placement
- Useful if right side has other widgets
- Same functionality as bottom-right
Theme & Colors
Light Theme:
- White background
- Dark text
- Clean, professional look
- Best for most websites
Dark Theme:
- Dark background
- Light text
- Modern aesthetic
- Reduces eye strain
- Good for dark-themed websites
Primary Color:
- Used for: Chat button, send button, user message bubbles
- Choose brand color for consistency
- Hex code format: #ee785b
- Color picker for easy selection
Welcome Screen Strategy
Best Practices:
Welcome Heading:
- Keep it friendly and conversational
- Use visitor's name if identified
- Examples: "Hi there! 👋", "Welcome to Acme!", "Need help?"
Welcome Subheading:
- Optional but recommended
- Set expectations (e.g., "Our AI assistant is here 24/7")
- Call-to-action (e.g., "Ask me anything!")
Company Logo:
- Professional branding
- Builds trust
- Recommended size: 200x50px
- PNG with transparent background works best
Suggested Questions Strategy
General Questions (Always Visible):
- Top 3-5 most common questions
- Broad topics (pricing, features, support)
- Action-oriented (book demo, contact sales)
Section Questions (Organized):
- Group related questions
- Examples:
- Pricing: "Plans available?", "Free trial?", "Volume discounts?"
- Features: "What can it do?", "Integrations?", "Mobile app?"
- Support: "Contact support", "Knowledge base", "Report issue"
- Account: "Sign up", "Login help", "Reset password"
Writing Good Questions:
- Use natural language
- Keep it short (5-8 words max)
- Answer what visitors actually ask
- Test with real users
Workflow Selection Strategy
Single Workflow:
- Simple use case
- One AI agent handles everything
- Easy to manage
- Good for FAQs
Multiple Workflows:
- Complex use cases
- Different workflows for different intents
- Example: FAQ workflow + Lead capture workflow + Support ticket workflow
- Workflows can execute in sequence or parallel
Best Practices:
- Start with one workflow
- Add more as needs grow
- Test each workflow individually first
- Monitor which workflows are triggered most
Voice Configuration
When to Enable Voice Input:
- Accessibility for users who can't type
- Mobile users (easier than typing on phone)
- Hands-free use cases
- Speech-to-text convenience
When to Enable Voice Call:
- Replacing phone support
- Complex conversations better suited for voice
- Personal touch needed
- Voice Agent workflow configured
Voice-Only Mode Use Cases:
- Phone support replacement
- Call center alternative
- Voice-first experience
- Minimal interface preferred
Managing Multiple Widgets
Why Multiple Widgets:
- Different widgets for different pages
- A/B testing configurations
- Separate widgets per product
- Different workflows per audience
Widgets List View:
- All widgets in one table
- Name, API key, conversation count
- Active/inactive status
- Quick actions: Edit, Copy code, Delete
Widget Operations:
- Edit: Update configuration anytime
- Duplicate: Clone widget with new API key
- Deactivate: Hide widget without deleting
- Delete: Permanently remove (conversations preserved)
Embed Code Management:
- Each widget has unique embed code
- Update config without changing embed code
- Copy code from any widget anytime
- Same API key across multiple widgets (optional)
Advanced Features
Custom CSS (Coming Soon)
- Override default widget styles
- Full CSS customization
- Target specific elements
- Advanced branding
Metadata Field
- Store custom configuration
- JSON format
- Use in workflows
- Extend widget capabilities
Multiple API Keys
- Separate API keys per widget
- Different rate limits
- Security isolation
- Usage tracking per key
Conversation Context
- Widget remembers conversation history
- Context passed to workflows
- Visitor identification
- Returning visitor detection
Widget Inbox
Access Widget Conversations:
- Go to Channel → Inbox (or Widget Inbox)
- See all widget conversations
- Filter by status, agent mode, visitor
- Click conversation to view details
Conversation Details:
- All messages in conversation
- Visitor information
- Timestamps
- Workflow executions
- Agent mode (AI or Human)
Agent Mode Toggle:
- AI Mode: Automated responses via workflows
- Human Mode: Manual replies from team member
- Switch anytime during conversation
- Workflow pauses in Human mode
Reply to Visitors:
- Type message in input field
- Click Send
- Message appears in visitor's chat widget
- Real-time delivery via WebSocket
Visitor Identification
Anonymous Visitors:
- Unique visitor ID generated per browser
- Stored in localStorage
- Persistent across page reloads
- Conversation history maintained
Identified Visitors:
- Link visitor to CRM contact
- Use
/chat/widget/identifyAPI - Provide email, name, custom fields
- Show personalized welcome messages
Identification Methods:
- Manual: Call identify API from your backend
- Automatic: User logs into your website → widget identifies them
- Workflow: Use workflow node to identify based on conversation
Best Practices
Widget Placement
Positioning:
- Bottom-right is standard (85% of sites use it)
- Don't hide behind other elements
- Ensure it's visible on all pages
- Consider mobile responsiveness
Timing:
- Show immediately on page load? Or delayed?
- Current implementation: Always visible
- Future: Trigger rules (time on page, scroll depth, exit intent)
Conversation Design
AI Responses:
- Keep responses concise and helpful
- Use formatting (bold, lists, links)
- Provide next steps
- Offer to escalate to human if needed
Workflow Design:
- Handle common questions in one workflow
- Separate workflows for complex tasks
- Include error handling
- Test edge cases
Suggested Questions:
- Update based on analytics
- Remove unused questions
- Add seasonal questions
- Test question wording
Performance
Widget Load Time:
- Widget script is lightweight (~50KB)
- Loads asynchronously (doesn't block page)
- No jQuery or heavy dependencies
- Cached by browsers
Response Time:
- Workflow execution speed depends on complexity
- Typical: 0.5-2 seconds for AI responses
- Use typing indicator to show activity
- Set timeout for slow workflows
Privacy & Security
API Key Security:
- API keys are public (safe to embed in HTML)
- Scoped permissions (chat/workflows only)
- Rate limiting prevents abuse
- Revoke compromised keys immediately
Visitor Data:
- No personal data collected by default
- Only store conversation messages
- GDPR compliant
- Visitor can request data deletion
Conversation Security:
- Conversations isolated per visitor ID
- No cross-visitor data leakage
- Encrypted in transit (HTTPS)
- Stored securely in database
Troubleshooting
Widget Not Appearing
Problem: Embed code added but widget doesn't show on website
Causes:
- Embed code not properly placed
- JavaScript errors blocking execution
- Widget deactivated
- API key invalid
Solutions:
- Verify embed code is before
</body>tag - Check browser console for JavaScript errors
- Confirm widget is "Active" in settings
- Verify API key is valid and has "chat" scope
- Check browser doesn't block scripts from external domains
- Ensure no Content Security Policy blocking the script
Widget Button Shows But Doesn't Open
Problem: Click chat button but nothing happens
Causes:
- JavaScript error during initialization
- CSS conflict hiding chat window
- Browser compatibility issue
Solutions:
- Check browser console for errors
- Try different browser
- Inspect element to see if chat window exists but hidden
- Verify no CSS on your site is overriding widget styles
- Update widget configuration and re-deploy
Messages Not Getting Responses
Problem: Visitor sends message but no response from AI
Causes:
- No workflows selected
- Workflow not published
- Workflow execution error
- API key missing workflow scope
Solutions:
- Verify at least one workflow is selected in widget config
- Ensure workflows are published (not draft)
- Test workflow execution in Workflow Builder
- Check API key has "workflows" scope
- Check workflow execution logs for errors
Voice Input Not Working
Problem: Microphone button doesn't work or shows error
Causes:
- Browser microphone permissions denied
- HTTPS required (voice doesn't work on HTTP)
- Browser doesn't support MediaRecorder API
- Voice input not enabled in config
Solutions:
- Grant microphone permission when prompted
- Ensure website is HTTPS (required for microphone access)
- Use modern browser (Chrome, Safari, Firefox, Edge)
- Verify "Enable Voice Input" is toggled ON in widget settings
- Check browser console for permission errors
Voice Call Not Connecting
Problem: Click voice call button but call doesn't start
Causes:
- Voice Agent workflow not configured
- No Voice integration (VAPI, Vobiz, etc.)
- Voice Agent not published
- Microphone permissions denied
Solutions:
- Create and publish Voice Agent workflow
- Configure voice integration in Settings → Integrations
- Select Voice Agent workflow in widget config
- Grant microphone and audio permissions
- Check Voice Agent workflow settings
- Test voice call in Voice Agent directly first
Suggested Questions Not Showing
Problem: Configured suggested questions don't appear
Causes:
- "Show on Welcome" toggled off for section questions
- No questions configured
- Welcome screen disabled
- CSS hiding questions
Solutions:
- Add general questions (always visible)
- For section questions, toggle "Show on Welcome"
- Save widget configuration after adding questions
- Refresh website to see changes
- Check preview in widget settings
Conversations Not Appearing in Inbox
Problem: Visitors send messages but conversations don't show in Widget Inbox
Causes:
- Different organization context
- Conversations in different tab/filter
- API key linked to different org
- Database sync issue
Solutions:
- Check all tabs: All, Active, Unread, Assigned
- Clear filters
- Refresh inbox page
- Verify API key belongs to correct organization
- Check conversation was actually created (check API logs)
Embed Code Not Working After Update
Problem: Updated widget config but website still shows old configuration
Causes:
- Browser cache
- CDN cache
- No-cache headers not working
- Embed code needs updating
Solutions:
- Hard refresh browser (Ctrl+Shift+R or Cmd+Shift+R)
- Clear browser cache
- Wait 5-10 minutes for CDN cache to expire
- Embed code doesn't need updating (config is server-side)
- Verify widget was saved successfully
Integration Status
Check Widget Status:
In Widget Settings:
- 🟢 Active: Widget is live and working
- 🔴 Inactive: Widget is hidden (not deleted)
- ⚫ Deleted: Widget removed
Check API Key Status:
- ✅ Valid: API key is active and has permissions
- ❌ Invalid: API key revoked or missing scopes
- ⚠️ Expiring: API key approaching expiration date
Conversation Health:
- Successfully creating conversations = healthy
- Workflow execution errors = check workflows
- No responses = check workflow selection
Related Resources
- Workflows → - Build AI-powered conversation workflows
- Widget Inbox → - Manage widget conversations
- API Keys → - Generate and manage API keys
- Voice Agent → - Configure voice call capabilities