Welcome to Autonomous AI
This guide will walk you through everything — in plain, simple language. No technical background needed. By the end, you'll know exactly how to put AI to work for you.
You don't need to know how to code. Everything in this platform is done by clicking, typing instructions in plain English, and letting AI do the rest.
Take the interactive onboarding wizard — it walks you through creating your first agent and running it in under 3 minutes. You can revisit it anytime.
What can this platform do?
Agents
Your personal AI workers. Each one is trained to do a specific job — like reading emails, analysing data, or browsing the web.
Workflows
A sequence of tasks that run automatically, one after another. Like a recipe — agents follow the steps you define.
AIK Chat
Your AI assistant. Talk to it in plain English to get things done, ask questions, or build new workflows just by describing what you need.
Scheduling
Set any workflow or agent to run automatically — every morning, every Friday, or on any custom schedule you choose.
Debugger & Live Feed
Watch every step your agents take in real time on the Dashboard. Replay any failed workflow from the exact step that broke.
Two ways to run it
The platform is the same either way — every feature in this guide works in both. What changes is where it lives and who looks after it.
In our cloud
You sign up and start working. We run the servers, apply the updates and take the backups. Nothing to install.
On your own machine
You install it on your own computer or server and hold a licence. Your documents, keys and database never leave your building — and with a local AI model, neither do the questions you ask it. You look after the machine; updates arrive with one button.
Most people start in the cloud. Choose your own machine when the data is not allowed to leave — legal files, medical records, payroll, or anything a client contract puts a fence around.
Start by reading Key Concepts (2 minutes), then jump straight to Agents to create your first one. Most people are up and running in under 10 minutes.
Understanding the Basics
Three simple ideas power everything on this platform. Once you understand these, the rest will click naturally.
🤖 What is an Agent?
Think of an agent as a specialist employee. You hire one for a specific skill — one agent checks your email, another reads spreadsheets, another looks things up on the web. You describe what it should do, and it does it whenever you ask (or on a schedule). Agents don't need breaks, don't make typos, and work 24/7.
⚙️ What is a Workflow?
A workflow is a list of tasks that run in order — like a recipe or a checklist. For example: Step 1 — check email for invoices. Step 2 — extract the numbers. Step 3 — save to spreadsheet. Step 4 — send a summary email. You build the list once, and then the workflow runs it automatically every time.
💬 What is AIK?
AIK is your main AI assistant — the one you talk to in the Chat section. You can ask it to do almost anything: "Create a workflow that sends me a daily weather report", or "Which invoices were processed last week?" AIK understands plain English and can control the rest of the platform on your behalf.
How do they work together?
A simple real-world example: you want to automatically process incoming invoices every morning.
You create an Agent for each task
One agent that knows how to read PDF files and extract numbers. One that knows how to write to a spreadsheet.
You build a Workflow that connects them
Step 1: read the invoice folder. Step 2: extract totals and vendor names. Step 3: save to your report.
You set a Schedule
Run every weekday at 8am. From that point on, it runs by itself — no clicking required.
Creating Your First Agent
An agent is your AI worker. Here's how to create one in less than 2 minutes.
Click Agents in the top navigation bar, then click the + New Agent button.
Step by step
Give it a name and description
Choose a clear name like "Invoice Reader" or "Daily Email Checker". The description tells the agent what its job is — write it like you're explaining it to a new colleague: "Check the inbox every morning for new invoices and list them."
Choose what it can do (its Workbench)
This is the agent's skillset. Pick from the list:
Write a Run Prompt (optional but recommended)
This is the instruction the agent follows every time it runs. Write it in plain English, as if you're leaving a note for a colleague: "Check the INBOX folder, find emails with attachments from the last 24 hours, and list the sender, subject, and attachment name."
💡 The more specific you are, the better results you get.Save and test it
Click Save Changes, then click the ▶ Run button. You'll see the agent working in real time — its output appears step by step on screen.
Choosing a backend type
When creating an agent from scratch (+ New Agent), you pick how it connects to its tools. There are three options:
🔌 MCP Server — Full Power
The agent gets a full set of callable tools via a Python MCP server. Pick an existing workbench (Mail, Excel, Browser…) from the dropdown, or describe what tools you need and click Generate with AIK — AIK writes the entire MCP server for you.
⌨️ CLI Tool — Simple
The agent runs a Python script or shell command and reads its stdout as the result. Enter the command manually (e.g. python scripts/extract_invoice.py --arg {"{"}input{"}"}), or describe what the script should do and click Generate script with AIK. No tokens are consumed during the tool call itself — only the final LLM reasoning step counts. Great for deterministic tasks like file parsing or data extraction.
📝 Markdown Instructions — Low Cost
The agent has no external tools — it reasons purely from a Markdown instruction file. Write the instructions yourself, or describe the agent's role and click Generate instructions with AIK. Best for agents that summarise, classify, translate, or draft text.
Each backend panel has a text field where you describe what you want, and a "Generate with AIK" button. Fill in the field first — AIK reads it to write the server, script, or instructions. The generated code appears in a preview panel and is saved to mcp_servers/ or scripts/ when you click Deploy.
Using the template library
Don't want to start from scratch? The Agents page has a built-in template library with ready-made agents for the most common tasks. Just click a template, give it a name, and deploy it in one click.
Some agents need extra settings (like an email password or API key) to work. You'll find these under Environments inside the agent's settings. If the agent doesn't work, this is usually the first thing to check.
🔏 Digital Signature Extractor
A CLI agent that extracts all information from digitally signed PDFs — signer name, email, organization, certificate issuer, serial number, validity period, signing time, reason, location, algorithm, and key size. Just point it at a signed PDF.
📄 Document Converter
A CLI agent that converts between file formats: Word↔PDF, Excel↔CSV, Markdown→HTML, Image→PDF, PDF→Images. Say what to convert in plain language — e.g. "Convert report.docx to PDF".
If you have the Local Worker running with the file's folder shared, the agent fetches the file directly from your computer, converts it on the cloud, and saves the result back to the same folder on your PC — no uploading needed. If the worker is not connected, upload the file via My Files first.
🔄 After a run
When an agent finishes — or fails, or you stop it — the Agents page updates itself: run history, cost and tokens, the time-saved estimate and anything the agent learned. No page reload needed.
🎥 Video Maker Agent
Describe the video and get a finished MP4: "30 second ad for our accounting service, calm, ends on our website". Your model writes the scenes — the line on screen, how long it stays, what the narrator says — each scene is drawn in the platform's colours and read aloud (English or Bulgarian, picked from your own text, no key needed), and the file lands in My Files. Say vertical for a 9:16 clip, no voice for silence, a length in seconds, or change the narrator: female voice, British voice, and soft or firm for how it is spoken (slower and warmer, or quicker and stronger). The run report names the voice it used. Write the request in Bulgarian and the captions and voice are Bulgarian too. Put an MP3 in data/music/ for background music. Add a free Pexels key (Settings → AI/LLM → API keys, as PEXELS_API_KEY) and each scene uses real stock footage with the line over it instead of a plain card. For footage that is actually made for your scene, Settings → AI/LLM → Video generation turns on a paid service. The one to start with is Veo 3.1 Lite: about $1.50 for a thirty-second video, it makes its own sound, and it needs no key beyond the Gemini one you already have. The same Veo comes in two dearer tiers — Fast (about $0.10 a second) and the full model (about $0.40, roughly $12 for thirty seconds) — and the picker shows all three. Other makers, each wanting its own key: Luma Ray 2 ($0.04, silent), Hailuo 02 ($0.045, silent), Grok Imagine ($0.07, any shape of frame), Hailuo H3 ($0.08, with sound). Two more go through fal.ai, which resells them: Wan ($0.05) and Kling ($0.10). And if you have a machine with a strong graphics card (16–30 GB), Local GPU costs nothing at all: install ComfyUI with Wan 2.2, LTX-2 or CogVideoX, build the video workflow there once, name its prompt box AIK_PROMPT, export it with Export (API) and give AIK the file's path. AIK writes each line into that box and takes the finished clip — the model, size and quality stay entirely yours. Expect minutes per scene rather than seconds. It is off unless you switch it on, you are billed by the service on your own key, and the run report says what it cost. If the service refuses or the key is missing the video still comes out — on stock footage — and the report says which service refused and why. Every video is marked as AI-generated: a small label in the corner of every scene, and a signed note written inside the file itself, so it still says what it is after being copied or uploaded. This cannot be switched off — it is what EU AI Act Article 50 asks for.
🎬 Video Editor Agent
A CLI agent that adds AI voiceover and background music to any video. Write a script with timestamps like [0:05] "Your text here" — each voice clip is generated and placed at the exact second. Original audio is stripped automatically. Drop an MP3 into data/music/ for background music. Uses edge-tts (free, Microsoft voices) and ffmpeg.
Advanced agent types
Beyond the basic workbenches, the platform includes specialist agents for powerful automation scenarios.
🌐 Browser Agent — Web RPA
Automates real websites using a real browser (Playwright). Supports smart waits, iframes, multiple tabs, drag & drop, JavaScript execution, form auto-fill, table extraction, and session save/restore (so it can log in once and reuse the session later). Ideal for scraping portals, filling online forms, or testing web apps.
🖥️ Desktop Agent — PC Automation
Controls the mouse and keyboard on your desktop. Can read on-screen text using OCR, find buttons and icons by image matching, manage open windows (focus, close, list), take screenshots of specific regions, and interact with any application — including legacy programs with no API. Ideal for automating desktop software, ERP screens, and local tools.
🏢 SAP Agent — Legacy ERP
Connects directly to SAP GUI for Windows via the built-in scripting API. Can run T-codes, read and write field values, navigate menus, read ALV tables row-by-row, and save documents — all without touching SAP's web or BAPI layer. See the Integrations Setup → SAP section for configuration steps.
🟦 Teams Agent — Microsoft 365
Full Microsoft Teams automation via the Graph API. Send channel messages, reply in threads, create channels, schedule online meetings, manage team members, send 1:1 chats, and search messages across the entire organisation. See Integrations Setup → Microsoft Teams for the Azure app registration steps.
🛡️ Security Monitor
Analyzes platform activity logs for security threats without requiring any SQL access. When you run it, the platform automatically fetches the last 50 activity events and 20 agent run logs and passes them to the agent. The agent applies NIST CSF and MITRE ATT&CK frameworks to detect brute-force attempts, data exfiltration signals, privilege escalation, and anomalous agent behaviour — then produces a scored security report with recommended actions. No environment variables needed.
Agent Knowledge Base (Memory)
Every agent has a personal knowledge base — a set of key/value facts it can remember between runs. Open an agent and click the Knowledge Base tab. Click + Add Entry, type a key (like "default_recipient") and a value (like "boss@company.com"), then save. The agent can read and update these entries during its runs — useful for storing settings, preferences, or accumulated knowledge.
When self-improvement is enabled, the agent also automatically writes recovery lessons to its knowledge base whenever it retries a failed step and succeeds. Over time, it builds up a library of "what went wrong and how I fixed it" that makes future runs more reliable.
Agent Self-Improvement (opt-in)
Each agent can review its own past run logs and automatically suggest improvements to its instructions. Open an agent, go to the Self-Improvement tab, enable it, and pick how often to run analysis. The agent will periodically read its recent results and rewrite its own system message to perform better on future tasks — no manual tuning needed.
Set a Monthly Budget on the agent to cap spending. The runner will stop the agent once the limit is reached for that calendar month.
Keyboard shortcut & output saving
⌨️ Ctrl + Enter to Run
When the Run Prompt text box is focused, press Ctrl + Enter (or ⌘ + Enter on Mac) to run the agent immediately — no need to click the ▶ Run button.
⬇ Save Agent Output
After an agent finishes, its result appears in the Last Run Result panel. Click the ⬇ Save button in the panel header to download the result as a .txt file named after the agent.
🔔 Browser Notifications
When you first open the platform, your browser will ask if it may send notifications. If you allow it, a desktop notification pops up whenever an agent run completes — even if you've switched to another tab or window.
Building Your First Workflow
A workflow connects agents into a sequence of steps. You define the order, and the platform runs everything automatically.
Click Workflows in the top navigation bar, then click + New Workflow.
Step by step
Create the workflow
Give it a name that describes what it does, like "Morning Invoice Report" or "Weekly Sales Summary". Click Create.
Add steps
Click + Add Step. Each step is one task. Give the step a name, choose which agent does it, and write the instruction for that step. You can add as many steps as you need.
📌 Steps run in the order you list them. You can drag them to reorder.Run it manually first
Click the ▶ Run button to test it. Watch the live output — each step completes and passes its result to the next one. Check the Run History tab to see what happened.
Set a schedule (optional)
Scroll down to the Schedule section. Enable it, pick a time and which days to run, and save. The workflow will now run by itself on that schedule — you don't need to do anything.
IF Conditions — branching your workflow
Sometimes you want the workflow to take a different path depending on what happened in a previous step. For example: "If the email contains the word 'urgent', notify me immediately. Otherwise, just log it."
Add an IF step
Click + Add Step and change the Step Type to ⚡ IF Condition.
Set the condition
Choose a rule: contains / equals / does not contain / starts with, and type the word or phrase to look for in the previous step's result.
Choose what happens on TRUE and FALSE
Enter the step numbers that should run if the condition is met (TRUE), and which steps to skip if it isn't (FALSE). The workflow will automatically take the right path every time.
"contains" matches whole words only — NOT_FOUND will not match a condition checking for FOUND. Use specific values like STATUS: FOUND for reliable matching.
If the previous step had an error or timeout, the condition defaults to the FALSE branch (no valid output to check). The "Stop workflow" checkbox on the FALSE side is respected in this case too.
While running, each step shows a model badge (e.g. ⚙ qwen2.5:7b) so you can see which AI model is being used.
The Canvas view
Click the ⬜ Canvas button in the workflow header to see a visual map of your workflow. Each step is a card, connected by arrows. IF steps show two output arrows — one green (TRUE) and one red (FALSE). Human Approval steps appear as a purple 👤 node. You can double-click any card to edit that step.
👤 Human Approval — pause and wait for a person
Add a Human Approval step anywhere in your workflow to pause execution and wait for a real person to review and decide before continuing. This is useful for high-stakes actions — like approving a payment, publishing content, or sending a bulk email — where you don't want full automation.
Add a Human Approval step
Click + Add Step and change the Step Type to 👤 Human Approval. Write a short instruction in the Description — this is what the reviewer will see.
Run the workflow — it will pause
When the workflow reaches the approval step, it stops and shows "⏸ Awaiting human approval" in the run output. A notification appears in the dashboard bell.
Review on the Dashboard
Open the Dashboard and find the Pending Approvals card — it appears just below the AIK Command Center banner. Click Review to see the instruction, the previous step's output as context, and buttons to Approve or Reject. You can add an optional comment — it will be passed as context to the next step.
Tip: When adding a Human Approval step to a workflow, check the 🔔 In-app checkbox to make the approval card appear on the Dashboard. Leave it unchecked if you only want Email or Webhook notifications.
Workflow resumes automatically
On approval, the workflow continues from where it left off. On rejection, it stops and is marked as rejected in the run history.
Trigger Chains — one workflow starts another
Use a Sub-Workflow step to run a second workflow as part of the current one. This lets you build modular automation — for example, a "daily report" workflow that calls a "send email" workflow as its last step, keeping each piece reusable on its own.
Step shortcuts — duplicate & single-step run
Each step in a workflow has two extra action buttons next to the usual edit/delete:
⧉ Duplicate Step
Click the ⧉ button on any step to instantly create a copy of it at the end of the workflow. Useful when two steps are similar — duplicate, then adjust the instruction for the second one.
▶ Run Single Step
Click the purple ▶ button on any step to run only that step in isolation, without running the rest of the workflow. The output appears in the live run feed just as a full run would.
Failure notifications
The Failure Notifications toggle in the Schedule section of any workflow controls whether you receive an email when a scheduled run fails. When On, the platform sends a failure email to the address configured in your mail settings. This is a global setting — it applies to all your scheduled workflows, not just the one you're looking at.
Below the toggle there is a Send this workflow's failures to box. Put an address there and that workflow emails it whenever a run fails — manual or scheduled — even if the toggle above is off. Useful when one workflow matters to a colleague who does not have an account. Click Save settings to store it.
Dry Run — test without side effects
Enable Dry Run mode in the Run panel before clicking ▶ Run. The workflow executes all its logic but skips any actions that would have real-world effects (sending emails, posting to social media, writing files). Use it to verify the flow and see what the agents would do before committing.
Smart Recovery — automatic retry on failure
Set Max Retries on any step (in the step settings). If a step fails, the runner automatically tries again — up to the limit you set — before marking it as failed. Combine with a Timeout (seconds) to prevent a hung step from blocking the whole workflow.
Time-Travel Replay — restart from any step
If a workflow fails halfway through, you don't have to start all over. Open the Analytics page, click Debug on any run, and in the step timeline click Replay from Step N next to the step where things went wrong. The workflow restarts from that step only — all steps before it are skipped, saving time and cost.
Your 5-step workflow fails at step 4. You fix the agent's instructions, then click Replay from Step 4. Steps 1–3 are not re-run. The workflow picks up from step 4 and continues to the end as normal.
Import & Export
You can save any workflow as a file and reload it later — useful for backups, sharing with a colleague, or moving workflows between environments (for example, from your local machine to the cloud server).
⬆ Import JSON
Click the ⋯ button at the top of the Workflows panel and choose Import JSON. Pick a .json file you previously exported — the workflow appears in your list immediately, ready to use.
⬇ Export
Open any workflow, click the ⋯ menu inside the workflow editor, and choose Export. This downloads a .json file containing the full workflow definition — all steps, settings, and schedule.
📋 From Template
Click ⋯ → From Template to open the Template library. Choose a ready-made workflow blueprint (Built-in or Marketplace), give it a name, and click Create Workflow. A full workflow is created for you — just adjust the steps to fit your needs.
⚡ Batch Runs — process hundreds of rows at once
Have a CSV file with 50 customer names, 200 invoice numbers, or 1 000 rows of any data? Batch Runs lets you run a workflow once for every row — automatically.
Open a workflow and click ⚡ Batch
The Batch button appears next to the regular Run button on every workflow.
Upload your CSV file
Drag and drop or browse for a .csv file. Each row becomes one run. The first row (headers) tells the workflow what each column means.
Watch progress and download results
A progress bar shows completed / failed rows in real time. When done, click ⬇ Download Results to get a JSON file with every row's output.
Rows run one after the other (not all at once) so you don't hit API rate limits. A 200-row batch on a 3-step workflow still completes automatically while you do something else.
Process Audit — can this job be automated?
Describe how a job is done today, in ordinary words. AIK reads it and tells you which parts a machine can take over, how much time it saves, what it costs, and — the useful part — what it still needs to know before anyone builds anything.
How to use it
Describe the work
Write it the way you'd explain it to a new colleague: "every morning we open the shared mailbox, download the invoices, type them into Excel, and anything over 5,000 goes to the manager." Detail helps — vague descriptions produce vague answers.
Or attach something
A written procedure, or a photo of a diagram on a whiteboard. AIK looks at the picture directly, the same way it reads photographed invoices.
Say how often it runs
Twenty times a month, five times a day — this is what turns "saves 30 minutes" into a real monthly figure.
Read the report
Each step is marked ✅ can be automated, ⚠️ partly, or ⛔ needs a person. Steps involving judgement, a signature, or someone being accountable are meant to stay with people.
The two money figures
They are deliberately separate, because they come from different places.
Cost to run — worked out from what your runs actually cost, not a guess. If your account hasn't run enough yet to measure, the report says so instead of inventing a number.
Cost to build — you type this in, because no AI knows your rates. You give two figures: what you'd charge to build it, and what it would cost the client to build it themselves. The client sees both and can compare.
❓ "What I couldn't work out"
Every report ends with the questions AIK couldn't answer from your description — which mailbox folder, what happens when a total doesn't match. This is the most valuable section. It is exactly where automation goes wrong, and it is your list of questions for the next conversation with the client.
Sharing the report
Download as PDF
A clean document you can email or print for a meeting.
Share a link
Creates a public read-only page so a prospect can read the report without an account. Off until you switch it on, and you can switch it off again at any time.
Edit and analyse again
The first answer is usually thin because the description was. Fill in what was missing and run it again — the earlier version is kept, so you can see what changed once the gap was explained.
Letting AIK build it
Tick "Also build this workflow" and AIK creates the workflow it described, with the steps it identified.
It is created switched off, and that is not a suggestion — it is enforced. While it is off, the workflow can only be dry-run: it walks through the steps and touches nothing. It cannot send an email, move a file or pay an invoice until you open it in Workflows, read every step, and activate it yourself.
The reason is simple. A report that is half right is a document you correct. A live workflow that is half right acts on real data before anyone notices. Treat what AIK builds as a first draft written by someone who has never seen your business.
Document Types — process any document automatically
Tell the platform once what to pull out of your documents — invoices, receipts, contracts, delivery notes — and it reads each file, extracts your fields, checks them, and saves the results. The AI is used only to read the document; everything else is fast, predictable code.
How it works
Define a document type
Open Document Types in the menu and click + New type. Give it a name (e.g. "Receipts") and list the fields to extract — each field has a type (text, number, date, or list), and optional checks: required, minimum/maximum for numbers, or a pattern.
Choose what happens with the results
Save records to the platform database, append rows to an Excel file, email you a summary — or require your approval before anything is written.
Run it
Click Run, point it at a folder (or leave empty to scan your data & sandbox folders), and watch the records appear. Files that fail validation are listed separately with the reason — nothing stops the batch.
Review the records
Click Records on any type to see everything extracted, filter by status, and — if approval is on — press Approve pending to apply the Excel/email actions. Tick the checkboxes (or the header select-all) and press Delete selected to remove several records at once — the duplicate check forgets them, so those documents can be processed again.
Three ways to run a pipeline
From the page
The Run button on the Document Types page — pick a folder and go.
From chat
Tell AIK "process my invoices" or "run the document pipeline for Contracts".
Inside a workflow
Add a DocumentPipeline step in the workflow builder — a Document type dropdown appears where you pick which type it runs (including your own copies, e.g. "Invoice copy"). Combine it with schedules, approvals, and email steps like any other step.
The built-in Invoice type
"Invoice" comes ready-made: vendor, invoice number, date, total amount, and line items — with results going to the database and Invoices.xlsx, exactly like the classic invoice pipeline. Built-in types can't be edited directly — press Customize to get your own editable copy.
More options on each type
Saved documents folder
Each type remembers where its documents live (My Files or a subfolder). The Run button uses it automatically — no popup, no typing.
Schedule
"Run automatically at 09:00 every day" — set it once in the type editor; new documents in the folder get processed without you.
Photos & scans read by AI vision
A photographed bill or a scanned PDF is shown to the AI model as a picture — no more garbled OCR text. Works with cloud models (Claude, Gemini, GPT) and local/Ollama vision models (gemma, qwen-vl), so sensitive documents can stay on your machine. Normal digital PDFs keep the cheap text path.
Risk check
Flags any amount far above or below your typical value (e.g. an OCR misread of 14213 instead of 142.13). Flagged records wait for your approval instead of being saved silently.
Math check
The pipeline adds up the line items itself and compares with the total (VAT-aware). If they don't match, the record waits for your review — catches misread totals no model can spot on its own.
New-vendor check
A document from a company you've never had before is held for review — protects against misread vendor names and fake-invoice fraud. Quiet on the very first run.
Digital signature check
For signed PDFs, the pipeline records who signed and whether the certificate is valid — as extra columns in your output. Turn on Strict and any unsigned or badly-signed PDF waits for your approval.
Any output format
Save results as Excel (.xlsx), CSV or JSON — the file ending decides. The email report includes a results table, a quick analysis (totals, averages, top vendors) and the file attached.
ERP integration
Send every record as JSON to any third-party API (URL + key), or insert rows directly into an external PostgreSQL/MySQL database.
Documents from email or chat
Install the "Invoices from Email" template (Templates page): it checks your inbox, downloads the attachments, and runs the pipeline. Swap the first step for a Viber/Slack agent to collect documents from a chat.
Delete one or many
Remove a single type with its Delete button, or tick the checkboxes on several and press Delete selected to remove them in one go. Built-in types can't be deleted; deleting a type also removes its extracted records.
When something goes wrong
One bad file never stops the batch. Files that can't be read are listed as failed with the reason; files with wrong values are invalid with the exact check that failed; records caught by the risk, math, new-vendor or strict-signature checks are flagged and wait for your approval — each with a plain-language reason. A wrongly extracted record can be deleted with the 🗑 button under Records, so the document can be processed again. Every run leaves a "Last run" status line on the type's card (green = OK, red = the error text), and the full history is in the Monitor page. Need to abort a long run? Press ⏹ Stop on the type's row — the pipeline halts after the current document and reports how far it got.
Talking to AIK
AIK is your AI assistant. You can talk to it just like you'd message a colleague — in plain, everyday language.
Click Chat in the top navigation bar. You can also start a conversation from the Dashboard.
What can you ask AIK?
Ask questions about your platform
"How many workflows do I have?" · "What did the invoice workflow do last Tuesday?" · "Which agents are currently active?"
Ask how to run the platform itself
AIK can read its own manuals — the technical docs, the operations runbook, the client setup checklist and the release guide — so it answers from what is actually written there rather than guessing.
"How do I back up a client install?" · "What do I need to fill in after a fresh install?" · "How do I publish an update to existing clients?" · "Where does AIK keep its memory?"
Ask it to build things for you
"Create a workflow that reads my inbox every morning and sends me a summary." · "Build me an agent that checks the weather." AIK will design and create it automatically.
Ask it to run things
"Run the Morning Report workflow now." · "Check my email and tell me if there are any invoices."
Ask it anything you'd ask a smart assistant
"Summarise what happened in all my workflow runs this week." · "What's the best way to automate my expense reports?"
Tips for better results
✅ Be specific
Instead of "check emails", say "check my Gmail inbox for emails received today that contain the word 'invoice' and list the sender and subject". The more detail you give, the better the result.
✅ Tell it the outcome, not the method
Don't worry about how AIK will do it — just describe what you want to happen. "By the end I want a spreadsheet with all vendor names and totals" is better than trying to describe the technical steps.
✅ Use follow-up messages
If the result isn't quite right, just reply with a correction. "Good, but also include the date of each invoice." AIK remembers the conversation and adjusts.
Your AI on the phone
The Voice Agent answers (and can make) real phone calls — in Bulgarian or English. The caller talks, the agent understands, thinks with your AI model, and speaks back. You can also call it straight from the browser, no phone needed.
Settings → 🎙️ Voice tab (language, ears, mouth, and the agent's role). Try it from the Call Agent page in the sidebar.
How it's built — ears, brain, mouth
Ears — understanding what the caller says
Choose per install: Free (self-hosted Whisper), Twilio (built-in, best-value Bulgarian), or Cloud (Deepgram, most accurate).
The website chat widget says it too
If you put the chat box on a client's own website, visitors there can't tell it isn't a person — so the widget shows "AI assistant" in its header, a line at the start of every conversation, and a note under the input box. Shown by the page itself, so no matter how you word the agent's greeting it can't go missing.
It always says it's an AI
Every call opens by telling the person they're speaking with an AI assistant, and every SMS, WhatsApp and Viber reply is marked the same way. This is required by EU law (AI Act Article 50, in force since 2 August 2026) and it's built into the code — it happens whatever persona you write, and it can't be switched off. Outbound calls announce it first of all, since the person didn't choose to be called.
Brain — deciding what to say
Uses whatever AI model you picked in Settings → AI/LLM (cloud model, or a free local/Ollama one). Nothing extra to set up.
Mouth — speaking the reply
Choose per install: Free (self-hosted Piper, nice Bulgarian voice), Twilio (built-in voices), or Cloud (ElevenLabs, best quality).
Pick your combination (Settings → Voice)
Ears and mouth are chosen separately, so you can mix them — e.g. Twilio ears + free Piper mouth is accurate and cheap. Pick the language (Bulgarian or English), and choose a Voice Agent Template (Receptionist, Customer Support, Appointment Booking, Sales…) then edit the instructions to fit your business.
Every call always uses your Twilio phone minutes (the phone line itself). Free ears/mouth run on your server at no extra cost; Twilio and Cloud ears/mouth add a small per-use fee. The brain (LLM) is billed per your chosen AI model — a local/Ollama model is free.
Setting up Twilio (the phone line)
Twilio connects your agent to the real phone network. You need a free account, a phone number, and a few keys — all pasted into Settings → Platform Keys.
Create an account & get a number
Sign up at twilio.com. In the Console, buy a phone number with Voice capability (Phone Numbers → Buy a number). Paste it into TWILIO_PHONE_NUMBER.
Account SID & Auth Token
On the Console dashboard, copy Account SID → TWILIO_ACCOUNT_SID and Auth Token → TWILIO_AUTH_TOKEN. (The Auth Token is needed so the agent can read the call recording.)
API Key (for the in-browser Call button)
Console → Account → API keys & tokens → Create API key (Standard). Copy the SID → TWILIO_API_KEY_SID and the Secret (shown once!) → TWILIO_API_KEY_SECRET.
TwiML App → point it at your server
Console → Voice → TwiML Apps → Create. Set its Voice Request URL to https://your-domain.com/voice/incoming (POST). Copy the App SID (starts with AP…) → TWILIO_TWIML_APP_SID.
Point your phone number's webhook
Open your bought number → Voice & Fax → A Call Comes In → Webhook → https://your-domain.com/voice/incoming (HTTP POST). Save. Now calls to that number reach your agent.
Optional: Cloud voice keys (most accurate Bulgarian)
Only needed if you pick the Cloud ears/mouth. Both have free trials, and if a key is missing the agent safely falls back. Paste keys into Settings → Platform Keys.
Deepgram — cloud ears
Sign up at deepgram.com (they give ~$200 free credit). Create an API key → paste into DEEPGRAM_API_KEY.
ElevenLabs — cloud mouth
Sign up at elevenlabs.io (free tier). Profile → API key → paste into ELEVENLABS_API_KEY. Optionally set a specific ELEVENLABS_VOICE_ID.
On-premise / self-hosted
To use the Free engine on your own machine, install the voice engines once: python scripts/install_voice_engines.py. This downloads the Piper voice binary and the Bulgarian + English voices for your OS. Whisper installs automatically with the app. Then the free ears+mouth work exactly like on the cloud.
What AIK remembers
AIK keeps context so you don't repeat yourself — from the current chat, to long-term facts, your preferences, and your own documents.
The kinds of memory
The current conversation
Within a chat, AIK remembers what was said — so you can reply "make it shorter" or "also add the date" and it knows what you mean.
Long-term facts
Tell AIK something once and it remembers across sessions — your company name, your accountant's email, a supplier list. It saves and recalls these on its own during conversations.
Your preferences
Preferences are remembered too — e.g. "always reply in Bulgarian" or "keep answers short."
Your documents (knowledge base)
Upload documents and AIK can search them by meaning, not just keywords, to answer questions from their contents — no re-reading everything each time.
Shared across your agents
Facts you save are available to all your agents, so they work as a team. Each agent can also keep its own private notes (its Knowledge Base).
You're always in control
Everything AIK remembers stays inside your account, and you can delete any saved memory at any time. Deleting your account erases it all (GDPR).
How long is it kept? By default, chat history is kept until you delete it. An admin can turn on automatic deletion under Settings → ⚡ Advanced → Data Retention — e.g. "delete chat history older than 90 days" — handy for privacy/compliance. Your deliberately-saved facts & preferences and the tamper-proof audit log are never auto-deleted.
One assistant, every channel
An Assistant is a single saved agent — its personality, language, voice and tools — that your customers reach any way they like: a chat box on your website, a phone call, or a message on SMS, WhatsApp or Viber. Same brain, same answers, everywhere.
Click Assistants in the sidebar. Start from a ready-made one (Appointment Booker, Receptionist, Support, Sales) or make your own.
Make one in a minute
Pick a ready-made one (or “New Assistant”)
Duplicate Appointment Booker, Receptionist, Customer Support or Sales — then edit it. Built-ins are read-only, so “Use this” makes your own editable copy.
Set its personality & language
Write what it does (or keep the template text), choose Bulgarian or English, and pick the ears/mouth engine (free / Twilio / cloud).
Give it channels
Add a phone number (calls + SMS + WhatsApp to that number reach it), grab the 📞 Call link for the website, and point a Viber bot at it.
The channels
Website chat & browser call
Share the Call link or embed it — visitors can talk with no phone, no login.
Phone — in and out
Calls to the Assistant's number are answered by it; it can also call out (e.g. an appointment reminder).
SMS · WhatsApp · Viber
Messages reach the same Assistant and it replies in text. (WhatsApp + SMS via the number's Messaging webhook; Viber via its bot webhook.)
Appointment Booker — the ready-made pipeline
The built-in Appointment Booker runs the full flow: it checks your Google Calendar or a plain Excel schedule for free times, offers the caller slots, confirms, books it — and can call the customer later to remind them. Point it at your calendar or an .xlsx in your files, and it works on chat and phone alike.
Each call and message turn is written to your tamper-proof audit log (EU AI Act Art. 12) — who said what, and the reply.
Organising with Projects
Projects are folders. They help you keep your agents and workflows organised when you have more than a few.
Create a project
On the Dashboard or Workflows page, click + New Project. Give it a name like "Finance Automation" or "Marketing Tools". Pick a colour to make it easy to spot.
Add workflows and agents to it
Right-click any workflow or agent and choose Move to Project. You can also set the project when creating something new.
Share with a colleague (optional)
Open the project, click Members, and enter a colleague's email address. They'll be able to see and use the workflows inside it.
Manage Your Files
Upload files to the cloud, connect local folders from your browser, or install the AIK Local Worker to give agents full access to your computer.
Three ways to work with files
Cloud Upload / Download
Go to My Files in the nav bar. Upload files from your computer, create folders, download results. This is the simplest way — works everywhere, no setup needed. Small text files (.txt, .csv, .json, .md, .log, .yml) have an Edit button to change them right in the browser. Any file an agent creates or touches while running a workflow shows up here automatically too — there's no separate hidden folder to look for.
Browser Local Folder (Chrome/Edge)
On the My Files page, click Connect Folder. Your browser will ask which folder to share. Files appear in the list and you can sync them to the cloud with one click. No install needed — but only works while the browser tab is open.
AIK Local Worker (most powerful)
A small app you install on your computer. It connects to AIK Cloud via a secure channel and lets AI agents directly read/write files, query your local databases, use your local Ollama models, and access any MCP tool servers — all without uploading anything.
Install:
pip install websockets requests pystray pillow python aik_worker.py --tray --folders "C:\Invoices,D:\Reports"
Local Worker capabilities
When the worker is running, AI agents get these extra abilities on your machine:
| 📁 Files | Read, write, list, and search files in your allowed folders |
| 🤖 Ollama | Run AI prompts on your local Ollama models (llama3, mistral, etc.) |
| 🗄️ Databases | Query local SQLite and PostgreSQL databases |
| 🔌 MCP Servers | Forward tool calls to any MCP server running on your machine |
| 🖥️ System Tray | Runs as a small icon near your clock — no window needed. Green = connected. |
Quick start (cloud users)
If you're using AIK Platform in the cloud, here's all you need to do:
Download
Go to My Files page and click Download Worker. The browser's own download bar shows the progress — you can navigate to other pages and it keeps downloading.
Run
Extract the zip and double-click AIK-Worker.exe. A small icon appears near your clock (green = connected, red = offline). It connects to the cloud automatically — no login, no setup.
Add folders
Go to My Files page, click Manage folders, type the folder paths you want to share (e.g. C:\Documents), and click Add. AI agents can now read and write files in those folders.
The worker starts automatically with Windows and runs in the background. Already installed? Just start AIK-Worker.exe — it reconnects instantly. The ↺ Refresh button on My Files checks the connection immediately.
Advanced usage
# With a local SQLite database python aik_worker.py --tray --db sales:sqlite:C:\data\sales.db # With a custom MCP tool server python aik_worker.py --tray --mcp mytools:python:C:\tools\my_server.py # Re-run setup wizard python aik_worker.py --setup
Running Things Automatically
Any workflow or agent can be set to run on a schedule — without you having to do anything. A scheduled run behaves exactly like pressing Run yourself: the same model, the same agent instructions, the same approval steps and conditions.
Simple schedule (time + days)
The easiest way. Open any agent or workflow, scroll to the Schedule section, enable it, pick a time and tick the days you want. Done.
Use the preset buttons to set days in one click: Every day, Weekdays, Weekends, Mon only, or Clear — then just set the time.
Enable schedule → click Weekdays preset → Time: 08:00 → Save. The agent runs every weekday at 8am.
Cron expression (advanced)
For more precise control — like "every 30 minutes" or "on the first day of every month" — switch to ⚙ Cron mode and type a cron expression.
Every 30 minutes
*/30 * * * *
Every day at 9am
0 9 * * *
Weekdays at 9am
0 9 * * 1-5
Every 2 hours
0 */2 * * *
The platform checks for scheduled runs every minute. If you set a schedule and it doesn't run, make sure the workflow status is set to Active.
Triggering Workflows from Outside
A webhook lets another app (Zapier, Make, your own system) start one of your workflows automatically.
A webhook is a special link. When something calls that link, your workflow starts running. You control who has the link.
Open a workflow and scroll to Webhooks
Click + Add, give the webhook a name (e.g. "From Zapier"), and click Create.
Copy the webhook URL
You'll see a unique URL. Copy it — this is what you paste into Zapier, Make, or any other tool.
Paste it into the other tool
In Zapier or Make, choose a "Webhook" action and paste the URL. Whenever that action fires, your workflow will start.
💡 You can also send a message with the webhook — it will be passed to the workflow as its starting instruction.If a webhook-triggered workflow fails (network error, timeout, agent crash), the platform retries it automatically — after 1 minute, then 5 minutes, then 15 minutes. After 3 failed attempts it stops and marks the webhook as error. You can see all attempts in Run History.
Public API — call AIK from your own apps
Generate a secret key and use it to trigger AIK from scripts, Zapier, n8n, or any HTTP tool — no browser login needed.
How it works
API keys let external apps talk directly to your AIK platform. Add the key as a header on every request — that's it.
Go to API Keys
Click API Keys in the sidebar.
Generate a key
Give it a name (e.g. "My Script"), choose an optional expiry date, click Generate. Copy the key — it is shown only once.
Use the key
Add this header to every request: X-API-Key: aik_your_key_here
Available endpoints
Send a message to AIK
POST /v1/chat
{"message": "Summarise the latest invoice"}List your workflows
GET /v1/workflows
Run a workflow
POST /v1/workflows/{id}/run
{"variables": {"recipient_email": "ceo@company.com"}}Security tips
Keep keys secret
Never share a key or commit it to Git. If a key leaks, revoke it immediately from the API Keys page.
Set expiry dates
For one-off integrations, set a 30-day expiry. Expired keys stop working automatically.
Full API docs
Go to /docs (Swagger) → scroll to Public API v1 for interactive testing.
Drive AIK from Claude Desktop or Claude Code
Plug Claude into your AIK and talk to it normally — “run my invoice workflow”, “what did my agents do today”, “build me a workflow for this process”. Claude reaches into AIK and does it.
Setting it up
Make a key
Sidebar → API Keys → Generate. The Connect Claude box on that page then writes both settings out for you, filled in with this install’s address — copy from there instead of typing anything below.
Claude Desktop
Settings → Developer → Edit config, and add under mcpServers:
"aik": {
"command": "npx",
"args": ["-y", "mcp-remote",
"https://your-aik-address/mcp",
"--header", "Authorization: Bearer YOUR_KEY"]
}Claude Code
One line instead:
claude mcp add --scope user --transport http aik https://your-aik-address/mcp \ --header "Authorization: Bearer YOUR_KEY"
Restart Claude
AIK’s actions appear in its tool list. Everything runs as the owner of that key.
New AI models
Settings → AI/LLM → Check providers for new models asks every provider what it offers now and tests each one with a tiny call. It shows how far it has got — “42 of 130 models checked” — and takes a few minutes. Press Apply and the new models appear in the picker straight away; no restart. In the report, BROKEN means the model was kept: the provider still lists it, our test call failed, and the error was not proof it is gone.
Language
The picker at the top of the app switches between English and Bulgarian. It changes the navigation and the translated parts of the app, and it also sets the language AIK replies in. Pages that have not been translated yet stay in English — more of them are being marked up over time.
Who pays for the thinking
Talking to Claude costs you nothing extra — it is your Claude plan. When you ask it to run something, you choose whose model does the work.
Set it once
Settings → AI/LLM → “Let Claude do the thinking”. Off by default. Tick it and every run Claude starts uses your Claude plan without your having to say so each time. It changes nothing for runs you start here in AIK — those have no Claude session to borrow, so they use your model as always.
AIK thinks (default)
The run uses the model set in AIK, and is billed to that provider — or free, if it is a local model. Say “run it with AIK”, or say nothing.
Claude thinks
Say “run it, and you do the thinking”. Every step asks Claude instead of a provider, so it costs no API credits. If your Claude app cannot do that, you get a clear message rather than a surprise bill.
What Claude can and cannot do
It can
List and run your workflows and agents, read what a run did and what it cost, process documents, read and write files in your own space, teach an agent a fact, set a schedule, audit a process you describe, and create agents and workflows.
Everything it builds arrives switched off
A workflow or agent Claude creates cannot act. You open it in AIK, read it, and press Activate. Until then a workflow can only be rehearsed with a dry run.
To disconnect
Press Revoke next to that key on the API Keys page — it stops working immediately. (A browser cannot edit Claude’s own settings file, which is why connecting is a paste and disconnecting is a button.)
It cannot
Approve a step that is waiting for a person, activate anything, touch your settings, keys, billing or licence, or delete anything. The approval gate only means something if a human presses it.
The usual brakes still apply
Agent budgets still stop a run, approval steps still pause it, files it writes are still stamped as AI-generated, and every run is recorded with its cost.
Agent Monitor — live view of all runs
See what's running right now, stop a stuck job, and dig into step-by-step history of every workflow execution.
What you can see
Stats strip
Runs today, success rate, failed count, average duration, monthly cost, and total all-time runs — all at a glance at the top of the page.
Live section
Shows the currently running job (if any) with a progress bar and elapsed time. Auto-refreshes every 5 seconds.
Run history
Every workflow and agent run — name, status (success / failed / running), trigger (manual / schedule / webhook), duration, and cost. Click any row to expand step-by-step details.
Stop a running job
If a workflow is stuck or running too long, click the red ⏹ Stop button in the Live section. The current step will be interrupted and the run marked as failed.
Tracking Cost and Usage
The Analytics page shows you exactly how much each agent and workflow is spending, how many AI tokens are being used, and a live feed of recent activity.
Click Analytics in the top navigation bar.
📈 ROI Indicator — "Time saved counter"
At the top of Analytics, a green card estimates the human time your automations saved — this month and all-time. Each successful run counts for a "manual minutes" figure (how long that task would take a person by hand), so you see real ROI instead of just token counts. Set it up in Settings → ⚡ Advanced → ROI Indicator: a default minutes-per-run and, optionally, your hourly labour rate to also show money saved (e.g. "142 hrs saved this month · ~€4,200"). Each workflow can override the default in its own settings (⏱ Manual minutes / run), so different jobs count for their real effort. The card shows minutes when it's under an hour, hours above that, and the figure is also included in the weekly report email.
📋 Accountability Report
One click turns your tamper-proof activity log into a plain-English report a manager or auditor can read — grouped by day, with the live integrity check and any flagged items. Open it as a printable page or download a PDF from the buttons on the Analytics page. Because the log is SHA-256 hash-chained, the report can state whether anything was altered (EU AI Act Art. 12 record-keeping). Admin only.
📜 Action Certificate
On any run in the history, click the 📜 button to get a tamper-proof receipt for that action — what the agent did, when, on whose behalf, within what limits, who approved it, and a verifiable integrity seal (the run is recorded in AIK's SHA-256 hash-chained log, EU AI Act Art. 12). Open it as a printable page or save a PDF. Every certificate is digitally signed — anyone can confirm it's genuine at /certificate/verify, offline, with the public key printed on it, without logging in or touching your database. It turns an invisible AI action into something you can show a manager, client, or auditor — provable, not "trust me".
🪪 Agent Passport
A certificate proves one action; a passport is the agent's whole ID card + track record in one signed page. On an agent's page click 🪪 Passport to get: who the agent is (name, owner, status, created date), what it's allowed to do, and its record — total runs, success rate, first and last run, and about how many hours of human work it has saved. Like the certificate, it's digitally signed, so anyone can confirm it's genuine at /certificate/verify — offline, with the public key on it, no login. Open it as a printable page or save a PDF. Hand it to a customer as a provable profile of your AI worker.
🏅 Verified AI badge
On an agent's page click 🏅 Badge to get a little "✓ Verified AI" sticker you can paste on any website (one line of code). It shows the agent's live track record — runs and success rate — and clicking it opens the public proof page. It's the trust seal for your AI: no other platform lets a business show a publicly verifiable "our AI is accountable" badge on their own site.
💬 Explain why
On any run in the history, click 💬 to get a plain-English story of what the agent did and why — no technical jargon. It turns the raw log into something a manager or client instantly understands, like "It read 3 invoices, flagged one as unusual because the amount was 5× the usual, and waited for your approval."
🔏 Document Seal (PDF)
The main tool. On the Document Seal page, attach a PDF, pick Invoice or Other, and click Seal — you download a sealed copy to send. The seal is a free digital signature embedded inside the PDF: any reader shows "Signed — not modified", and if it's changed on the way, the seal breaks. Invoice also OCR-reads and locks the IBAN and amount. To check a PDF you received, drop it in the Check box (or just open it in a PDF reader). Note: you can only check documents that were sealed first — an unsealed document has no original to compare against, so no tool can verify it. One case can't be sealed: a PDF whose author already signed it as "no changes allowed" (some bank and utility invoices). It's already protected — just use Check on it, and the page will tell you so.
🏷️ Text stamp (auto, behind the scenes)
The Document Stamp page puts a signed "produced by AIK — genuine & unaltered" stamp on any document or email. Whoever receives it can paste the text into the public checker and instantly see GENUINE & UNALTERED, TEXT CHANGED, or INVALID — offline, no login. It does two important jobs:
🤖 AI-content marking (EU AI Act, Art. 50)
New EU rules (in force from Aug 2026) require AI-generated content to be marked as AI-made in a machine-readable way. The stamp adds a clear "AI-generated" label plus a machine-readable credential line — a solid start toward compliance.
🛡️ Invoice-fraud protection
The stamp automatically locks in any bank IBAN and amount found in the text. If a fraudster intercepts the email and swaps the IBAN (a common scam — "business email compromise"), the check flips to TEXT CHANGED and shows the real signed IBAN, so the payer knows not to pay.
🤖 Automatic stamping (no manual step)
You don't have to stamp by hand. Each agent has an "Auto-stamp the output" checkbox (on by default) — when on, the platform stamps that agent's output every time, in code, so the agent can never forget. It also covers workflow results, saved text documents, and outgoing emails. It only ever stamps text and emails — never Excel, CSV, PDF or data files. Global off-switches: AUTO_STAMP_ENABLED (workflows + files) and AUTO_STAMP_EMAILS (emails).
What you can see
📈 Token & Cost Summary
Total tokens sent (input) and received (output) across all runs, plus the total cost in USD. The summary covers all time by default — use the date filter to narrow to a specific period.
🤖 Breakdown by Agent and Workflow
See which agents are consuming the most tokens and costing the most. Each row links to the full run log for that agent or workflow.
⚡ Live Activity Feed
A real-time list of recent runs — agent name, status (success / failed), duration, and cost. Click any row to see the full output of that run.
📅 Date Range & Period Filter
Use the 7d / 30d / 90d buttons to pick a quick period, or set exact From and To dates using the date pickers next to the period buttons. All charts and the Recent Runs table update instantly.
📄 Recent Runs — Pagination
The Recent Runs table shows 10 rows per page by default. Use the 10 / 50 / 100 / page selector at the top-right of the table to show more, and the Prev / Next / page number buttons at the bottom to navigate. The table can hold up to 500 runs in memory without a page reload.
⬇ CSV Export
Click the ⬇ CSV button in the top bar to download the current run list as a spreadsheet. The export respects the active date filter and includes ID, entity name, status, start time, duration, cost, tokens, and trigger.
🔍 Per-Agent Analytics
Use the All agents & workflows dropdown in the top bar to filter the entire analytics view to a single agent. A detail panel opens below the topbar showing that agent's run history, total cost, token counts, average duration, success rate, and failure count.
📋 Run Log Actions
Click the ⋮ (three-dot) menu on any run row to: view the full log, export the run result as an Excel file, or re-run the same task immediately.
🔍 Time-Travel Debugger
Click the Debug button on any run row to open the debugger. For workflow runs it shows a step-by-step timeline — each step with its status, duration, and result text. Click Replay from Step N on any step to restart the workflow from that point, skipping steps that already succeeded. For direct agent runs (chat or single-agent), the debugger shows a summary card: status, cost, tokens used, and how long it took.
📈 Run Estimator
When you open any agent or workflow, a small banner shows at the top of the run section: the average cost, average duration, and success rate based on the last 20 runs. This helps you predict what a run will cost before you start it.
Monthly Budgets
You can set a Monthly Budget (in USD) on each agent from the agent's settings page. Once the agent hits its budget for the current calendar month, the runner will refuse to start new runs for that agent until the month resets. This prevents accidental runaway spending on automated schedules.
Using and Sharing Templates
Templates are ready-made workflows that you can install with one click — no building from scratch required.
Installing a template
Open the Templates marketplace
Go to the Workflows page, click the ⋯ button, and choose From Template. Switch to the Marketplace tab.
Browse and install
Find a template that matches what you need. Click Install — a copy of the workflow is added to your account instantly.
Customise it
The installed workflow is entirely yours. Edit the steps, change the agents, adjust the instructions to fit your exact situation.
Publishing your own template
Built something useful? Share it with others. Right-click any workflow → 🏪 Publish as Template. You can keep it private (only you can install it) or make it public for everyone.
Sign in with Google
Let users log in or register using their Google account — no password needed.
How it works
When a user clicks Continue with Google on the login page, they are sent to Google's sign-in screen. After they approve, Google sends them back to the platform already logged in. If it's their first time, an account is created automatically.
⚙️ Setup (one-time, admin only)
Create a Google OAuth app
Go to console.cloud.google.com → APIs & Services → Credentials → Create credentials → OAuth 2.0 Client ID. Choose Web application.
Add your redirect URIs
In Authorised redirect URIs add one line per site you'll sign in from (the path is always /auth/google/callback):
https://your-domain.com/auth/google/callback — your live site
http://localhost:8001/auth/google/callback — local dev (Google allows http only for localhost)
Also add the matching Authorised JavaScript origins (e.g. https://your-domain.com and http://localhost:8001). Google matches the redirect exactly — set your live address in Settings → Platform Keys → Public Site URL so the app sends the same https:// URL (behind a reverse proxy it would otherwise send http:// and Google rejects it → redirect_uri_mismatch).
Paste keys into Platform Settings
Copy your Client ID and Client Secret from Google, then paste them in Settings → Platform Keys → Google OAuth Client ID and Google OAuth Client Secret.
Done
The "Continue with Google" button on the login and register pages is now active. No server restart needed.
You may need to publish your OAuth consent screen in the Google Cloud console before external users can use it. While in test mode, only accounts you add as testers can sign in.
Your Personal Settings
Settings let each user configure their own API keys, email credentials, and model preferences — without touching the platform defaults.
Settings page (your personal page) — API keys, mail credentials, and model choices that apply only to your account. Other users are not affected.
Admin page (admin users only) — platform-wide defaults that apply to all users unless they have their own Settings override.
The seven tabs
At the top of the AI/LLM tab you'll see a Local / Cloud toggle. Click ☁️ Cloud Model to use a cloud provider (needs an API key) or 🖥️ Local Model (Ollama) to run everything locally for free (slower). This choice applies everywhere — agents, workflows, AIK chat, and the Orb.
Set Your API Key — one key for whichever provider you use (OpenAI, Anthropic, Groq, or Google). Pick your Cloud Model from the dropdown. Leave fields blank to use the platform default set by an admin.
The Local Model dropdown shows only models installed on your machine — it auto-detects them from Ollama on page load. Run ollama pull model-name in a terminal and it appears automatically. Ollama must be running for models to load.
You can also pull new Ollama models directly from the AI/LLM tab — type the model name (e.g. gemma4:12b-it-qat) and click Pull. The download runs in the background on all pages — a floating badge shows progress even when you navigate away. When the download finishes, the model is auto-selected and saved.
Each agent also has a Model Mode you can set per-agent (in the edit panel or run sidebar):
- Auto — uses the model you set here in Settings. The label shows which model that is.
- Smart Auto — judges how hard the task is and picks a model for it: a reasoning model for analysis, a fast one for simple jobs. It takes the first model in that row whose API key you have saved. You choose the models in Settings → AI/LLM → Smart Auto: four rows (reasoning, complex, medium, simple), model names separated by commas, best first. Leave a row empty and it uses the built-in order, which is printed under the box so you can see what you are getting.
- Cloud — lets you override the model for that specific agent, choosing any cloud provider and model regardless of your Settings default.
- Local — runs that agent on a model on your own machine (Ollama). Pick the model from the list; it is used exactly as chosen, whatever your Settings default says.
SMTP (outgoing) and IMAP (incoming) credentials for the Mail Agent to send and read email on your behalf. Use Gmail App Passwords or an Outlook App Password here — not your regular login password.
Add any custom API keys for external services your agents need — a weather API key, a custom REST service token, a business tool key, etc. Click + Add Connection, enter a name (becomes the environment variable name, e.g. WEATHER_API_KEY) and paste the value. Your agents can then read this variable automatically. Add as many as you need.
For social media tokens (LinkedIn, Google, GitHub…) use the Integrations page instead — it handles OAuth flows properly.
Override the platform database connection for your account. Useful if you have a separate database your agents should query. Format: postgresql://user:pass@host:5432/dbname.
Toggle email alerts when a scheduled agent or workflow fails. When enabled, you receive an email immediately after a failure so you can investigate without having to check the Monitor page manually.
Contains five sections:
- Platform Version & Updates — now lives in its own 🔄 Updates tab. Click Check for updates to compare your running version against the latest — you'll see a "What's new" summary of what changed — then Download & Apply Update — the platform fetches the latest code, updates packages, migrates the database, and restarts automatically (~30s, no terminal). On the cloud, updates apply automatically. The Updates tab also holds your License — on-premise installs need a valid license to apply updates; paste the signed key you were given and it shows "✓ Licensed".
- Update source (on the Updates tab) — where updates come from. Leave it blank to update from GitHub. Or set your provider's signed update server (e.g.
https://aikautomation.com/updates) — then updates arrive as sealed, signed packages that are verified before they're applied, with no access to any code repository. Either way your own data, database and settings are never touched by an update. - Install updates automatically (checkbox, on the Updates tab) — when on, the platform checks your update source every few hours and, if a newer signed version is available, downloads and applies it on its own, then restarts — no clicking. Needs an update source set and a valid license. Off by default.
- Roll back (Updates tab) — every update first saves a snapshot of the app and the database, so if something goes wrong you can click Roll back to previous version to restore everything exactly as it was before the update, then restart. (Anything created after the update is rolled back with it.)
- MCP servers (Updates tab) — the tool servers the AI uses. Click Test all to actually start each one and list its tools — a quick way to confirm everything works, especially after an update.
- Two-Factor Authentication (2FA) — enable TOTP-based 2FA using Google Authenticator or any TOTP app. Once on, every login will ask for a 6-digit code after the password.
- File Access — by default your agents can only read and write inside your personal sandbox folder (
data/sandbox/<your-id>). Add extra folder paths here — one per line — to grant access to other locations. - Danger Zone — permanently deletes your account and all your data. Requires your password to confirm. Cannot be undone.
- Platform Security (superusers only) — toggle to enable or disable new user registrations platform-wide.
Step-by-step guides for setting up the platform on Windows, Mac, or Linux — no technical knowledge required. Go to Settings → Installation and pick your operating system at the top.
- Windows — double-click
setup.batin the AIK folder (from a GitHub clone or an unzipped installer package). It installs everything automatically: Python environment, database, Windows service (auto-starts on boot), and a Desktop shortcut. During setup it asks which database to use — just press Enter for the built-in one (recommended), or pick PostgreSQL (see the PostgreSQL question below). Nothing needs installing first — it fetches Python 3.12 itself, plus the OCR engine (Tesseract, with Bulgarian), the PDF tools (Poppler), the automation browser and the voice engines. On a fresh machine this takes a while; let it finish. Read the last lines it prints: if any of those extras could not be downloaded it lists them there and says what stops working — the install still succeeds, and nothing elsewhere in the app will tell you. Re-running the installer retries them. The only thing it does not fetch is Ollama, needed only by clients who want the AI models running on their own machine — it is several GB, so it stays a separate download from ollama.com. Default login:admin@local/admin123— after login, add your license in Settings → 🔄 Updates. - Mac — run
bash install_service_mac.shin Terminal. Registers AIK via macOS launchd so it starts on every login. - Linux — run
sudo bash install_service_linux.sh. Registers AIK as a systemd service that starts on every boot. Check status withsudo systemctl status aik.
First-time setup (after installing)
Log in (admin@local / admin123) and change the password, then in Settings: add your license (🔄 Updates), pick an AI model + API key (AI/LLM) — or a local Ollama model — and set up Mail (SMTP) and any integrations you use. Optional: ROI Indicator minutes/rate and data retention (⚡ Advanced). Then create your users and run a test.
Uninstalling
Windows: double-click uninstall.bat in the installer folder and approve the admin prompt — it stops the service and deletes C:\AIKPlatform. If a file says it's "in use", close any Explorer window showing the folder (or restart the PC) and try again.
Linux: run sudo bash uninstall.sh from the installer folder — it stops the aik service and deletes /opt/aik.
Either way: re-running the installer (setup.bat / install.sh) is an upgrade that keeps your data; the uninstaller is a full removal. Neither removes PostgreSQL if you installed it via the wizard.
Testing your mail settings
After filling in the SMTP credentials on the Mail tab, click 📧 Send test email next to the Save button. The platform will send a real email to your registered address — if you receive it, your mail settings are working correctly.
Dark / Light mode
Click the ☀️ / 🌙 button in the top-right corner of the Dashboard to toggle between dark and light mode. Your choice is saved in the browser and remembered the next time you visit — on any page of the platform.
Navigation tip
From the Dashboard you can reach every page directly — either via the top navigation bar (Dashboard, AIK, Docs, Workflows, Agents, Analytics, Integrations, Settings, Billing, Contact) or via the quick-navigate grid of tiles below the AIK builder panel. The Contact page is also reachable from every sidebar page and from the public landing page.
Choosing Your AI Brain
The platform works with cloud providers (OpenAI, Anthropic, Google, Groq, Ollama Cloud) and local models via Ollama. Here's how to get set up with each.
For the platform itself: Windows 10/11, Ubuntu 20.04+ or an Apple-silicon Mac, 8 GB of memory and 15 GB of free disk. No graphics card is needed — the AI runs in the provider's cloud. A first install takes 20–60 minutes, almost all of it downloading.
Two optional things want more: local AI models through Ollama (16 GB of memory for a 7B model, and it must be a tool-capable model such as qwen2.5 — phi3-mini cannot call tools), and generating video on your own machine (an NVIDIA card with 16–30 GB of video memory).
AI companies add and retire models constantly — a model that worked last month can simply stop answering. Click 🔍 Check providers for new models under the model picker in Settings → AI / LLM any time: it asks OpenAI, Anthropic, Google, Groq and Ollama Cloud what they still run, calls each model once to be sure, and shows you the full report. Nothing changes until you press Apply. To have it happen on its own, turn on Settings → 🔄 Updates → "Keep the AI model list up to date" and it runs on the 1st of each month.
Two rules it always follows: only a model that answers "no longer available" is removed — an older model that still works stays in the list forever, and a model you are currently using is never touched. And prices are never guessed: a newly added model shows "see the provider's pricing page" until someone fills in the real figure.
For your personal keys: Go to Settings → AI / LLM. Choose your Cloud Model, paste your API key, and pick your Local (Ollama) model from the dropdown. Your keys override the platform default for your account only.
For platform-wide defaults (admin only): Go to Admin → Platform API Keys & Environment to set defaults for all users. Admin → Platform Settings to choose Cloud vs Local mode globally.
OpenAI (GPT-4, o3, o4-mini…)
The most widely used cloud LLM provider. Offers GPT-4o, GPT-4.1 (1 million token context), and reasoning models (o1, o3, o4-mini). Requires a paid account — you must add at least $5 credit before the API will work.
Create an account
Go to platform.openai.com → sign up with Google or email. Once logged in, go to Settings → Billing.
Add at least $5 credit
Click Add payment method, enter your card, then click Add to credit balance and top up $5 or more. Without any credit balance the API returns a billing error even after account creation.
Create an API key
Go to platform.openai.com/api-keys → + Create new secret key → copy it (you won't see it again). Paste it into Settings → AI / LLM → OpenAI API Key (your personal key) or Admin → Platform API Keys (platform-wide).
Pick a model
gpt-4.1-nano (~$0.10/1M tokens) is the cheapest. gpt-4o-mini is the best everyday value. gpt-4.1 has a 1M-token context for large documents. o4-mini is best for complex reasoning tasks.
Anthropic (Claude)
Excellent reasoning, very large context windows (200K tokens), and great instruction-following. Recommended for complex multi-step workflows. Requires an account and billing credit.
Create an account
Go to console.anthropic.com → sign up. Anthropic sometimes adds new accounts to a waitlist — check your email for an approval notice before expecting API access.
Add billing
Console → Settings → Billing → add a payment method and add some credit. Any amount works (there is no enforced minimum like OpenAI, but $5 is a good starting point).
Get your API key
Console → API Keys → Create Key → copy it. Paste it into Settings → AI / LLM → Anthropic API Key (your personal key) or Admin → Platform API Keys (platform-wide).
Pick a model
claude-haiku-4-5 is the fastest and cheapest. claude-sonnet-4-6 is the best all-rounder. claude-opus-4-8 is the most capable for very demanding tasks.
Google AI (Gemini)
Google's Gemini 2.5 Pro and Flash models are competitive for most tasks. Free tier available — no billing required to get started.
Get a free API key
Go to aistudio.google.com → sign in with your Google account → click Get API key → Create API key in new project. No billing required for the free tier.
Set in Admin
Paste the key into Settings → AI / LLM → Provider API Key. Select google as provider and gemini-2.5-flash as model — it's fast and free-tier friendly.
Free tier limits
Free tier allows ~15 requests/minute and 1,500 requests/day for Gemini 2.0/2.5 Flash. For higher volume, add billing in Google AI Studio to lift these limits.
Groq (Ultra-fast inference)
Groq runs open-source models (GPT-OSS, Llama 3.3, Qwen) on custom hardware at extremely high speed. Very generous free tier — no credit card needed to start.
Create a free account
Go to console.groq.com → sign up. No credit card required for the free tier.
Get an API key
Dashboard → API Keys → Create API Key → copy it. Paste into Settings → AI / LLM → Groq API Key.
Pick a model
gpt-oss-120b is the most capable, gpt-oss-20b the best cheap workhorse, and llama-3.3-70b-versatile a solid alternative. compound can search the web on its own. Free-tier limits are generous for personal and small-team use.
Note: Groq retired llama-3.1-8b-instant on 16 August 2026 — if an agent still names it, switch that agent to gpt-oss-20b.
Ollama Cloud (Large models, free plan)
Ollama Cloud lets you run very large open-source models (120B+) without a GPU. The same models you know from Ollama — but running in their cloud. Free plan available, no credit card needed.
Create a free account
Go to ollama.com → sign up or log in. Run ollama signin in your terminal to authenticate.
Get an API key
On ollama.com go to your account → API Keys → create a key. Paste it into Settings → AI / LLM → Ollama Cloud API Key.
Pick a model
The dropdown splits them into two groups so you can see at a glance what your account can run. Ollama Cloud — free plan works with a free account: gpt-oss:120b is the most capable there, with gpt-oss:20b, the three nemotron-3 sizes, gemma4:31b and minimax-m3 alongside it. Ollama Cloud — needs a paid plan (kimi, deepseek-v4, qwen3.5:397b, mistral-large-3, glm-5.x) will answer "requires a subscription" until you upgrade. Free usage resets every 5 hours.
Ollama (Local — no API key needed)
Run AI models entirely on your own machine. Free, private, and offline — no data ever leaves your computer. Requires a decent GPU (or CPU for smaller 3–7B models). You can pull models directly from the Admin panel without using a terminal.
Install Ollama
Download from ollama.com. Available for macOS, Linux, and Windows. After installation, Ollama automatically starts a local server at http://localhost:11434.
Pull a model from the platform
Go to Settings → AI / LLM. Under Pull a new model, type a model name (e.g. qwen2.5:7b, gemma4:12b-it-qat) and click ⬇ Pull. The download runs in the background on all pages — a floating progress badge follows you. When done, the model is auto-selected and saved.
Or pull from the terminal
You can also run ollama pull qwen2.5:7b in a terminal. The model appears in the Settings dropdown automatically — the list shows only what's installed on your machine.
Switch to Local mode
Go to Settings → AI / LLM and click the 🖥️ Local Model (Ollama) button at the top. Pick your model from the dropdown and Save. All agents, workflows, AIK chat, and the Orb will use this model.
Even if you use AIK in the cloud (not self-hosted), you can run AI models on your own computer. Here's how:
- Install Ollama on your computer and pull a model (e.g.
ollama pull llama3.2) - Install and run the AIK Local Worker on your computer (download from My Files page)
- The worker detects Ollama automatically and connects it to AIK Cloud
- Now when you chat with AIK, you can ask: "Use my local Ollama to summarize this document"
Why use this? Your data stays on your machine — nothing is sent to OpenAI or Anthropic. It's free (no API costs), private, and works offline. The cloud AIK just sends the prompt to your local Ollama through the worker, gets the response back, and shows it to you.
Just want to try it quickly? Use Ollama Cloud — free, no credit card, large models without a GPU.
Best everyday balance? OpenAI gpt-4.1-mini or Anthropic claude-haiku-4-5.
Complex reasoning tasks? Anthropic claude-sonnet-4-6 or OpenAI o4-mini.
Big model, no GPU? Ollama Cloud gpt-oss:120b or gpt-oss:20b — runs in their cloud, free plan.
Privacy-first / offline? Ollama with qwen2.5:7b — good all-rounder, runs on 8 GB RAM.
Agents running all day on your own machine? Ollama nemotron-3.5-lightning — NVIDIA's 30B model that only uses 3B at a time, so it stays fast while calling tools and working through long multi-step jobs. Handles very long context, and nothing leaves your computer. Needs a decent GPU and about 18 GB of disk.
Video generation (real moving footage)
The Video Maker agent always works: it draws text cards, and with a free Pexels key it lays your lines over real stock clips. Generated footage — pictures made for your scene — is a separate switch in Settings → AI / LLM → Video generation, and it is off until you turn it on, because all but one of these charge by the second. If a service fails or its key is missing, the video still comes out on stock footage and the run report says which service refused and why.
1. Google Veo — nothing new to sign up for
Three tiers of one model, all of which make their own sound, all on the Gemini key you already pasted for text. This is where to start.
Make sure the Gemini key is in
Settings → AI / LLM → Google (Gemini) API Key. The same key does text and video — get one at aistudio.google.com/apikey. Video generation needs billing enabled on that Google project.
Choose a tier
Veo 3.1 Lite — about $0.05 a second, so roughly $1.50 for a thirty-second video. Veo 3.1 Fast — $0.10, better motion. Veo 3.1 — $0.40, the best there is, about $12 for thirty seconds. Clips are 4, 6 or 8 seconds each, and a scene is rounded to fit.
Save, then run the agent
Run the Video Maker as usual. The report names the service and what it cost. Nothing else to install.
2. Other makers — one key each
Each of these is the company that made the model, billed per second on your own account. Paste the key into the matching box under the Video generation picker.
Grok Imagine (xAI) — ~$0.07/sec
Key from console.x.ai → API Keys. Field: xAI key. Clips 1–15 seconds, and it accepts any frame shape, so vertical works properly.
Luma Ray 2 — ~$0.04/sec, the cheapest
Key from lumalabs.ai → API keys. Field: Luma key. Silent, and clips are fixed at 5 or 9 seconds.
MiniMax Hailuo — ~$0.045 or ~$0.08/sec
Key from platform.minimax.io. Field: MiniMax key. Hailuo 02 is the cheap silent one; Hailuo H3 costs a little more and makes its own sound. Clips are 6 or 10 seconds, and the model frames the shot itself, so “vertical” is a request in words rather than a setting.
3. Through fal.ai — for two models with no shop of their own
fal.ai resells other people’s models behind one key. It is only worth it for these two: Wan has no company selling an API, and Kling sells prepaid credit packs instead of per-second billing.
Get a fal.ai key
fal.ai/dashboard/keys. Field: fal.ai key.
Pick Wan or Kling
Wan ~$0.05 a second, simpler output. Kling ~$0.10, good motion. Neither makes sound.
4. Local GPU — free, on your own machine
If you have a computer with a strong graphics card, it can generate the footage itself and the videos cost nothing per second — only electricity. AIK does not do the rendering: a free program called ComfyUI does, on that machine, and AIK sends it each line and collects the finished clip.
Install ComfyUI
Download the desktop app from comfy.org and install it on the machine with the card. Open it once — it starts its own small web server, normally at http://127.0.0.1:8188, and that address is what AIK will talk to.
Get a video model
Inside ComfyUI, open the Model Manager or the template browser and pick one:
Wan 2.2 — the safe default. Apache 2.0 licence, free to use commercially with no conditions. The 5B version runs from about 8 GB of video memory.
LTX-2 — much the fastest: roughly 40 seconds for a clip against Wan’s 4–5 minutes. Wants about 32 GB unless you take a quantised build.
CogVideoX — the lightest. The 5B version fits 24 GB, or about 4.4 GB with offloading, but it is a generation behind the other two in quality.
Each is several gigabytes, so this download is most of the hour.
Build the workflow once
ComfyUI works as boxes wired together: one holds the model, one holds the text of what to show, one saves the video. Do not build it from scratch — ComfyUI ships templates (Workflow → Browse Templates → Video), and every model above publishes one. Load the template for your model, press Run, and check that an .mp4 comes out. If it does not work inside ComfyUI on its own, it will not work from AIK either — fix it here first.
Name the prompt box AIK_PROMPT
This is the only thing AIK asks of you. Find the box holding the description of the picture — the positive prompt, usually a CLIP Text Encode node. Right-click it → Title (or Rename) → type AIK_PROMPT exactly, capitals included. Leave the negative prompt box alone. AIK writes each scene’s line into the box with that name; if it cannot find one, it says so instead of rendering whatever was saved.
Export it
Workflow → Export (API) — not the plain Export. Save the .json somewhere permanent, for example C:\comfy\wan22.json. The API version is the one a program can send back to ComfyUI.
Tell AIK
Settings → AI / LLM: set Video generation to Local GPU, put the ComfyUI address into ComfyUI address (http://127.0.0.1:8188 if AIK runs on the same machine, otherwise that machine’s address on your network, such as http://192.168.1.40:8188), and the exported file’s path into ComfyUI workflow file. Save.
Run the Video Maker
Each scene is rendered on your card, one after another, and AIK gives every scene a fresh random seed so they are not all the same picture. Expect minutes per scene: a five-scene video is about three minutes on LTX-2 and closer to half an hour on Wan 2.2. That machine is busy while it works, and the report says no per-second cost, it ran on your own machine.
AIK_PROMPT, or the plain Export was used instead of Export (API). “finished but saved no video” — the workflow saves image frames; it needs a node that writes an mp4, such as Video Combine. “ComfyUI refused the workflow” — a model file named in the workflow is missing on that machine.
Just trying it? Leave generation off — add a free Pexels key and get real stock footage for nothing.
First real videos? Veo 3.1 Lite — about $1.50 for thirty seconds, with sound, on the Gemini key you already have.
Something to be proud of? Veo 3.1 at $0.40 a second — but know it is $12 for thirty seconds before you press it.
Cheapest per second? Luma Ray 2 at $0.04, though silent.
Many videos, and you own a good graphics card? Local GPU — free for ever, minutes per scene.
How to Get Credentials for Each Service
Every integration needs an API token or key. This guide shows exactly where to get them for each supported platform.
Google Workspace
Used by GoogleAgent — list and manage Drive files, create Docs, read/write Sheets, schedule Calendar events. Tokens are auto-refreshed — no manual renewal needed.
Enable the required APIs
Go to console.cloud.google.com → select your project → APIs & Services → Library. Search for and enable each of these: Google Drive API, Google Docs API, Google Sheets API, Google Calendar API.
Create an OAuth 2.0 Client ID
APIs & Services → Credentials → + Create Credentials → OAuth client ID. Application type: Web application. Under Authorized redirect URIs add: https://developers.google.com/oauthplayground. Click Create. Copy the Client ID and Client Secret — or click Download JSON to save them (you cannot see the secret again after closing the popup; use Download JSON or Reset Secret if you lose it).
Add yourself as a test user
APIs & Services → OAuth consent screen → Audience tab → Test users → Add your Google email address. Without this step you will get a "Google hasn't completed verification" error when authorizing.
Generate a Refresh Token via OAuth Playground
Go to developers.google.com/oauthplayground. Click the gear icon (top-right) → check Use your own OAuth credentials → paste your Client ID and Client Secret. In the left panel select all four scopes:
• Drive API v3 → https://www.googleapis.com/auth/drive
• Docs API v1 → https://www.googleapis.com/auth/documents
• Sheets API v4 → https://www.googleapis.com/auth/spreadsheets
• Calendar API v3 → https://www.googleapis.com/auth/calendar
Click Authorize APIs → sign in → Exchange authorization code for tokens. Copy the Refresh token — this never expires.
Save in the platform
Go to Integrations → + Connect Google. Fill in all four fields: Refresh Token, OAuth Client ID, OAuth Client Secret. The OAuth2 Access Token field can be left empty — the platform fetches a fresh one automatically using the other three. Click Save Connection → Test.
Slack
Used by SlackAgent — send messages, reply in threads, add reactions, send DMs, list users, upload files, create channels, edit and delete messages, pin messages.
Create a Slack App
Go to api.slack.com/apps → Create New App → From scratch. Name it and select your workspace.
Add permissions
OAuth & Permissions → Scopes → Bot Token Scopes. Add: chat:write, channels:read, channels:history, channels:manage, files:write, reactions:write, pins:write, im:write, users:read, users:read.email.
Install to workspace
OAuth & Permissions → Install to Workspace → Allow. Copy the Bot User OAuth Token (starts with xoxb-).
Save in platform
Integrations → + Connect Slack → paste Bot Token → Save. Set SLACK_BOT_TOKEN=xoxb-... in your .env file.
GitHub
Used by GitHubAgent — full GitHub management: repos, issues, PRs, branches, commits, releases, GitHub Actions, code search, notifications, and stars. One personal access token covers everything.
Open Developer Settings
Go to github.com → click your profile picture (top-right corner) → Settings → scroll to the very bottom of the left sidebar → Developer settings.
Create a Fine-grained Token
Go to Personal access tokens → Fine-grained tokens → Generate new token. Set a name (e.g. "AIK Platform"), choose an expiration (90 days recommended, or "No expiration"), and leave Resource owner as your username.
Select repository access
Under Repository access choose All repositories to let the agent work across all your repos, or select specific ones if you prefer to limit access.
Set permissions
Under Permissions → Repository permissions set: Contents → Read and write, Issues → Read and write, Pull requests → Read and write. Metadata is set to Read-only automatically.
Copy the token
Click Generate token at the bottom and copy the token immediately — it starts with github_pat_ and will not be shown again once you navigate away from the page.
Save in the platform
Go to Integrations → click + Connect GitHub. Paste the token into the Personal Access Token field, optionally set Default Owner to your GitHub username (saves typing it in every workflow), and click Save Connection. Use the Test button to confirm it connects.
Used by InstagramAgent — publish posts, read insights, reply to comments. Requires a Business or Creator account linked to a Facebook Page.
Create a Meta App
Go to developers.facebook.com → My Apps → Create App. Type: Business. Add the Instagram Graph API product.
Get a long-lived token
Tools → Graph API Explorer → select your app → Generate User Token with scopes: instagram_basic, instagram_content_publish, instagram_manage_insights. Then exchange it for a long-lived token at: graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=APP_ID&client_secret=APP_SECRET&fb_exchange_token=SHORT_TOKEN
Get Business Account ID
Call GET /me/accounts in Graph API Explorer → find your page → then GET /{page-id}?fields=instagram_business_account to get the numeric Instagram Business Account ID.
Save in platform
Integrations → + Connect Instagram → paste Access Token and Business Account ID → Save.
Used by FacebookAgent — post to Pages, read analytics, reply to comments.
Get Page Access Token
developers.facebook.com → Tools → Graph API Explorer → select your app → User or Page Token → select your Page from the dropdown → Generate Token. Scopes needed: pages_manage_posts, pages_read_engagement, pages_read_user_content.
Get Page ID
Go to your Facebook Page → About → scroll to bottom → Page Transparency → Page ID. Or visible in the page URL.
Save in platform
Integrations → + Connect Facebook → paste Page Access Token and Page ID → Save.
Used by LinkedInAgent — posts, articles, likes, comments, company pages, people search, messaging, and job search. One access token (valid 60 days) covers all operations.
Create a free Company Page
LinkedIn requires a Company Page to create a Developer App — it does not accept a personal profile. Go to linkedin.com/company/setup/new, enter any name (your project, your own name, anything), pick any industry and company size, and click Create Page. You never need to use this page for anything else.
Create a LinkedIn Developer App
Go to developer.linkedin.com → My Apps → Create App. Enter an app name, attach the Company Page you just created, upload any image as the logo, and click Create App.
Add the required Products
Inside your app go to the Products tab. Click Request Access on both Share on LinkedIn and Sign In with LinkedIn using OpenID Connect. Both are approved instantly for developer use.
Set the redirect URL
Go to the Auth tab → OAuth 2.0 settings → Authorized redirect URLs. Add: https://www.linkedin.com/developers/tools/oauth/redirect and save.
Generate an Access Token
In the Auth tab scroll to the bottom and click OAuth 2.0 Token, or go to developer.linkedin.com/tools/oauth/token-generator. Select your app, check scopes: openid, profile, email, w_member_social. Click Request access token, sign in when prompted, and copy the token shown. The token is valid for 60 days — repeat this step when it expires.
Save in the platform
Go to Integrations → click + Connect LinkedIn. Paste the Access Token, give the connection a name, and click Save Connection. Use the Test button to confirm it connects successfully.
Twitter / X
Used by TwitterAgent — post tweets, search, read engagement metrics. Bearer Token alone is enough for read-only; all four keys are needed for posting.
Apply for developer access
Go to developer.twitter.com → Sign in → apply for a free developer account. Takes a few minutes.
Create a project + app
Developer Portal → Projects & Apps → New Project → New App. Set permissions to Read and Write.
Copy credentials
App → Keys and Tokens. Copy: Bearer Token (for search/read), API Key, API Key Secret, Access Token, Access Token Secret (for posting).
Save in platform
Integrations → + Connect Twitter/X → paste all keys → Save. You can leave the posting keys empty if you only need read access.
YouTube
Used by YouTubeAgent — search, trending, channels, playlists, comments, subscriptions, video management. API Key covers all read operations. OAuth Refresh Token unlocks write operations: post/delete comments, create playlists, subscribe to channels, rate videos, update video metadata.
Enable YouTube Data API v3
Go to console.cloud.google.com → select your project → APIs & Services → Library → search YouTube Data API v3 → click it → Enable.
Create an API Key
APIs & Services → Credentials → + Create Credentials → API key. A popup appears with the key immediately — copy it and close. No form to fill.
Save and test read-only access
Go to Integrations → + Connect YouTube → paste the API Key into the API Key field → leave OAuth Access Token empty → Save Connection → click Test. If it passes you have full read access (search, stats, comments, trending, channel info).
Create an OAuth 2.0 Client ID (for write access)
In Credentials → + Create Credentials → OAuth client ID → Application type: Web application → under Authorized redirect URIs add: https://developers.google.com/oauthplayground → Create. A popup shows your Client ID and Secret — click Download JSON to save them (the secret cannot be seen again after closing the popup; use Download JSON or Reset Secret if you lose it).
Generate a Refresh Token via OAuth Playground
Go to developers.google.com/oauthplayground → click the gear icon (top-right) → check Use your own OAuth credentials → paste your Client ID and Secret → close. In the left list find YouTube Data API v3 → check https://www.googleapis.com/auth/youtube → click Authorize APIs → sign in with your Google account → Exchange authorization code for tokens. Copy the Refresh token — it never expires (unlike the short-lived access token).
Save full credentials in the platform
Go to Integrations → find your YouTube connection → click Edit → fill in: OAuth Access Token = Refresh Token (from step 5), Client ID = from step 4, Client Secret = from step 4 → Save Connection. The agent will now auto-refresh the token on every call — you never need to manually update it again. Write operations (post comments, create playlists, subscribe, rate videos) are now enabled.
TikTok
Used by TikTokAgent — read user profile, list videos, get stats and comments.
Create a TikTok Developer App
Go to developers.tiktok.com → Manage Apps → Create App. App type: Web.
Add products
In your app → Add Products: Login Kit and Display API. Request scopes: user.info.basic, video.list.
Generate access token
Use the OAuth 2.0 flow with your Client Key and Secret to generate an access token. TikTok provides a sandbox environment for testing.
Save in platform
Integrations → + Connect TikTok → paste Access Token → Save.
Viber
Used by ViberAgent — send text, images, videos, files, interactive keyboard buttons, broadcast to many users, check online status, and get bot account info.
Log in to the Viber Partner Portal
Go to partners.viber.com and sign in using your phone number (Viber will send a verification code to the app on your phone).
Create a Bot Account
After logging in, click Let's get started. In the left sidebar click Create Bot Account. Fill in the bot name, description, category, and upload an avatar image, then click Create.
Copy the Auth Token
After creation you land on your bot's settings page. In the left sidebar click Auth Token — the token is shown on that page. Copy it.
Save in the platform
Go to Integrations → click + Connect Viber → paste the Auth Token → Save Connection → click Test to confirm it connects.
SAP
Used by SAPAgent — automate SAP GUI transactions: run T-codes, read and write fields, read ALV tables, save documents. Works with classic SAP GUI for Windows via the built-in Scripting API. No API key needed — the agent connects directly to the running SAP GUI application.
Install SAP GUI for Windows
Download and install SAP GUI for Windows from your SAP system (ask your SAP Basis team). The agent requires the GUI application to be installed on the same machine running the platform.
Enable SAP GUI Scripting
Open SAP GUI → click the Customize Local Layout button (top-right, looks like a palette icon) → Options → expand Accessibility & Scripting → click Scripting → check Enable scripting and uncheck Notify when a script attaches to SAP GUI → click Apply.
Install pywin32
Run pip install pywin32 in your virtual environment. This library is the bridge between Python and the SAP COM scripting interface.
Start SAP GUI before running the agent
SAP GUI must already be open (not necessarily logged in) before you start the agent. The agent calls sap_connect(server, client, user, password) to open the connection and log in programmatically.
Deploy the SAP Agent template
Go to Agents → ✨ Templates → Legacy Systems → SAP Agent → click ⚡ Deploy in One Click. The agent uses your provided server, client, username, and password through workflow step variables or the Run panel.
Find field IDs with sap_read_selection_screen()
If you don't know the technical field IDs for a transaction, run sap_read_selection_screen() after navigating to the screen — it lists all visible fields with their IDs, labels, and current values so you can reference them in subsequent steps.
Microsoft Teams
Used by TeamsAgent — send channel messages, reply to threads, create channels, list members, add members, create online meetings, send 1:1 chats, and search messages across Teams. Uses the Microsoft Graph API via OAuth2 client credentials (app-level auth — no user sign-in required).
Open Azure Active Directory
Go to portal.azure.com → sign in with your Microsoft 365 / Azure account → search for Azure Active Directory (or "Entra ID") and open it.
Register a new application
Left sidebar → App registrations → + New registration. Enter a name (e.g. "AIK Teams Bot"), leave Supported account types as Accounts in this organizational directory only, and click Register. You'll land on the app overview page — copy the Application (client) ID and Directory (tenant) ID from the top of the page.
Create a client secret
Left sidebar → Certificates & secrets → Client secrets → + New client secret. Enter a description, choose an expiry (24 months recommended), click Add. Copy the Value immediately — it will be hidden after you leave the page.
Grant API permissions
Left sidebar → API permissions → + Add a permission → Microsoft Graph → Application permissions. Search for and add each of these:
• Channel.ReadBasic.All — list channels
• ChannelMessage.Read.All — read messages
• ChannelMessage.Send — send messages
• Chat.ReadWrite.All — 1:1 chats
• Calendars.ReadWrite — create meetings
• Group.ReadWrite.All — list and manage teams
• TeamMember.ReadWrite.All — manage members
• User.Read.All — look up users by email
After adding them, click Grant admin consent for [your org] — this is required for app-level permissions to work.
Save in the platform
Add these four lines to your .env file:TEAMS_TENANT_ID=<Directory (tenant) ID>TEAMS_CLIENT_ID=<Application (client) ID>TEAMS_CLIENT_SECRET=<client secret value>TEAMS_ORGANIZER_EMAIL=you@yourdomain.com — used as the calendar owner when creating meetings.
Deploy the Teams Agent template
Go to Agents → ✨ Templates → Communication → Microsoft Teams Agent → click ⚡ Deploy in One Click. The agent connects automatically using the credentials in your .env file — no further configuration needed.
Application permissions (used here) require a Microsoft 365 Global Administrator to click Grant admin consent in the API permissions screen. Without this, all Graph API calls will return 403 Forbidden. If you are not the admin, share the portal link with your IT department.
OpenWeatherMap
Used by WeatherAgent — current weather, 5-day forecast, hourly forecast (every 3h), air quality index, and weather by GPS coordinates. Free tier covers all these features.
Create a free account
Go to openweathermap.org → click Sign In → Create an Account. Fill in the form — no payment details required for the free tier.
Copy your API key
After signing in, click your username (top-right) → My API Keys. A default key called Default is created automatically. Copy it. Note: new keys take up to 2 hours to activate — if you get an "Invalid API key" error right after signup, wait and try again.
Save in the platform
Add to your .env file: OPENWEATHERMAP_API_KEY=your_key_here. Restart the server and the Weather Agent will start working immediately.
CoinGecko (Crypto)
Used by CryptoAgent — real-time prices for 10,000+ coins, 365-day price history, crypto-to-fiat conversion, portfolio valuation, and top coins by market cap. The free public API requires no API key for basic use.
No setup required (free tier)
The Crypto Agent works out of the box — no API key needed. The free CoinGecko API allows up to 10–30 calls per minute, which is sufficient for most automation workflows.
Optional: get a Demo API key for higher limits
Go to coingecko.com/en/api → click Get Your Free API Key. Sign up and copy the Demo key. Add to your .env: COINGECKO_API_KEY=CG-your_key_here. The Demo key raises rate limits to 30 calls/minute and unlocks additional endpoints.
Deploying to a Server
How to run AIK on Oracle Cloud (or any Linux server) and keep it updated automatically.
Security brief for your clients
When a client's IT or procurement team asks how AIK protects their data, send them aikautomation.com/security.html. It covers where data lives, who can reach it, encryption, the audit trail, backups, and how AIK maps to both the NIS2 rules and ISO 27001 controls — plus an honest list of what we do not claim. If a client asks whether AIK is ISO certified, the answer is no and the page says so: ISO certifies a company's way of working, not software, so what a supplier can offer is covering controls on their behalf. The Security section on the front page says the same thing in four plain sentences for non-technical buyers.
Auto-deploy (CI/CD)
The server updates automatically every time you push to master. GitHub Actions runs lint → security scan → SSH deploy. No manual steps needed.
How we work — Branch Workflow
There are two branches in GitHub: develop (where all work happens) and master (what the server runs). Pushing to master triggers auto-deploy.
Always work on develop
All code changes, fixes, and new features go here. Nothing breaks on the live server while you work.
git checkout develop
Commit your changes
Save your progress locally after each meaningful change.
git add . git commit -m "short description of what changed"
Push to develop
Sends your commits to GitHub. The server is not updated yet — this is just a backup/sync step.
git push origin develop
Test locally
Make sure everything works on your PC before sending it to the cloud server.
Merge to master → server updates automatically
When you're happy, merge develop into master. GitHub Actions will lint, security-scan, and deploy to the server — no manual steps needed.
git checkout master git merge develop git push origin master git checkout develop
develop = your workshop. master = the live product. Only merge when you're ready for the world to see it.Manual update (if needed)
If you need to update the server manually without pushing code:
Connect to the server
Open PowerShell on your PC and run:
ssh -i "C:\Users\a.krustev\OracleKeys\ssh-key-2026-08-10.key" ubuntu@92.5.150.81
Pull latest code and restart
Fetches the latest changes from GitHub and restarts the app.
cd /opt/aik && git pull && sudo systemctl restart aik
Check it's running
Should show active (running) in green.
sudo systemctl status aik
Useful server commands
View live logs
Shows what the app is doing in real time. Press Ctrl+C to stop.
sudo journalctl -u aik -f
Restart the app
Use after changing the .env file or if the app is unresponsive.
sudo systemctl restart aik
Edit server settings (.env)
Opens the server configuration file. Save with Ctrl+X → Y → Enter.
nano /opt/aik/.env
Run database migration (only if auto-deploy did not)
Normally you do not need this. Every automatic deploy already updates the database before restarting, and your own PC does it when you start the server. Use this only if you pulled code onto the server by hand, or the deploy failed part-way.
ssh -i "C:\Users\a.krustev\OracleKeys\ssh-key-2026-08-10.key" ubuntu@92.5.150.81 "cd /opt/aik && git pull origin master && PYTHONUTF8=1 .venv/bin/alembic upgrade head"
Generate new SECRET_KEY or ENCRYPTION_KEY
Run this if you need to regenerate security keys.
cd /opt/aik && PYTHONUTF8=1 .venv/bin/python3.12 -c "import secrets; from cryptography.fernet import Fernet; print('SECRET_KEY=' + secrets.token_hex(32)); print('ENCRYPTION_KEY=' + Fernet.generate_key().decode())"Run with Docker (ready-made bundle)
Every push to master publishes the whole app — Python, Chromium, all of it — as one ready-made bundle at ghcr.io/kondalini/ai-app:latest. A new server downloads that instead of building it, which takes seconds rather than several minutes and does not need the source code.
Start it on a fresh machine
Needs only Docker and your .env file. PostgreSQL and Nginx come with it.
docker compose -f docker-compose.prod.yml up -d
Update it later
Fetches the newest bundle and restarts. Your database and files are untouched.
docker compose -f docker-compose.prod.yml pull docker compose -f docker-compose.prod.yml up -d
Building it yourself instead
Only for development, where you want your live edits to run. docker-compose.yml still builds from your own folder.
docker compose up --build
Server details (Oracle Cloud)
The production server is hosted on Oracle Cloud Free Tier — free forever.
Server info
URL: https://aikautomation.com
IP: 92.5.150.81 (reserved — this address is permanent and survives a restart)
Shape: VM.Standard.A1.Flex — 2 OCPU / 12 GB RAM (ARM)
App folder: /opt/aik
SSH key: C:\Users\a.krustev\OracleKeys\ssh-key-2026-08-10.key
Service: systemd aik.service — auto-starts on reboot
SSL: Let's Encrypt — expires 2026-10-26 (auto-renews)
Sending an update to on-premises clients
Clients running AIK on their own machines update themselves — you publish, they press a button.
Publish the new version
Bump VERSION, commit and push, then run one command. It builds the compiled packages on GitHub, waits, downloads them, signs them with your key and publishes them. About 6 minutes, mostly waiting.
.venv\Scripts\python scripts\ship_update.py --notes "What changed"
The client presses a button
Settings → 🔄 Updates → Check for updates. The app downloads it, verifies your signature, installs and restarts. Or they switch on "Install updates automatically". You send them nothing — every installer already points them at your release page.
Never mix the two channels
Clients get the compiled package, where your source is machine code. The plain package (build_release.py) is for this server only. Sending a plain update to a compiled install leaves two copies of the same file and the old one can keep running.
Backups — what is saved, and where
The server backs itself up every night at 03:00, with no action from you.
What goes into the backup
Only the things that exist nowhere else: the database, the .env settings, the certificate signing key, your files and the sandbox. Roughly 1 MB. The code is not included — it already lives on GitHub.
Where it goes
Two places: the server itself (last 14 kept) and an off-site copy at Backblaze B2, a separate company. If the whole server disappears, the backups do not. Old copies are removed automatically from both.
Check it is really working
A schedule that looks healthy can still be saving nothing, so run one by hand and confirm the file exists.
sudo systemctl start aik-backup.service journalctl -u aik-backup.service -n 20 --no-pager rclone ls b2backup:aik-backups-krustev
Restore
Download an archive and run deploy/restore.sh. Worth trying once while nothing is wrong — a backup nobody has restored from is only a rumour.
Security on the server
Keys, not passwords
Logging in requires a key file; password login is switched off entirely, so there is nothing to guess. Keep those key files private — whoever holds one has access.
Automatic blocking of intruders
fail2ban blocks any address that fails to log in 3 times within an hour, for 24 hours. Your own address is on the never-block list.
sudo fail2ban-client status sshd
No stored GitHub password
The server reads your code with a read-only deploy key. It can fetch updates but can never change your repository, and there is no token sitting in a text file.
Local vs Cloud — what's the difference?
Local and cloud are completely separate — they don't sync automatically.
Local (your PC)
Use for development and testing. Only accessible from your computer. Runs only when you start it manually.
Cloud (Oracle server)
Production environment. Accessible from anywhere 24/7. The server stays running even when your PC is off. The only shared thing is the code via GitHub.
Data does NOT sync
Agents, workflows, and users created on the cloud won't appear locally and vice versa. Each environment has its own separate database.
Cloud users — how AI models work
Important: on the shared cloud server, all users share the same machine.
- Cloud users should use cloud AI models (OpenAI, Anthropic, Google, Groq) with their own API keys set in Settings → AI/LLM. Local Ollama models on the shared server consume shared resources — downloading models is restricted to admins only.
- Self-hosted users (running AIK on their own laptop or server) can use both cloud and local models freely — Ollama downloads use only their own machine's resources.
- Each user's API keys and email credentials are private — encrypted in the database, never visible to other users or admins.
Platform Roadmap
Where the platform is heading as it grows.
Now — Shared Server
All users share one server. Cloud AI models recommended. Local models managed by admin only. Simple, low-cost, works for early users.
Next — Isolated Containers
Each user gets their own isolated "room" (Docker container) on the server. Their models, files, and processes can't affect others. Same physical server, but safely separated. Fast to create, affordable to run.
Future — Dedicated VMs
Heavy users get their own virtual machine in the cloud — a completely separate computer with its own CPU, RAM, and storage. Full isolation, custom resource allocation, scales with demand.
Enterprise — Private Deployment
Large organizations deploy AIK on their own infrastructure — their own servers, their own data center, behind their own firewall. Full control, full privacy, no shared resources.
Frequently Asked Questions
Quick answers to the most common questions.
.txt file.GET /health from any browser or monitoring tool — it returns {"status":"ok"} along with the current timestamp. You can also use GET /ping which simply returns "pong". These are public endpoints — no login needed.Easiest — during install (Windows & Linux): the installer asks which database to use. Pick "Connect to an existing PostgreSQL" (it asks for your host, database, username and password and tests the connection) or "Install a fresh PostgreSQL on this machine" (it sets one up for you). That's it.
Manual setup (any operating system, including Mac):
- Make sure PostgreSQL is running, and create an empty database and a user for AIK.
- Open AIK's
.envfile and set the database line to:
DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DBNAME
(leave theSECRET_KEYandENCRYPTION_KEYlines exactly as they are). - Build the tables by running
alembic upgrade headfrom the AIK folder (or simply restart AIK — it creates them on start-up). - Restart AIK. Do this before you start using it, so no data is written to the built-in file; you can then delete the leftover
data/automation.db.
Plans, Payments & Billing
Choose a plan, pay with card, PayPal, or bank transfer, and use the Payment Agent to process payments inside your automations.
🛣️ Two ways to get AIK
Pick whichever fits how you want to run it:
- Cloud (self-serve) — sign up online and use our hosted version. Simple monthly plans, start free, upgrade anytime. Best for trying it out and small teams.
- On-premise (installed for you) — AIK runs on your own servers, set up and supported by the person who built it. Your data never leaves your infrastructure. Best for businesses with privacy or compliance needs.
☁️ Cloud plans (self-serve)
Every account starts on the Free plan — no credit card needed. You can upgrade at any time from the Billing page.
- Free — 2 agents, 3 workflows, 50 runs/month. Good for trying everything out.
- Starter (€9/month) — 10 agents, 20 workflows, 500 runs. Scheduled runs included.
- Pro (€29/month) — Unlimited agents and workflows, 5 000 runs. Full analytics and support.
- Enterprise (€99/month) — Everything unlimited. Priority support and SLA.
🏢 On-premise / self-hosted (installed for you)
Prefer to run AIK on your own servers? We install and configure it for you, connect it to your models, mail and data, and stay on hand for support. Priced per project, not a fixed plan — a typical setup is:
- One-time setup — installed on your server(s), your first workflows configured, your team shown how to use it.
- Yearly licence — the software on your own infrastructure, covering all your machines, with updates included.
- Optional support — a monthly retainer for updates, changes and help when you need it.
Every on-premise deployment is quoted to your needs. Email for a quote →
💳 How to Pay
Open the Billing page, pick a plan, and choose your payment method:
- Credit / Debit Card — Processed securely by Stripe. Card details are never stored on our servers.
- PayPal — Click Pay with PayPal, log in to your PayPal account, and approve the payment. You're redirected back automatically.
- Bank / Wire Transfer — Copy the IBAN and reference number shown on the page, make the transfer from your bank, then click I've made the transfer. Your plan is activated within 1 business day.
🤖 Payment Agent — Process Payments in Automations
The PaymentAgent is a specialist agent you can use in any workflow step that needs to send or receive money. It has 10 tools across Stripe, PayPal, and general utilities.
💳 Stripe tools
- stripe_create_payment_link — generates a URL the customer clicks to pay with any card. Just pass the amount and description; Stripe handles the checkout page.
- stripe_charge_customer — charges a saved Stripe customer automatically with no redirect — useful for repeat billing or subscriptions.
- stripe_list_charges — lists recent charges, optionally filtered by customer ID. Good for reconciliation steps.
- stripe_refund — issues a full or partial refund on any charge ID.
- stripe_get_balance — reads the current available and pending balance on your Stripe account.
🅿 PayPal tools
- paypal_create_order — creates a PayPal order and returns the approval URL. Send this URL to the customer; they log in to PayPal and approve.
- paypal_capture_order — completes the payment after the customer has approved. Call this once you know the customer clicked "Pay Now".
- paypal_get_order — checks the current status of any PayPal order (CREATED / APPROVED / COMPLETED).
🔧 Utility tools
- format_amount — converts a cent-based integer to a readable string (e.g. 2999 → $29.99). Use this before putting an amount into an email.
- validate_iban — checks that an IBAN string has the correct format before initiating a bank transfer. Returns valid/invalid + the country code.
⚙️ How to set it up
- Go to Agents → New Agent, set the workbench to payment.
- Give it a system message like: "You are a payment assistant. When asked, create Stripe payment links or PayPal orders."
- Add your Stripe and PayPal keys to Settings → Connections (or the agent's Environment Variables).
- Add the agent as a step in any workflow.
✅ What Happens After You Pay
After completing payment on Stripe, you are redirected back to the platform. The system automatically verifies your payment with Stripe and activates your new plan — no waiting, no manual step. You'll see a success message and the plan cards update immediately.
If the verification takes a moment, the Stripe webhook (if configured) will also activate the plan as a backup.
⬇️ Downgrading
To switch back to the Free plan, click the Downgrade button on the Free plan card. The change takes effect immediately — no waiting until the end of a billing cycle. You can always upgrade again later.
📋 Billing History
Every payment attempt (card, PayPal, bank transfer) is recorded in your billing history. Open the Billing page and click View History to see the date, method, amount, and status of each transaction.
✉️ Transactional Emails
The platform automatically sends emails at key moments — no setup needed on the user side:
- Welcome email — sent when a new account is created.
- Plan activated — sent after a successful Stripe or PayPal payment, listing the features included in the plan.
- Password reset — sent when a user requests a reset link.
- Workflow notifications — optional alerts on success/failure, configured in Settings → Notifications.
Emails are sent via your SMTP settings. Configure them in Settings → Mail.
📊 Usage Meter
At the top of the Billing page and on the Dashboard you'll see a coloured bar showing how many workflow runs you've used this month out of your plan's limit.
- Green — under 80% used. You're fine.
- Yellow (warn) — 80–99% used. Running low.
- Red (danger) — at or over 100%. Further runs may be blocked until next month or you upgrade.
The counter resets on the 1st of each month. Admin accounts are always exempt from limits.
⚠️ Usage Alerts
The system automatically emails you when you hit 80% and 100% of your monthly run limit — so you're never surprised.
- The 80% alert gives you time to upgrade before you hit the ceiling.
- The 100% alert tells you that new runs are being blocked.
- Each alert is sent only once per month — you won't be spammed.
Emails go to the address on your account. Make sure Settings → Mail is configured so the platform can send emails.
✉️ Email Verification (6-digit code)
When a new user registers, an email with a 6-digit code is sent automatically. Right after signing up, the page shows a "Enter your code" box — the user types the code to verify. Until then they cannot log in ("Please verify your email first"). A code has no link, so no email provider can rewrite it — it works reliably on local installs and the cloud, for every provider.
- The code expires after 24 hours; a Resend code link sends a fresh one.
- The first admin account is verified automatically — no email needed.
- All platform emails (verification, password reset, failure alerts, billing) use the superuser's SMTP settings from Settings → Mail. No need to configure .env.
🗑️ Delete User (Super Admin)
Superusers can permanently delete any user from Super Admin → Delete. This removes all their agents, workflows, environments, memories, settings, and plans. Run history is preserved (user reference removed). You cannot delete yourself.
📂 Server Data view (Admin)
On the My Files page, admins see a My Files / Server Data toggle at the top. "Server Data" browses every user's files plus shared server output, for troubleshooting — regular users only ever see their own sandbox.
⚙️ Connecting Real Payment Providers (Admin)
To accept real Stripe or PayPal payments, add your API keys in Settings → Platform Keys:
- STRIPE_SECRET_KEY — your Stripe secret key (starts with
sk_live_orsk_test_). - STRIPE_WEBHOOK_SECRET — from the Stripe Dashboard → Webhooks. Register the endpoint
/billing/stripe/webhookthere. - STRIPE_PRICE_STARTER / PRO / ENTERPRISE — optional. Paste Stripe Price IDs if you pre-created recurring prices. If blank, the platform creates ad-hoc prices automatically.
- PAYPAL_CLIENT_ID / PAYPAL_CLIENT_SECRET — from your PayPal Developer dashboard.
No server restart needed — keys are applied immediately after saving.
Side-by-side Model Comparison
Type a prompt once and see how GPT, Claude, Gemini (and others) answer it — including response time and estimated cost — so you can pick the best model for each job.
Different models have different strengths. A cheap fast model might be perfect for classifying emails; a powerful model might be needed for drafting contracts. This page lets you see the difference in seconds.
Compare AI calls each model's internet API in parallel. Local models (Ollama) run on your own server and cannot be compared this way — they are hidden from the selector. To use local models, go to AIK Chat instead.
How to use it
Open Compare AI from the sidebar
Click ⚖️ Compare AI Models in the sidebar. The page loads all models your platform has configured.
Pick up to 3 models
Click the model chips to select or deselect. You can compare 1, 2, or 3 models at the same time. The fastest model is highlighted with a ⚡ badge.
Type your prompt and click Compare
All selected models run in parallel. Results appear side by side — each card shows the full response, latency in milliseconds, and estimated cost per call.
What the cards show
- Response — the model's full reply to your prompt.
- Latency — how many milliseconds it took to get the first complete response.
- ⚡ Winner — the fastest model gets this badge automatically.
- Model name — shown in the card header so you always know which is which.
Words You'll See
A quick reference for every term used in the platform.
- Agent
- An AI worker trained for a specific skill — email, spreadsheets, web browsing, etc. You create agents and give them instructions. They run when called by a workflow or triggered manually.
- Workflow
- A sequence of steps that run in order. Each step is handled by an agent. Workflows can be triggered manually, on a schedule, or by a webhook.
- Step
- A single task inside a workflow. Each step has a name, an instruction, and an assigned agent.
- AIK
- Your main AI assistant. You talk to AIK in plain English to ask questions, build workflows, or get things done across the platform.
- Workbench
- The skillset of an agent. Choosing a workbench (e.g. "mail" or "excel") gives the agent the tools it needs to do that type of work.
- Run
- A single execution of a workflow or agent. Each run is logged with its result, duration, and step-by-step output.
- Schedule
- An automatic trigger that runs a workflow or agent at a set time — daily, weekly, or using a custom cron expression.
- Webhook
- A special URL that triggers a workflow when called. Used to connect the platform to external tools like Zapier or Make.
- IF Condition
- A special step type that checks the output of the previous step. Depending on whether the condition is true or false, the workflow takes a different path.
- Template
- A pre-built workflow that can be installed with one click. You can also publish your own workflows as templates to share with others.
- Project
- A folder for organising your workflows and agents. Projects can be shared with team members.
- Environment
- A set of secret credentials for an agent (like email passwords or API keys). Each agent has three environments: development, staging, and production.
- Canvas
- A visual map of a workflow that shows each step as a connected node. IF condition steps show branching paths.
- Run History
- A log of every time a workflow or agent ran — including when, how long it took, whether it succeeded, and what each step did.
- Cron expression
- A compact code for setting a precise schedule. For example,
0 9 * * 1-5means "every weekday at 9am". - Observer
- A background process that watches a folder for new files and automatically triggers a workflow when something arrives.
- Time-Travel Debugger
- A tool in Analytics that shows a step-by-step breakdown of any workflow run. Lets you replay the workflow from any step without re-running the steps that already succeeded.
- Run Estimator
- A banner shown when you open an agent or workflow, displaying the average cost, duration, and success rate based on the last 20 runs.
- Knowledge Base
- A per-agent memory store of key/value pairs. The agent can read and update these entries during runs. Also stores automatic recovery lessons when self-improvement is enabled.
- Live Agent Feed
- A real-time panel on the Dashboard (just below the Pending Approvals card) that shows each step as it starts and completes during any active run — which agent handled it and a short snippet of the result.
- Recovery Lesson
- An automatic knowledge base entry written by an agent when it recovers from a failure. Records what went wrong and how it fixed it, so future runs can avoid the same issue.
- Payment Agent
- A specialist agent with Stripe and PayPal tools. Use it in workflow steps that need to charge customers, create payment links, or issue refunds — all automated, no manual intervention needed.
- Subscription
- Your current platform plan (Free / Starter / Pro / Enterprise). Controls how many agents and workflows you can create and how many runs you get per month.
- Bank Transfer Reference
- A unique code shown on the Billing page (e.g. AIK-6-alex@example.com). Include it in your bank transfer so our system can match the payment to your account automatically.
- Payment Link (Stripe)
- A URL generated by the PaymentAgent that the customer opens to pay with any card. The link is single-use and expires after the customer pays.
- My Files
- Your personal file space on the platform. Upload files for agents to process, download results, or create folders to organise your work. Each user has their own isolated sandbox.
- Local Worker
- A small app you install on your computer that connects to AIK Cloud. Lets AI agents read files, query databases, use Ollama models, and access MCP tools on your machine — without uploading anything.
- MCP (Model Context Protocol)
- A standard for AI tools. Each MCP server provides a set of tools (like email, files, databases) that agents can use. The platform includes 29+ built-in MCP servers, and the Local Worker can forward calls to any custom MCP server on your machine.
- System Tray
- The small icons area near your clock (bottom-right on Windows). The Local Worker shows a small AIK icon there — green when connected, red when offline. Click it to see status and quit.
Terms of Service & Privacy Policy
What you agree to when you create an account, and how we handle your data under GDPR.
The complete Terms of Service and Privacy Policy is available as a dedicated page: View Terms of Service & Privacy Policy →
What you agree to at registration
When you create an account you must tick the "I agree to the Terms of Service and Privacy Policy" checkbox. Without it, registration is blocked. This records your explicit consent as required by GDPR.
What data we collect
- Account data — email, name, hashed password, registration timestamp.
- Usage data — workflow run logs, activity logs (kept for platform improvement).
- Settings — API keys you add are stored encrypted in the database.
- Files — files you upload to your personal sandbox folder.
- Technical — IP address used only for rate limiting, not stored long-term.
How your data is protected
- Encrypted secrets — every API key and password you add is stored AES-256 encrypted, never in plain text.
- File sandboxing — agents can only read/write the folders you allow; nothing else on the server is reachable.
- First-party tool servers — every built-in tool server is our own code with no hardcoded keys (all config comes from your Settings). AIK ships no third-party tool servers, so there's no supply-chain attack surface.
- Prompt-injection detection — malicious instructions hidden inside emails or documents are detected and blocked before reaching the AI.
- Tamper-proof audit log — every action is SHA-256 hash-chained, so any tampering is provable (EU AI Act Art. 12).
- Login security — optional 2FA, 8-hour sessions with instant logout-all, enforced HTTPS/HSTS.
Your GDPR rights
- Right to erasure — delete your account at any time from Settings → Security → Danger Zone. Everything goes: agents, workflows, settings and keys, saved facts, documents, payment rows and every file in your sandbox. Two things are kept without your name attached — the run history and the tamper-evident activity log, because removing a row from a hash chain would break the proof for every entry after it.
- Right to access — download everything we hold about you from Settings → Security → Your data → Download my data: one zip with your agents, workflows, settings, run history, saved facts and every file in your sandbox. Passwords and stored API keys are left out on purpose — they stay readable in Settings, and a secret inside a downloaded file is one that can be lost.
- Right to rectification — change your name and e-mail address yourself on the Profile page. Your e-mail is also your login, so the old address stops working straight away; you are not asked to verify the new one again.
- Right to withdraw consent — delete your account at any time.
Registration toggle (admin)
Superusers can disable new registrations from Settings → Security → Platform Security. When the toggle is off, no new accounts can be created — existing users are not affected. This is useful once your team is fully set up and you want to prevent unknown signups.
User Management
How users are created, what they agreed to, and how to manage their limits and permissions from the Super Admin panel.
📋 Terms Accepted
Every user who registers ticks an "I agree to Terms & Conditions" checkbox during signup. The moment they check it and submit, the exact timestamp is saved to the database — column terms_accepted_at on the users table.
This means:
- You have a permanent, timestamped record that each user agreed to your terms before using the platform.
- If a user skips the checkbox, registration is blocked — they simply cannot create an account.
- The value is never editable after the fact — it is written once at registration and stays there.
To view it: Super Admin panel → users table shows the registration date. For the exact timestamp you can query the database directly: SELECT email, terms_accepted_at FROM users ORDER BY created_at DESC;
🔓 Billing Exempt
Every account is on a plan (Free, Starter, Pro, or Enterprise) that limits how many agents, workflows, and monthly runs they can have. The Billing Exempt switch removes all those limits for a specific user — they can create as many agents and workflows as they want and run them unlimited times, regardless of their plan.
When to use it:
- Your own superuser account — so you never hit limits while testing or managing the platform.
- A partner or reseller account that should not be billed.
- A demo or internal QA account.
Where to set it: Super Admin panel → find the user in the table → click the small toggle in the Exempt column. The change takes effect immediately — no page reload needed.
Stored in the database as billing_exempt (true/false) on the users table.
🔍 Audit Trail — CLI Responsibility Proof
Every time an admin checks the responsibility boxes and enables CLI Tool, a permanent record is written to the database with their name, user ID, and the exact timestamp. The same applies when you (superuser) grant or revoke the permission.
If an admin enables CLI and something goes wrong, you can prove exactly who did it and when. Query the audit log directly on the server:
SELECT id, user_id, title, detail, created_at
FROM activity_log
WHERE event_type = 'advanced_features'
ORDER BY created_at DESC;
The detail column contains the full text including: admin email, user ID, action taken, and confirmation that both responsibility checkboxes were accepted before saving. This record is append-only and cannot be edited.
🔗 Tamper-Evident Chain (EU AI Act Art. 12)
Every audit record is now sealed into a hash chain: each entry carries a fingerprint (SHA-256) computed from its own content plus the fingerprint of the entry before it. Because every link depends on the one before, if anyone edits or deletes any past record, every fingerprint after it stops matching — the tampering becomes provable, not just discouraged.
To check the whole log at any time, open Admin → Activity Log and click 🔗 Verify integrity (or call GET /activity/verify directly). It re-walks the chain and reports either "intact — all records verified" or the exact record ID where the chain first breaks. No external service is involved — the proof lives entirely in your own database.
The Activity Log table on that page is paged 50 records at a time — use the ← Prev / Next → buttons to move through history; the counter shows "Page X of Y · N total". Changing the event filter jumps back to page 1.
🔑 Roles at a Glance
- Automation User — standard account. Can use agents and workflows within their plan limits.
- Admin — can manage other users: create an account directly with + Add user (email, name, a first password and a role — the person does not have to sign up, and no confirmation e-mail is involved), change roles, and activate or deactivate. Cannot see Platform Keys or system config — those are superuser-only. Deactivating someone stops everything at once: they cannot sign in, any session they have open stops working on its next click, their API keys are refused, and their scheduled workflows, agents and document jobs stop running. Nothing is deleted — switch them back on and it all resumes.
- Superuser — full control. Can grant/revoke superuser status, set billing exemptions, manage plans, and toggle Advanced Developer Features. Only the existing superuser can create another superuser.
📏 What a plan actually stops
Each plan sets four things: how many agents, how many workflows, how many runs a month, and whether scheduled runs are allowed at all. They are enforced everywhere something is created or run — the pages, duplicating, importing a workflow, installing from the marketplace or a template, the audit builder, AIK chat, and Claude through the connector. Going over the line gives a clear message naming the plan and the number, not a silent failure.
A plan is chosen during signup, so an account is limited from its first minute. Super Admin → Plan limits decides what happens to an account that somehow has no plan at all: treat it as Free, or leave it unlimited. Leave that off on your own installation — it is for a server where plans are sold. Superusers and accounts marked billing-exempt are never limited.
- A dry run is free — testing a workflow without touching anything does not count against the monthly runs.
💾 Backups, and getting one account back
Two different things, and knowing which one you need saves an awkward conversation with a client.
1. The nightly backup — everything, or nothing. Every night at 03:00 the server dumps the database, the .env, the signing key and all user files into one dated archive, keeps the last 14, and copies them off the server. Restoring it brings the whole platform back to that night — every account, including the ones that did nothing wrong. That is the right tool for a disk failure or a bad update, and the wrong one for “a client deleted a workflow at lunchtime”.
2. One account, on its own. The same nightly job now also writes one export file per account into data/account-exports/. That file can be read back into that account alone, leaving everyone else untouched.
The easy way: the Super Admin page
Every user row has a ⟲ Backup button. It opens one small dialog that does both jobs: Download this account takes a copy right now (do this before you touch anything), and the restore half lets you use last night's export or a zip you choose. Preview reads the file and lists what is inside without changing a thing; only after a successful preview does the Restore button become available. Nobody else on the platform is affected either way.
The same thing from the server, if you prefer a terminal
python scripts/export_account.py --email someone@client.com
Writes a zip: every row that belongs to them plus every file in their folder. It changes nothing, so take one before you touch anyone's account. A user can do this for themselves in Settings → Security → Your data → Download my data.
Putting one account back
python scripts/import_account.py --email someone@client.com --zip aik-account-7.zip --dry-run
The dry run lists what is inside and changes nothing. Drop --dry-run to do it. Their agents, workflows and steps, projects, document types, assistants, saved facts and files come back.
Three things to expect, so nobody is surprised
- Everything comes back as a copy, with “(restored)” on the name. Nothing you have now is overwritten, and a restore you did not mean can simply be deleted.
- It arrives switched off — restored workflows and agents are inactive with their schedules disabled. A restore should not start running by itself; turn on what you want after checking it.
- Stored API keys do not come back. They are deliberately left out of every export, because a backup you can read is a backup that can leak. They are typed in again in Settings. Anything owned by someone else — a shared team, another person's copy of a template — is not theirs to restore either.
History is not restored: run logs and the activity log are the record of what happened, and the activity log is a hash chain that cannot take an insert without breaking its own proof.
Contact Us
Have a question, a business inquiry, or need help getting started? We're here.
Use the contact form to reach the team. We reply within 24 hours on business days.
Open Contact Form →Or email us directly at support@aikautomation.com
What can you contact us about?
- General questions — anything about how the platform works
- Business & Sales — pricing, custom plans, on-premises licensing
- Technical support — problems, errors, setup help
- Partnerships — integrations, reseller, co-marketing