Projects
Learn how to create, configure, and manage multiple AI assistant projects in Ask0. Organize your documentation sources and customize settings for each project.
Projects in Ask0 encapsulate individual AI assistants for different products, websites, or use cases. Each project has its own knowledge sources, configuration, branding, and analytics.
What is a Project?
A project represents:
- One AI assistant for a specific product or website
- Dedicated knowledge base from configured sources
- Custom branding matching your product
- Separate analytics and conversation tracking
- Unique configuration for behavior and responses
Creating a Project
Navigate to Projects
From your organisation dashboard, click "New Project"
Configure Basic Settings
Project Details:
Name: Documentation Assistant
Slug: docs-assistant
Description: AI helper for product documentation
Website:
URL: https://docs.example.com
Allowed Domains:
- docs.example.com
- app.example.com
Language: English
Timezone: America/New_YorkChoose AI Model
Select your preferred AI model:
AI Configuration:
Provider: OpenAI
Model: gpt-4-turbo
Temperature: 0.7
Max Tokens: 2000
Embedding Model: text-embedding-3-large
Language Support: Multi-lingualSet Initial Sources
Add at least one knowledge source:
- Web crawler for your documentation
- Custom knowledge for FAQs
- Upload existing help content
Project Settings
General Configuration
Core project settings:
Project Info:
Name: Product Documentation Bot
ID: proj_abc123xyz
Created: 2024-01-15
Status: Active
URLs:
Widget URL: https://widget.ask0.ai/proj_abc123xyz
API Endpoint: https://api.ask0.ai/v1/projects/proj_abc123xyz
Access:
Public Widget: Enabled
API Access: Enabled
Require Auth: NoAI & Response Settings
Configure how your assistant behaves:
Response Configuration:
Personality: Professional and helpful
Tone: Friendly but concise
Response Rules:
Max Length: 500 words
Include Sources: Always
Confidence Threshold: 0.7
Fallback Message: "I don't have enough information..."
Capabilities:
Code Examples: Yes
Link Suggestions: Yes
Follow-up Questions: Yes
Multi-turn Context: 10 messagesDomain Whitelisting
Control where your widget can be embedded:
Allowed Domains:
Production:
- https://example.com
- https://docs.example.com
- https://app.example.com
Development:
- http://localhost:3000
- http://localhost:8080
- https://*.vercel.app
Security:
Strict Mode: Yes
Block Unlisted: Yes
CORS Enabled: YesBranding & Customization
Visual Identity
Match your brand:
Brand Settings:
Logo: Upload SVG/PNG
Primary Color: #0066CC
Secondary Color: #F0F4F8
Typography:
Font Family: Inter, system-ui
Header Size: 16px
Body Size: 14px
Widget Style:
Position: bottom-right
Size: medium
Border Radius: 12px
Shadow: mediumCustom Messages
Personalize user interactions:
Messages:
Greeting: "Hi! How can I help you today?"
Placeholder: "Ask me anything about our product..."
Thinking: "Searching for answers..."
Error: "Sorry, something went wrong. Please try again."
No Results: "I couldn't find an answer. Try rephrasing?"
Feedback Request: "Was this helpful?"
Suggestions:
- "How do I get started?"
- "What are the key features?"
- "Show me pricing options"Theme Configuration
Advanced theming with shadcn:
// Custom theme
const theme = {
colors: {
background: "0 0% 100%",
foreground: "222.2 84% 4.9%",
primary: "221.2 83.2% 53.3%",
secondary: "210 40% 96.1%",
accent: "210 40% 96.1%",
muted: "210 40% 96.1%",
},
radius: "0.5rem",
components: {
button: {
variant: "default",
size: "md"
},
input: {
variant: "outlined"
}
}
};Knowledge Sources
Managing Sources
Each project can have multiple sources:
Sources:
1. Website Crawler:
URL: https://docs.example.com
Status: Active
Documents: 1,234
Last Sync: 2 hours ago
2. GitHub Issues:
Repository: company/product
Status: Active
Issues: 456
Last Sync: 1 hour ago
3. Custom Knowledge:
Type: FAQ
Entries: 89
Status: Active
Total Documents: 1,779
Total Tokens: 2.3MSource Priority
Configure source preferences:
sourcePriority: {
"documentation": 1.0, // Highest priority
"github_issues": 0.8,
"custom_knowledge": 0.9,
"blog_posts": 0.6 // Lower priority
}Integration Settings
Widget Configuration
Embed settings for your website:
<!-- Basic Integration -->
<script
src="https://assets.ask0.ai/scripts/ask.js"
data-project-id="proj_abc123xyz"
data-theme="light"
data-position="bottom-right"
></script>API Configuration
For programmatic access:
API Settings:
Enabled: Yes
Rate Limit: 1000 req/hour
Endpoints:
Chat: /api/v1/projects/{id}/chat
Search: /api/v1/projects/{id}/search
Feedback: /api/v1/projects/{id}/feedback
Authentication:
Type: API Key
Key: sk_proj_...
Permissions: Read/WriteWebhooks
Configure event notifications:
Webhooks:
Endpoint: https://api.example.com/webhooks
Secret: webhook_secret_key
Events:
- conversation.started
- conversation.ended
- feedback.received
- source.updated
Retry: 3 times with backoffAnalytics & Monitoring
Project Dashboard
Key metrics at a glance:
Today's Stats:
Conversations: 234
Questions: 567
Avg Response Time: 1.8s
Satisfaction: 92%
This Month:
Total Conversations: 5,432
Unique Users: 2,134
Questions Answered: 12,456
Knowledge Gaps: 234Performance Metrics
Track assistant effectiveness:
Performance:
Answer Quality:
High Confidence: 78%
Medium Confidence: 18%
Low Confidence: 4%
Response Times:
P50: 1.2s
P95: 2.8s
P99: 4.1s
User Satisfaction:
Positive: 85%
Neutral: 10%
Negative: 5%Project Management
Environments
Manage multiple environments:
Environments:
Production:
ID: proj_prod_xyz
URL: https://example.com
Sources: Live data
Staging:
ID: proj_stage_xyz
URL: https://staging.example.com
Sources: Staging data
Development:
ID: proj_dev_xyz
URL: http://localhost:3000
Sources: Test dataVersion Control
Track project changes:
Version History:
v2.1.0:
Date: 2024-01-15
Changes:
- Updated response personality
- Added new FAQ source
- Changed brand colors
v2.0.0:
Date: 2024-01-01
Changes:
- Major UI redesign
- Switched to GPT-4
- Added multi-language supportBackup & Export
Manage project data:
Backup Options:
Automatic: Daily at 2 AM
Retention: 30 days
Export Formats:
- Configuration (JSON)
- Conversations (CSV)
- Analytics (Excel)
- Knowledge Base (ZIP)
Import:
From Backup: Restore point
From Template: Standard configsAdvanced Features
Custom Responses
Define specific responses:
customResponses: [
{
trigger: "pricing",
response: "Our pricing starts at $99/month. Visit example.com/pricing for details.",
priority: "high"
},
{
trigger: "contact sales",
response: "Contact our sales team at sales@example.com or call 1-800-EXAMPLE",
priority: "high"
}
]Conversation Flows
Guide conversations:
Flows:
Onboarding:
Trigger: "get started"
Steps:
1. Ask about use case
2. Suggest relevant docs
3. Offer demo link
Troubleshooting:
Trigger: "error" or "problem"
Steps:
1. Identify issue type
2. Provide solutions
3. Escalate if neededA/B Testing
Test different configurations:
Experiments:
Test: Response Length
Variants:
A: Max 200 words (50%)
B: Max 500 words (50%)
Metrics:
- User satisfaction
- Conversation completion
- Follow-up questions
Duration: 2 weeksProject API
Programmatic project management:
// Get project details
const project = await ask0.projects.get('proj_abc123xyz');
// Update configuration
await ask0.projects.update('proj_abc123xyz', {
settings: {
name: 'Updated Project Name',
aiModel: 'gpt-4-turbo'
}
});
// Query the assistant
const response = await ask0.projects.query('proj_abc123xyz', {
message: 'How do I integrate the API?',
userId: 'user_123',
context: previousMessages
});
// Get analytics
const analytics = await ask0.projects.getAnalytics('proj_abc123xyz', {
period: 'last_30_days'
});Best Practices
Project Management Tips:
- Use descriptive project names
- Set up staging environment for testing
- Regular backup important projects
- Monitor analytics weekly
- Update sources regularly
- Test widget on all target pages
- Configure appropriate rate limits
Project Organization
Structure projects effectively:
Naming Convention:
Pattern: [product]-[environment]-[purpose]
Examples:
- webapp-prod-support
- docs-staging-assistant
- api-dev-testing
Categorization:
By Product: Group related products
By Team: Assign to departments
By Purpose: Support, docs, salesTroubleshooting
Widget not appearing
- Verify project ID is correct
- Check domain whitelist
- Review browser console for errors
Poor response quality
- Review source quality
- Adjust confidence threshold
- Update AI model settings
High costs
- Optimize source size
- Adjust rate limits
- Review usage patterns