---
title: Create a business resource package
description: Package roles, skills, references, and templates as importable content.
lastVerified: 2026-10-01
---

# 6.4 Create a business resource package

Business resource lists continue to support `teloa.business-package/v2`; `v3` adds fixed model dependencies and `v4` adds complete business configuration resources. Start with the [general research example package](https://docs.teloa.ai/v/0.2.3/examples/general-research.zip) to learn the complete v2 structure, then reduce it to the resources you need. Its example content is in Chinese; the package format is language-independent.

## Business packages and engine bundles

A business resource package distributes role definitions, methods, references, templates, and their relationships. An engine bundle composes runtime plugins and configuration. Importing the former does not install arbitrary engine code or grant an employee every tool. Extension dependencies retain their own installation, configuration, and authorization checks. See [Engine integration boundaries](https://docs.teloa.ai/v/0.2.3/markdown/en/develop/engine-integration.md).

## Package structure

```text
research/
  teloa.json
  skills/研究简报/SKILL.md
  roles/研究分析员.json
  knowledge/通用研究方法.md
  workflows/资料研究.json
  plans/每日资料核对.json
```

## A minimal resource list

This example lists just one skill. Package it with `skills/research-brief/SKILL.md` from the previous guide. The example's display text is retained in Chinese:

```json
{
  "format": "teloa.business-package/v2",
  "id": "research-starter",
  "title": "研究入门",
  "version": "1.0.0",
  "domain": "general",
  "description": "根据授权资料生成带来源的研究简报。",
  "resources": [{
    "id": "research-brief",
    "kind": "skill",
    "title": "研究简报",
    "version": "1.0.0",
    "required": true,
    "source": {"kind": "local", "path": "skills/research-brief/SKILL.md"}
  }],
  "relations": [],
  "entrypoints": ["research-brief"]
}
```

## Key validation rules

- Resource IDs must be unique. Relationships must refer to resources present in the package with matching types.
- Versions must be exact three-part version numbers; `latest` is not accepted.
- Local paths must be relative to the package and cannot contain absolute paths, `..`, or backslashes.
- Local resources marked `required: true` must exist.
- `scope` is optional and defaults to `domain`. Scope identifiers contain 1–64 letters, digits, underscores, or hyphens.
- Entrypoints may refer only to skills or task templates. Listing a resource and granting permissions are separate.

## Complete business configurations and standalone dashboards

A v4 package can include `kind: "business-configuration"`. Its body uses `teloa.business-dashboard-resource/v1`, with a fixed `id`, three-part `version` and a complete `teloa.business-configuration/v2` configuration. Include object types, views, widgets, dashboards, pages and the home-page reference, with at least one dashboard page. All references must resolve within the configuration and its scope must match the manifest. v2/v3 reject this resource kind.

A standalone public marketplace dashboard uses `kind: "dashboard"` in `catalog/dashboards/<entry-id>.json`, with files under `artifacts/dashboards/<entry-id>/<version>/`. Its root `teloa.json` is v4, declares exactly one required local complete configuration resource, and has empty `relations` and `entrypoints`. Solutions may reference a unique public dashboard resource through a fixed `source.id` and matching `source.version`; that source must not contain further public references.

Dashboards and v4 solutions appear only in the v2 marketplace index and require Teloa `0.2.0-alpha.7` or later. Select a target business and review object and field mappings to create a draft, then preview and adopt it personally. The resource excludes real records, keys, existing synchronization bindings and default-action identities. Configure connections, synchronization and business actions separately in the target business; employee permissions are not granted automatically. Existing-data mappings are not guessed from titles or field names.

## Verify the import

Import into a separate test installation first and inspect the previewed content and relationships. After confirmation, open each role, skill, and template, then complete a small task. Also verify that missing files, invalid versions, and mismatched relationships are rejected.

Content imports currently allow 1–500 files, up to 2 MiB per file and 20 MiB in total. The UI or upload layer may impose additional limits. Publishing to a public catalog requires additional publication metadata; this does not mean a complete public publishing service is available.

See [Resource formats and internal interfaces](https://docs.teloa.ai/v/0.2.3/markdown/en/develop/formats.md) for format details.
