Skip to main content
Knowledge is the set of documents an agent can search while answering; a feature is a platform capability you turn on per agent, which adds tools and instructions the model can use. Both exist so an agent gains abilities without a release: an operator uploads a policy or switches a feature on, and the model can use it on the next turn.

How knowledge and features reach the model

Knowledge

Knowledge is a list of resources on the agent. A resource is either text, created and edited from lua resources in your editor, or a file uploaded in the admin dashboard’s Knowledge section: PDF, Word, Excel, PowerPoint, images (read by OCR), email files, HTML, Markdown, plain text, EPUB, and JSON. A file goes through processing and then indexing: its status moves through pending_file_processing and pending_rag_creation to completed, or stops at failed_file_processing or failed_rag_creation. An unsupported content type is refused with Unsupported file type: <type>. Supported types include PDF, Office documents, images, emails, and more.; a file with an unknown content type is accepted and processed as best the platform can. Each resource is split into overlapping chunks and embedded for semantic search, and the platform writes a short summary of it. The agent searches knowledge only when the rag feature (Knowledge Search) is on. It adds one tool, searchKnowledgeBase, which takes a natural-language query and an optional resourceId. The prompt lists every resource with its ID and summary, so the model can search everything or focus on one document when it knows which one holds the answer. lua resources list, lua resources view --resource-name <name>, and lua resources delete --resource-name <name> manage resources from the CLI.

Features

Features come from a platform catalog, and each agent carries a row per feature: on or off, an optional instructions override, and for some features a configuration object. When a feature is on, the runtime registers its tools and renders its instructions into the prompt the model sees, under the feature’s title. Three features are on unless you turn them off: workflows and workflowCompose, which let the agent start and compose workflows, and observationalMemory, which compresses long conversations into an observation log for the current thread and gives no memory across chats. Creating an agent writes no row for these three; an absent row takes the catalog default, which is on for them and off for every other feature, so only an explicit lua features disable turns them off. The rest start off unless they are switched on when the agent is created: lua init asks for every feature its base agent type offers and the admin dashboard’s create dialog pre-selects them, and the platform honors the capability features in that request while refusing memoryWrite and the internal gates. So a new agent normally starts with these on; lua features list shows which:
  • rag (Knowledge Search): searchKnowledgeBase, as described.
  • webSearch: searchWeb, a query-based web search that returns an answer with source links; it does not open arbitrary URLs.
  • inquiry (inquiry forms): one create tool per form you define, plus getInquiries, addInquiryComment, and closeInquiry, for structured intake such as leads or support requests.
  • outboundChannels: listOutboundChannels, a generic sendChannelMessage, and one send tool per channel the agent has configured (WhatsApp, WhatsApp message template, email, SMS, web chat, Instagram, Messenger, Teams), so the agent can message someone other than the person it is talking to. Its recipientScope is current_user by default; anyone lets the agent address recipients it names.
  • browser: seven browser_* tools for a browser session, with allowedDomains and other policy in its configuration; browser: true on LuaAgent turns it on from code.
  • codeExecution, imageGeneration, location, deepResearch, tickets: the model provider’s code execution tool, createImage and editImage, geocoding in both directions, deep research, and support tickets.
  • memoryRecall and memoryWrite: read the organization’s shared memory (memory_search, memory_entity, memory_context, memory_ask, memory_list) and, with memoryWrite, save memory statements about the person in the conversation with memory_write. memoryWrite is a deliberate per-agent choice and is never pre-selected.
  • screenshot, clipboard, notifications, shell, apps, computer_use, shortcuts: computer-control capabilities the desktop app activates per agent.
lua features list also prints rows that are not capabilities you enable: the luaMemory* rows are the platform’s rollout switches for personal memory across chats, sandboxRouting holds internal execution configuration, and artefactDelegation is an organization-wide switch for routing designed documents through a design agent. None of them adds a tool on its own, and the platform never turns them on when an agent is created. Switch features on and off with lua features list, lua features enable --feature-name <name>, lua features disable --feature-name <name>, and lua features view --feature-name <name>, and set the outbound scope with lua features configure --feature-name outboundChannels --recipient-scope anyone. In the admin dashboard, the agent’s Getting started dialog switches the same features. A member agent of a Space can override its base agent’s rows feature by feature.

Knowledge and skills

Knowledge answers “what does the document say”; a skill answers “do this” against your systems; a feature is a skill the platform wrote and maintains. Use knowledge for policies, FAQs, and product documentation that change without a release; a skill for anything that calls your API; a feature when the platform already provides the capability.

When to use it

  • Policies, FAQs, or manuals should ground answers: upload them and enable rag.
  • Answers need current public facts: enable webSearch.
  • You want structured intake without code: enable inquiry and define forms in the admin dashboard.
  • The agent should send follow-ups on other channels: enable outboundChannels and choose the recipient scope deliberately.
  • Don’t upload secrets or per-user data as knowledge; keep per-user data in User and secrets in lua env.

Limits

Next steps

Add knowledge

Upload documents, enable rag, and verify a grounded answer.

lua features

List, enable, disable, view, and configure.

lua resources

List, view, and delete resources.

For operators

What you change in the admin dashboard and what needs an engineer.