AK Chat Platform
Complete documentation for users and administrators.
What is AK Chat?
AK Chat is a private AI chat platform built for teams. It lets you create custom AI agents powered by any combination of OpenAI, Anthropic (Claude), and Google Gemini models — each with its own persona, capabilities, and workflow.
Every agent can be extended with workflow steps: web search, document lookup, image analysis, email sending, PDF generation, and more — all configured visually without writing code.
Using the Chat
Sending messages
Type your message in the input area and press Enter (or Shift+Enter for a new line). You can also upload image or file attachments using the 📎 button.
Voice input
Click the 🎙️ mic button to speak your message. The browser will transcribe your speech and insert it into the input field. Click again to stop. Requires Chrome or Edge (Firefox not supported).
Text-to-speech
Enable Auto-read responses in the Voice Settings tab of the admin panel to have every AI reply read aloud automatically.
Conversations and projects
Conversations are saved automatically. You can organise them into Projects using the sidebar. Each project can have folders for further organisation.
Working with Agents
Each agent is an AI assistant with a specific purpose. Users can only see agents they have been granted access to. The admin can manage agent access per user in the Users tab.
To start a conversation with an agent, click its card in the sidebar. Some agents have a system prompt only — others run multi-step workflows.
Agent Builder — Overview
The Agent Builder is the visual workflow editor built directly into the admin panel. Access it by clicking Build Agent in the left sidebar of the Admin Panel — it opens as a full-screen tab within the admin interface.
You can also open the builder for a specific agent from the Agents tab → ⚡ Built-in Workflow button.
- Steps are the building blocks — add them from the palette on the left.
- Steps run top to bottom when a user sends a message.
- Every agent must end with a
call_llmstep — that's what produces the reply. - Click a step to open its config panel on the right.
- Use the ▶ Test button to run your workflow without leaving the builder.
- Set the agent's icon by uploading an image in the Settings panel (top-right gear icon).
agent-workflow-reference.json file in the deployment folder for instructions.
Step Types
| Step | What it does |
|---|---|
| system_prompt | Sets the agent's persona and rules. Always put this first. |
| call_llm | Calls an AI model and generates the response. Required in every agent. |
| web_search | Searches the web and injects results before call_llm. |
| fetch_url | Fetches and reads a webpage. Use {{message}} to read a URL the user pastes. |
| http_request | Makes a GET/POST/PUT to any external API (CRM, Airtable, GoHighLevel, etc.). |
| rss_feed | Reads the latest articles from an RSS feed. |
| summarize | Condenses long text from a previous step before call_llm. |
| translate | Translates the response into another language. |
| classify | Classifies the user's message into one of your defined categories. |
| extract_data | Extracts specific fields from a longer text. |
| analyze_image | Sends an image to a vision model for analysis. |
| generate_image | Creates an image using DALL-E 3 (requires OpenAI key). |
| ocr | Extracts all text visible in an image. |
| describe_video | Sends a video URL to Gemini for analysis. |
| condition | Checks for a keyword and adds different context for yes/no branches. |
| format_output | Tells call_llm exactly how to structure its response. |
| format_response | Final formatting: tone, length, follow-up questions, sign-off style. |
| combine | Merges all previous step outputs into one context block. |
| search_knowledge | Searches the agent's uploaded documents. Place before call_llm. |
| remember | Saves a value per user for future conversations. |
| recall | Retrieves a previously saved value and injects it into the conversation. |
| generate_pdf | Converts the AI response into a downloadable PDF. Place after call_llm. |
| send_email | Emails the AI response using the platform SMTP settings. Place after call_llm. |
Templates
Click 📋 Templates in the Agent Builder to browse built-in templates (Web Researcher, Image Analyst, Lead Qualifier, etc.) and any custom templates you've saved.
To save the current workflow as a template, click 💾 Save as Template. Templates are stored in your browser's local storage.
Knowledge Base
Each agent can have its own set of documents — FAQs, manuals, price lists, policy files. The search_knowledge step searches these documents and injects the most relevant excerpts before call_llm.
Adding documents
There are two ways to add content:
- Go to Admin → Knowledge Base.
- Select the agent from the dropdown.
- Paste text: Click + Add Document, paste the content, and give it a name.
- Upload a file: Click 📎 Upload File and select a
.txt,.md,.pdf, or.docxfile — the text is extracted automatically.
Import JSON
You can generate agent workflows using Claude and import them directly into the builder:
- Open
agent-workflow-reference.json(in the deployment folder) and copy its contents. - Paste it into a new Claude conversation and describe the agent you want.
- Claude will return a JSON object — copy that JSON.
- In the Agent Builder, click 📥 Import JSON and paste.
// Example prompt to Claude:
"Here is my agent workflow reference. Build me an agent that:
- Searches the web for the user's query
- Extracts the most important facts
- Responds in plain bullet points"
Voice Input
The 🎙️ button in the chat input bar activates speech-to-text using your browser's built-in Web Speech API.
- Supported: Chrome, Edge, Safari 14.1+
- Not supported: Firefox (the button is hidden automatically)
- The button turns red and pulses while recording
- Transcribed text is appended to whatever you've already typed
PDF Export
Add a generate_pdf step after call_llm in your workflow. When the step runs, it converts the AI response to a PDF file and appends a download link to the chat message.
{
"type": "generate_pdf",
"config": {
"filename": "daily-report"
}
}
The filename will have a timestamp appended automatically (e.g. daily-report-1710000000000.pdf). PDFs are stored in the uploads/ folder.
Email — send_email Step
The send_email step emails the AI response using your configured SMTP server.
{
"type": "send_email",
"config": {
"to": "[email protected]",
"subject": "Daily AI Briefing",
"body_source": "response"
}
}
body_source options:
"response"— the AI's generated reply"injected"— raw data gathered by previous steps (before AI processing)- any other string — sent as literal text
Scheduled Agents
Run any agent automatically on a recurring schedule — useful for daily briefings, weekly summaries, monitoring tasks, and timed reports.
Setting up a schedule
- Go to Admin → Schedules.
- Click + Add Schedule.
- Choose an agent and enter a prompt (this is the message sent to the agent each run).
- Use the visual frequency picker to set the timing — no cron syntax knowledge required.
- Enable it and save.
Visual cron builder
The schedule modal includes a point-and-click frequency builder. Select how often to run, set the time, and the cron expression is generated automatically.
| You select | Generated expression | Meaning |
|---|---|---|
| Daily at 9:00 | 0 9 * * * | Every day at 9:00 UTC |
| Weekly — Mon at 9:00 | 0 9 * * 1 | Every Monday at 9:00 UTC |
| Monthly — 1st at 8:00 | 0 8 1 * * | 1st of every month at 8:00 UTC |
| Every 30 minutes | */30 * * * * | Every 30 minutes, all day |
| Every 2 hours | 0 */2 * * * | Every 2 hours, on the hour |
| Custom | (you type it) | Full cron expression, 5 fields |
Use ▶ Run in the Schedules table to trigger any schedule immediately and verify it works before waiting for the next scheduled time.
Widgets / Hub
The Hub is the quick-access panel in the chat sidebar. It shows shortcut buttons (widgets) that users can click to jump straight to common actions.
Two built-in widgets are always present: New Chat and New Project. Admins can add custom widgets that open any URL.
Adding a custom widget
- Go to Admin → Widgets.
- Click + Add Widget.
- Enter a title, upload an icon image, and paste the URL to open when clicked.
- Save — the widget appears in the Hub for all users immediately.
Dashboard Charts
The Dashboard tab shows two bar charts:
- Model Usage — total requests per AI model
- Monthly Cost History — estimated USD cost per month
Hover over any bar to see the exact value. Charts update every time you open the dashboard tab.
Admin Panel
The admin panel is accessible at /admin.html. Only users with the admin role can access it.
| Tab | Purpose |
|---|---|
| Dashboard | Usage stats, API costs, monthly charts |
| Users | Create/edit users, assign agent access |
| Agents | Create/edit agents, open Agent Builder |
| Build Agent | Full visual workflow editor — embedded directly in the admin panel |
| Models | Add AI models (API keys, pricing, provider) |
| Conversations | Browse and manage all conversations |
| Projects | Manage projects and folders |
| Knowledge Base | Upload documents per agent (paste text or upload PDF/DOCX/TXT/MD) |
| Schedules | Recurring agent runs with visual cron builder |
| Widgets | Hub shortcut buttons shown to all users in the chat sidebar |
| Calendar | Social media posting calendar |
| Branding | Logo, colors, site name, PWA icons |
| Voice | TTS voices, auto-read settings |
| Settings | SMTP configuration |
AI Models
Add models in Admin → Models. Each model needs:
- Name — display name (e.g. "Claude Sonnet 4.6")
- Model ID — the provider's model ID (e.g.
claude-sonnet-4-6) - Provider —
anthropic,openai, orgoogle - API Key setting — which settings key holds the API key
- Pricing — cost per 1M input/output tokens (for cost tracking)
The API keys themselves are stored in Admin → Branding → API Keys (or directly in the Settings table as anthropic_api_key, openai_api_key, google_api_key).
Users & Access
User roles:
- admin — full access to admin panel and all agents
- user — access only to assigned agents
In Admin → Users, click Edit on any user to change their role, reset their password, or update which agents they can see.
SMTP Settings
Configure email sending in Admin → Settings → SMTP / Email.
| Field | Example |
|---|---|
| SMTP Host | smtp.gmail.com |
| Port | 587 (STARTTLS) or 465 (SSL) |
| TLS | STARTTLS for port 587 — SSL/TLS for port 465 |
| Username | [email protected] |
| Password | App password (Google) or SMTP password |
| From Address | AK Chat <[email protected]> |
After saving, use Send Test Email to verify delivery before using the send_email step in production.