🤖

Bot Builder

Create AI-powered chatbots without writing a single line of code. cachly handles sessions, semantic cache, and LLM cost optimization — you define the persona and knowledge.

How it works — 5 steps

1

📋 Pick a template

Start with Customer Support, Restaurant, E-Commerce, Personal AI, Onboarding Guide, or Internal Wiki — or build from scratch.

2

💬 Choose a channel

Web Widget, WhatsApp, Telegram, Slack, Discord, or REST API. Your bot speaks the same language as your users.

3

🎭 Define the persona

Name, role, tone, system instructions, and LLM model (gpt-4o-mini by default). cachly pre-fills sensible defaults per template.

4

📚 Add knowledge

Paste FAQ pairs, a URL, or raw text. cachly stores it in Semantic Cache (pgvector) so your bot can answer domain-specific questions instantly.

5

🚀 Deploy

Get a ready-to-run deploy package: .env, Dockerfile, docker-compose.yml. Works on Docker, Railway, or Vercel. cachly powers sessions and cache.

docker compose up -d

What cachly provides

Valkey Sessions

Every conversation is stored in your cachly Valkey instance. Sessions survive restarts and scale horizontally.

🧠

Semantic Cache

Repeated or similar questions are answered from cache — no LLM call, instant response. Saves cost, speeds up UX.

🔒

GDPR-compliant

All data stays in your cachly instance (Germany, Hetzner). No third-party data sharing. Full DPA available.

🧩

Embeddable Widget

One <script> tag embeds a floating chat button on any website. Configurable color, position, and bot name.

🐳

Self-hosted bot

You host the bot logic. cachly provides the backend. No vendor lock-in for your business logic.

🔑

Bring your own LLM key

Supply your OpenAI API key. cachly doesn't proxy LLM calls — you have full cost control.

Embed on any website

Add a floating chat widget to any website with a single <script> tag. No iframe. No React. No build step.

Minimal — 1 line
<script src="https://bot.cachly.dev/widget.js"></script>
Custom color & position
<script
  src="https://bot.cachly.dev/widget.js"
  data-color="#7c3aed"
  data-position="left"
  data-name="My Bot"
></script>

Supported data-* attributes: data-color, data-name, data-position (right|left), data-bot-id

Environment variables

VariableRequiredDescription
CACHLY_URLYesRedis/Valkey connection URL from your cachly instance dashboard
OPENAI_API_KEYRecommendedYour OpenAI API key. Without it, the bot uses rule-based FAQ matching.
BOT_NAMENoDisplay name of the bot (default: Support Agent)
BOT_PERSONA_ROLENoRole description used in system prompt
BOT_PERSONA_TONENoTone: friendly, professional, warm, etc.
BOT_LLM_MODELNoOpenAI model (default: gpt-4o-mini)
BOT_SYSTEM_PROMPTNoFull system prompt override
BOT_TEMPERATURENoSampling temperature 0.0–1.0 (default: 0.3)
BOT_MAX_TOKENSNoMax tokens per response (default: 512)
PORTNoHTTP port (default: 3003)

Deploy targets

🐳

Docker

Recommended
docker compose up -d
🚂

Railway

1-click
railway up

Vercel

Serverless
vercel deploy
🚀

Ready to build your bot?

Open the Bot Builder in your dashboard. Your first bot takes less than 5 minutes.

🤖 Open Bot Builder