Skip to content

Create a Chatbot

Build an AI chatbot that answers questions based on your content. Add knowledge sources from URLs, sitemaps, or uploaded documents, then embed it on your site.

What you are building

A chatbot with RAG (retrieval-augmented generation) that reads your content, indexes it into a vector database, and answers user questions with source citations.

When to use this approach

  • Customer support automation
  • Documentation assistant
  • Internal knowledge base search
  • Website FAQ bot

If you need direct LLM API access without a knowledge base, use the LLM API instead.

What you need

  • A WAYSCloud account
  • Content to index (website URL, sitemap, or documents)

Step 1 — Create the bot

Dashboard

  1. Open ServicesAI & Machine LearningChatbot in the dashboard
  2. Click Create Bot
  3. Fill in name, purpose, and branding (colors, welcome message)
  4. Select a plan
  5. Add your first knowledge source (URL or upload)

API

bash
curl -X POST https://api.wayscloud.services/v1/dashboard/chatbot/bots \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Support Bot",
    "slug": "support-bot",
    "language": "en",
    "purpose": "customer_support",
    "source_type": "url",
    "url": "https://docs.example.com",
    "display_name": "Support Assistant",
    "welcome_message": "How can I help you today?",
    "primary_color": "#2563eb",
    "selected_plan": "CHATBOT-BUSINESS"
  }'

Response:

json
{
  "id": "bot-abc123",
  "name": "Support Bot",
  "status": "draft",
  "public_token": "wayscloud_cb_abc123_full_token...",
  "source_count": 1,
  "created_at": "2025-12-15T10:00:00Z"
}

Save the public_token — it is only shown once.


Step 2 — Add knowledge sources

Add additional content for the bot to learn from:

Add a URL:

bash
curl -X POST https://api.wayscloud.services/v1/dashboard/chatbot/bots/bot-abc123/sources \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "source_type": "sitemap",
    "url": "https://example.com/sitemap.xml",
    "title": "Main Website",
    "refresh_interval_hours": 24
  }'

Upload a document:

bash
curl -X POST https://api.wayscloud.services/v1/dashboard/chatbot/bots/bot-abc123/sources/upload \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -F "file=@product-guide.pdf"

Sources are indexed automatically. Monitor progress:

bash
curl https://api.wayscloud.services/v1/dashboard/chatbot/bots/bot-abc123/health \
  -H "Authorization: Bearer $JWT_TOKEN"

Step 3 — Test and activate

Test the bot before going live:

bash
curl -X POST https://api.wayscloud.services/v1/dashboard/chatbot/bots/bot-abc123/test-chat \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "What is your return policy?"}'

Response:

json
{
  "message": "Based on our documentation, the return policy allows...",
  "sources": [
    {"title": "Returns & Refunds", "url": "https://example.com/returns", "relevance": 0.95}
  ]
}

When satisfied, activate:

bash
curl -X POST https://api.wayscloud.services/v1/dashboard/chatbot/bots/bot-abc123/activate \
  -H "Authorization: Bearer $JWT_TOKEN"

Step 4 — Next steps

  • Embed on your site — Use the public token to add the chat widget
  • Monitor analyticsGET /bots/{id}/analytics for session counts and feedback
  • Tune behavior — Adjust temperature, max_tokens, and system_prompt
  • Add guidance — Use help_text and avoid_text to steer responses
  • Rotate tokenPOST /bots/{id}/rotate-token if the token is compromised

API reference

WAYSCloud AS