Write the package manifest (pgb.package.json)
The one file that describes your package: name, type, version, permissions, settings and secrets, with the rules each field must follow.
Every package contains a file called pgb.package.json at its top level (or inside one folder). It tells PGB Marketplace what the package is and what it needs.
The essentials
These fields are required:
schema_version: always"1".name: lower-case letters, digits and dashes, up to 48 characters.publisher: your publisher name.type: one ofagent,tool,integration,function,template,workflow,database,business-resource.version: three numbers, such as1.0.0.display_name: up to 80 characters.summary: up to 280 characters.license: an open license identifier such asMIT.portability:portable,compatibleornative.
Useful optional fields
description(up to 5,000 characters),categories(up to 5),tags(up to 10 short lower-case words),homepage(https only),visibility(publicorprivate).dependencies: other packages, as"@publisher/name": "^1.0.0".permissions: a list of what the package needs. Use only values from the Marketplace's list, for examplebusiness.mail.draft,database.read,network.outbound.configuration: settings people fill in. Each has an UPPER_SNAKE_CASEname, atype(text, email, url, number, boolean, select or phone), and optionallyrequired,default,optionsand adescription.secrets: names of secrets the package needs. A secret never has a default; people add their own after installing.
Type-specific blocks
- A template needs a
templateblock. See Template variables. - An agent needs an
agentblock:instructions(10 to 20,000 characters),model_route(fast,smartorcode),tools,triggers,budget_usd_monthandapproval_policy. When someone adds your agent, Agents fills in the same fields. A schedule trigger starts paused.
Unknown keys are rejected, so check spelling.
An agent example
{
"schema_version": "1",
"name": "weekly-summary",
"publisher": "acme",
"type": "agent",
"version": "1.0.0",
"display_name": "Weekly Summary",
"summary": "Writes a short summary of last week's mail.",
"license": "MIT",
"portability": "compatible",
"permissions": ["business.mail.read", "notify.email"],
"agent": {
"instructions": "Read last week's mail and email the owner a short summary.",
"model_route": "smart",
"tools": ["business.mail.search", "notify.email"],
"triggers": [{ "type": "manual" }]
}
}
Good to know
- Permissions drive review. Asking for
network.outbound,database.write, or send and share permissions sends the version to review. - Look at the PGB starter packages for real examples. See Starter packages from PGB.
- The upload check lists every problem it finds. See Upload a package and publish versions.
More guides in PGB Marketplace
Browse and search PGB Marketplace
Find agents, tools, integrations, functions, templates and workflows by type, category, portability and keyword.
Trust labels and portability levels explained
What Official, Verified Publisher, Security Checked, Featured and Community each mean, and what Portable, Compatible and PGB Native tell you.
Review permissions and install a package
Choose where a package goes, read exactly what it can access, fill in its settings and confirm the install.
See and remove what you have installed
The My installs page lists every package you installed and anything installed on projects you manage, with an Uninstall button.
Become a publisher and add your team
Create a publisher, understand names and roles, and invite teammates to publish with you.
Template variables: the settings form for your template
Define the fields people fill in, how they are grouped and shown, and which files stay locked, in the template block of your manifest.