Elizon Docs
Features & Specs

Package concepts

What a Package is, what it contains, and the rules that make it portable.

A Package is a set of AI objects that installs into an Organization as one unit and works the same in every Organization it's installed into. It's written as plain files, checked by the CLI, and distributed as a single signed .pkg file.

What a Package contains

ComponentFolderHow manyWhat it is
Agentsagents/Any numberAn Agent's instructions, model settings, memory, tools and knowledge
Teamsteams/Any numberA lead plus member Agents, and how they coordinate
Workflowsworkflows/Any numberA graph of steps: triggers, Agents, Teams, branches, human review
Toolstools/Any numberMCP servers or OpenAPI tools the Package's objects call
Skillsskills/Any numberPackaged instructions and reference files an Agent can load
Knowledge Basesknowledge/Any numberHow documents are indexed and searched. Never the documents
Voiceany pathAt most oneHow a phone line sounds and behaves
SIP routingany pathAt most oneHow inbound calls reach the Package. Never a carrier or a number

The manifest, elizon.yaml, lists them all and declares everything around them: identity, compatibility, compliance, the entry point, Slots, triggers and evaluation. See The manifest.

One entry point

Every Package has exactly one entry point, the object that runs when the Package is started:

entryPoint: workflows.triage-flow

Every trigger (schedule, webhook, inbound call, API, manual) starts the entry point. Anything else in the Package runs because the entry point calls it.

Objects refer to each other by name

Inside a Package, objects reference each other as <collection>.<name>: agents.intake, teams.after-hours-desk, knowledgeBases.escalation-policy. Never by a database id. At install, the Organization creates each object and wires these names to the real resources. See The reference graph.

What a Package never carries

A Package is written once and installed by people you'll never meet, so it never contains anything that belongs to a particular Organization:

  • No secrets. No API key, token, password or connection string, anywhere.
  • No destinations. No email address, channel, phone number or endpoint that output goes to.
  • No accounts. No model provider account, speech account, calendar account or carrier.
  • No documents. A Knowledge Base ships its settings; the installer supplies the documents.
  • No Organization identifiers, and no personal data in carried text.

Everything the installer must supply is declared as a Slot. See Slots. build refuses an artifact that would carry an Organization identifier or personal data.

Identity and versions

A Package is identified by metadata.namespace + metadata.name (for example elizon-demo/triage) and versioned with semantic versioning in metadata.version. Installing a newer version of the same Package into an Organization that already has it is an update, not a second install.

After install, it's yours

Everything a Package creates becomes an ordinary resource of the Organization: an Agent, a Team, a Workflow, and so on. Operators can open, edit and reuse them like anything they built themselves. Each resource remembers which Package created it, for display and audit only; there's no lock.

Two ways to install

  • Studio → Packages → Install a Package: an eleven-step wizard. See Installing a Package.
  • npx @elizon/cli install: the same engine from a terminal or CI. See install.

An install started in one can be resumed or rolled back from the other.