Files
AutoGPT/docs/integrations/block-integrations/system/store_operations.md
Reinier van der Leer aa08063939 refactor(backend/db): Improve & clean up Marketplace DB layer & API (#12284)
These changes were part of #12206, but here they are separately for
easier review.
This is all primarily to make the v2 API (#11678) work possible/easier.

### Changes 🏗️

- Fix relations between `Profile`, `StoreListing`, and `AgentGraph`
- Redefine `StoreSubmission` view with more efficient joins (100x
speed-up on dev DB) and more consistent field names
- Clean up query functions in `store/db.py`
- Clean up models in `store/model.py`
- Add missing fields to `StoreAgent` and `StoreSubmission` views
- Rename ambiguous `agent_id` -> `graph_id`
- Clean up API route definitions & docs in `store/routes.py`
  - Make routes more consistent
- Avoid collision edge-case between `/agents/{username}/{agent_name}`
and `/agents/{store_listing_version_id}/*`
- Replace all usages of legacy `BackendAPI` for store endpoints with
generated client
- Remove scope requirements on public store endpoints in v1 external API

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Test all Marketplace views (including admin views)
    - [x] Download an agent from the marketplace
  - [x] Submit an agent to the Marketplace
  - [x] Approve/reject Marketplace submission
2026-03-06 14:38:12 +00:00

90 lines
3.2 KiB
Markdown

# System Store Operations
<!-- MANUAL: file_description -->
Blocks for browsing and retrieving agent details from the AutoGPT store.
<!-- END MANUAL -->
## Get Store Agent Details
### What it is
Get detailed information about an agent from the store
### How it works
<!-- MANUAL: how_it_works -->
This block retrieves detailed metadata about a specific agent from the AutoGPT store using the creator's username and agent slug. It returns the agent's name, description, categories, run count, and average rating.
The store_listing_version_id can be used with other blocks to add the agent to your library or execute it.
<!-- END MANUAL -->
### Inputs
| Input | Description | Type | Required |
|-------|-------------|------|----------|
| creator | The username of the agent creator | str | Yes |
| slug | The name of the agent | str | Yes |
### Outputs
| Output | Description | Type |
|--------|-------------|------|
| error | Error message if the operation failed | str |
| found | Whether the agent was found in the store | bool |
| store_listing_version_id | The store listing version ID | str |
| agent_name | Name of the agent | str |
| description | Description of the agent | str |
| creator | Creator of the agent | str |
| categories | Categories the agent belongs to | List[str] |
| runs | Number of times the agent has been run | int |
| rating | Average rating of the agent | float |
### Possible use case
<!-- MANUAL: use_case -->
**Agent Discovery**: Fetch details about a specific agent before adding it to your library.
**Agent Validation**: Check an agent's ratings and run count to assess quality and popularity.
**Dynamic Agent Selection**: Get agent metadata to decide which version or variant to use.
<!-- END MANUAL -->
---
## Search Store Agents
### What it is
Search for agents in the store
### How it works
<!-- MANUAL: how_it_works -->
This block searches the AutoGPT agent store using a query string. Filter results by category and sort by rating, runs, name, or recency (`updated_at`). Limit controls the maximum number of results returned.
Results include basic agent information and are output both as a list and individually for workflow iteration.
<!-- END MANUAL -->
### Inputs
| Input | Description | Type | Required |
|-------|-------------|------|----------|
| query | Search query to find agents | str | No |
| category | Filter by category | str | No |
| sort_by | How to sort the results | "rating" \| "runs" \| "name" \| "updated_at" | No |
| limit | Maximum number of results to return | int | No |
### Outputs
| Output | Description | Type |
|--------|-------------|------|
| error | Error message if the operation failed | str |
| agents | List of agents matching the search criteria | List[StoreAgent] |
| agent | Basic information of the agent | StoreAgent |
| total_count | Total number of agents found | int |
### Possible use case
<!-- MANUAL: use_case -->
**Agent Recommendation**: Search for agents that match user needs and recommend the best options.
**Marketplace Browse**: Allow users to explore available agents by category or keyword.
**Agent Orchestration**: Find and compose multiple specialized agents for complex workflows.
<!-- END MANUAL -->
---