HelpCenter API — AI Customer Support as a Service
Add AI-powered customer support to any app in minutes. Plug-and-play help center with RAG, custom branding, and embeddable widget.
Add AI-powered customer support to any application in minutes. HelpCenter is a turnkey solution that gives your users instant, accurate answers based on your documentation — no ML expertise required.
For Cloud Agents: HelpCenter is designed as a plug-and-play module. Your agent can easily add support capabilities to any app by calling these endpoints.
What You Get
- AI Chat Widget — Embeddable, customizable chat for your website or app
- RAG-Powered Answers — AI trained on your docs gives accurate, sourced answers
- Custom Branding — Your logo, colors, and domain
- Conversation History — Persistent sessions, analytics, and export
- Multi-Model Support — Use GPT-4.1, Claude, or any 100+ models
- Custom Domain — Run on
help.yourcompany.com
Quick Start
1. Create a HelpCenter Instance
import requests
response = requests.post(
"https://api.skillboss.co/v1/helpcenter/setup",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"config": {
"company_name": "Acme Inc",
"company_logo": "https://acme.com/logo.png",
"primary_color": "#2563eb",
"support_email": "support@acme.com",
"welcome_message": "Hi! I'm Acme's AI assistant. How can I help?",
"documents": [
{
"title": "Getting Started",
"content": "Welcome to Acme! Here's how to get started...",
"keywords": ["start", "begin", "setup", "onboarding"]
},
{
"title": "Pricing",
"content": "Our pricing starts at $10/month for the Starter plan...",
"keywords": ["price", "cost", "plan", "billing"]
}
]
}
}
)
data = response.json()
print(f"HelpCenter ID: {data['helpcenter_id']}")
print(f"Widget URL: {data['widget_url']}")
print(f"Default URL: {data['default_url']}")
Response:
{
"helpcenter_id": "hc_abc123def456",
"widget_url": "https://skillboss.co/embed/helpcenter/hc_abc123def456",
"api_endpoint": "https://api.skillboss.co/v1/helpcenter/chat",
"default_url": "https://skillboss.co/help/hc_abc123def456",
"custom_domain": null,
"dns_records": null,
"created_at": "2026-03-26T12:00:00Z"
}
2. Embed the Chat Widget
Add this to your website:
<script src="https://skillboss.co/embed/helpcenter/hc_abc123def456/widget.js"></script>
Or use the chat API directly:
import requests
response = requests.post(
"https://api.skillboss.co/v1/helpcenter/chat",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"helpcenter_id": "hc_abc123def456",
"message": "How do I get started?",
"stream": True
}
)
# Streaming response
for line in response.iter_lines():
if line:
print(line.decode())
Configuration Options
| Field | Type | Description |
|---|---|---|
company_name | string | Required. Your company name |
company_logo | string | URL to your logo |
favicon | string | URL to favicon for custom domain |
welcome_message | string | Initial greeting message |
system_prompt | string | Additional AI instructions |
primary_color | string | Hex color for buttons/links (default: #d97757) |
secondary_color | string | Background color (default: #f7f6f2) |
support_email | string | Email for human escalation |
custom_domain | string | Your domain (e.g., help.acme.com) |
subdomain | string | Subdomain on skillboss.co (e.g., acme → acme.help.skillboss.co) |
model | string | AI model to use (default: openai/gpt-4.1-mini) |
documents | array | Knowledge base documents for RAG |
quick_questions | array | Suggested questions shown at start |
enable_feedback | bool | Enable thumbs up/down (default: true) |
enable_escalation | bool | Enable "Contact Human" option (default: true) |
Custom Domain Setup
To use your own domain (e.g., help.yourcompany.com):
1. Configure in Setup
response = requests.post(
"https://api.skillboss.co/v1/helpcenter/setup",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"config": {
"company_name": "Acme Inc",
"custom_domain": "help.acme.com",
# ... other config
}
}
)
# Response includes DNS records to add
dns_records = response.json()["dns_records"]
# [
# {"type": "CNAME", "name": "help.acme.com", "value": "help.skillboss.co"},
# {"type": "TXT", "name": "_skillboss.help.acme.com", "value": "hc_abc123def456"}
# ]
2. Add DNS Records
In your DNS provider, add:
| Type | Name | Value |
|---|---|---|
| CNAME | help | help.skillboss.co |
| TXT | _skillboss.help | hc_abc123def456 |
3. Wait for Propagation
DNS changes can take up to 48 hours. Once propagated, your help center will be live at help.yourcompany.com.
Knowledge Base (RAG)
Add documents to train the AI on your product:
documents = [
{
"title": "Getting Started Guide",
"content": """
# Getting Started with Acme
1. Sign up at acme.com/signup
2. Create your first project
3. Install the CLI: `npm install -g acme-cli`
4. Run `acme init` in your project directory
That's it! You're ready to go.
""",
"keywords": ["start", "begin", "setup", "install", "onboarding", "quickstart"]
},
{
"title": "API Authentication",
"content": """
# Authentication
All API requests require an API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Get your API key at acme.com/settings/api-keys
""",
"keywords": ["auth", "authentication", "api key", "bearer", "token", "401"]
}
]
Tips for better RAG:
- Use descriptive titles
- Include common keywords users might search
- Break large docs into focused sections
- Include code examples for technical products
API Reference
POST /v1/helpcenter/setup
Create a new HelpCenter instance.
POST /v1/helpcenter/chat
Send a message and receive a streaming AI response.
Request:
{
"helpcenter_id": "hc_abc123",
"message": "How do I reset my password?",
"session_id": "sess_xyz789", // optional, for conversation continuity
"user_id": "user_123", // optional, for analytics
"stream": true
}
Response (streaming):
data: {"content": "To reset your password"}
data: {"content": ", go to Settings → Security"}
data: {"content": " → Reset Password..."}
data: {"done": true, "session_id": "sess_xyz789"}
GET /v1/helpcenter/conversations
List all conversations for analytics.
PUT /v1/helpcenter/
Update HelpCenter configuration.
DELETE /v1/helpcenter/conversation/
Delete a specific conversation.
Pricing
| Endpoint | Pricing |
|---|---|
/helpcenter/setup | Free |
/helpcenter/chat | $0.0004/1K input tokens + $0.0016/1K output tokens |
/helpcenter/update | Free |
Based on GPT-4.1-mini. Choose different models for different cost/quality tradeoffs.
Use Pages
SaaS Products
Add instant support for your users without hiring a support team.
Documentation Sites
Let users ask questions in natural language instead of searching.
E-commerce
Answer product questions, track orders, handle returns.
Developer Tools
Provide instant API help with code examples.
Example: Full Integration
import requests
from flask import Flask, request, Response
app = Flask(__name__)
HELPCENTER_ID = "hc_abc123def456"
API_KEY = "sk-your-api-key"
@app.route("/support/chat", methods=["POST"])
def support_chat():
"""Proxy chat requests to HelpCenter API"""
data = request.json
response = requests.post(
"https://api.skillboss.co/v1/helpcenter/chat",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"helpcenter_id": HELPCENTER_ID,
"message": data["message"],
"session_id": data.get("session_id"),
"user_id": data.get("user_id"),
"stream": True
},
stream=True
)
def generate():
for line in response.iter_lines():
if line:
yield line + b"\n"
return Response(generate(), mimetype="text/event-stream")
if __name__ == "__main__":
app.run(port=3000)
Admin Dashboard API
Manage your HelpCenter instances programmatically with the Admin API.
List All HelpCenters
response = requests.get(
"https://api.skillboss.co/v1/helpcenter/admin/list",
headers={"Authorization": "Bearer sk-your-api-key"},
params={"limit": 50, "offset": 0}
)
# Returns all your HelpCenter instances
for hc in response.json()["helpcenters"]:
print(f"{hc['company_name']}: {hc['conversations_count']} conversations")
Get Full Conversation
response = requests.get(
"https://api.skillboss.co/v1/helpcenter/admin/hc_abc123/conversation/sess_xyz789",
headers={"Authorization": "Bearer sk-your-api-key"}
)
# Returns all messages in the conversation
for msg in response.json()["messages"]:
print(f"[{msg['role']}]: {msg['content']}")
Get Analytics
response = requests.get(
"https://api.skillboss.co/v1/helpcenter/admin/hc_abc123/analytics",
headers={"Authorization": "Bearer sk-your-api-key"},
params={"days": 30}
)
data = response.json()
print(f"Total conversations: {data['totals']['conversations']}")
print(f"Avg messages/conversation: {data['totals']['avg_messages_per_conversation']}")
Bulk Update Documents
response = requests.post(
"https://api.skillboss.co/v1/helpcenter/admin/hc_abc123/documents",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"documents": [
{"title": "New Feature", "content": "...", "keywords": ["feature"]},
{"title": "Updated FAQ", "content": "...", "keywords": ["faq"]}
],
"mode": "replace" # or "append" to add to existing
}
)
Delete HelpCenter
response = requests.delete(
"https://api.skillboss.co/v1/helpcenter/admin/hc_abc123",
headers={"Authorization": "Bearer sk-your-api-key"}
)
# Deletes instance and all conversations (irreversible!)
Admin API Reference
| Endpoint | Method | Description |
|---|---|---|
/v1/helpcenter/admin/list | GET | List all your HelpCenter instances |
/v1/helpcenter/admin/{id}/conversation/{session_id} | GET | Get full conversation history |
/v1/helpcenter/admin/{id}/analytics | GET | Get usage analytics |
/v1/helpcenter/admin/{id}/documents | POST | Bulk update knowledge base |
/v1/helpcenter/admin/{id} | DELETE | Delete HelpCenter and all data |