What makes up an agent
How agents are defined
An agent is a versioned bundle of two files:agent.jsonc is published as a JSON Schema at https://api.prod.major.build/public/agent.schema.json. Environment variable values are never stored in the bundle: declare the key, then fill in the value in the agent panel in the web app. Values are encrypted and kept across versions.
Building an agent
You build agents by describing them. Ask the Platform Agent in the web app, or any AI client connected through MCP, and it drafts the prompt, researches the connectors and apps it should use, and attaches them. You refine it by asking (“use the production database”, “never let it delete anything”). You can also edit the two files yourself with the CLI.- Create the agent. It starts as a private draft.
- Describe its purpose. The system prompt, connectors, apps, and skills are drafted for you.
- Review the auto-applied tool permissions and adjust if needed.
- Save as often as you like. Each save is a new immutable version and changes nothing for anyone running the agent.
- Publish to make the latest saved version live. An agent with no published version can’t be run.
Drafts stay private to you until you publish. Published agents can be shared with others in your organization. You can roll back by publishing an earlier version.
Running an agent
Start a new chat and pick your agent, and it runs with the prompt, connectors, skills, and permissions you configured. Agents can also run without a person in the loop:Workflows
Use the agent as a step in a multi-step workflow.
Triggers
Run an agent from a workflow on a schedule, a connector event, or a webhook.
App triggers
Let your deployed apps start and manage agent runs.
External channels
Deploy the agent as its own Slack bot to receive and reply in channels.
Sharing and access
Agent access is role-based - User (run), Editor (edit and publish), and Admin (share) - and an agent can be shared with individuals or groups. When an agent is shared and run by someone other than its author, Major uses per-user credentials where a connector requires them, so each runner acts as themselves.Access & Permissions
Full RBAC details for agents and skills.