Docs homeCore ConceptsBuds

Buds

Buds are the atomic execution units of the Stackmint platform. Each Bud is a typed, versioned function with a defined input schema, output schema, and implementation.

A Bud is the smallest executable unit in Stackmint. It is a self-contained function that takes a typed input, performs a specific operation (calling a model, querying an API, sending a message, reading a database), and returns a typed output. Buds are composable: they are assembled into Branches to form multi-step workflows.

Bud anatomy

Every Bud has the following properties:

  • input_schema — JSON Schema describing the required and optional inputs. Inputs are validated before the Bud executes.
  • output_schema — JSON Schema describing the output. Downstream Buds and Branch outputs are validated against this schema.
  • implementation — The Python function that performs the Bud's operation.
  • version — Semantic version string. Breaking schema changes must increment the major version.
  • price_per_use_usd — Cost in USD deducted from Workspace credits on each successful execution.
  • bud_type — Classification: model, integration, system, or utility.

Bud types

Model Buds call AI models (Claude, GPT, Gemini, Mistral). They accept a prompt and structured context as input and return model output. Model Buds are subject to the Workspace model allow list — a Bud requesting a disallowed model will fail at pre-dispatch.

Integration Buds connect to external systems: Salesforce, Slack, Notion, Google Workspace, HubSpot, and others. Authentication is handled via Workspace-level OAuth tokens or API keys stored as context Variables.

System Buds perform platform-level operations: loading context, triggering HITL checkpoints (ConsultHumanBud), or invoking sub-Branches. System Buds require elevated permissions defined in the Capability Manifest.

Utility Buds perform deterministic transformations: data formatting, JSON parsing, template rendering, conditional routing. They do not call external services.

High-privilege Buds

Some Buds are tagged as high-privilege in the Capability Manifest because they can perform sensitive operations (sending emails, writing to databases, deleting records). High-privilege Buds:

  • Require explicit declaration in the Capability Manifest
  • Can be gated behind HITL checkpoints
  • Generate additional audit log entries
  • Can be disabled per Workspace without removing the Capability

Bud versioning

Buds use semantic versioning. A Branch references a Bud at a specific version. When a Bud's implementation changes without a schema change, the patch version increments and existing Branches pick up the update automatically. Schema changes require a major version bump and explicit Branch migration.

Bud marketplace

Stackmint ships a library of certified Buds covering common enterprise integrations. Partners and developers can publish custom Buds to the marketplace after passing certification review (schema validation, security scan, LLM audit scoring). See Build a Bud for the development guide.