---
title: "List built-in agent templates"
method: GET
path: "/table-enrichments/builtin-agent-templates/"
tags: ["table-enrichments"]
---

# List built-in agent templates

`GET /table-enrichments/builtin-agent-templates/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/table-enrichments/builtin-agent-templates/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

The built-in agents as copyable starting points, prompt and model included, so the agents page can seed a saved-agent editor from one. Every agent the picker offers this org, filtered by the same per-org visibility; `is_template` marks the curated few.

## Response `200`

Successful Response

- BuiltinAgentTemplateListResponseSchema: The built-in agent templates visible to the organisation, in picker order.
  - `templates` BuiltinAgentTemplateSchema[], required
    - `description` string, required
    - `icon` string, nullable, required: Lucide icon token; null renders the default.
    - `inputs` AgentInputSchema[], required: The agent's declared inputs, carried over so a copy keeps the same contract. A built-in binds these to columns rather than naming them in its prompt, so the copied prompt references none of them until its new owner does.
      - `id` string, uuid, required
      - `name` string, required
    - `is_template` boolean, required: Whether this one is curated as a worked example. Every visible built-in is listed; the agents hub features the curated few as cards and leaves the rest to the gallery.
    - `key` string, required
    - `model_key` string, required
    - `name` string, required
    - `output_schema` union, required
      - EnrichmentOutputFieldsOutput: The fields-mode output shape: repeatable named typed fields. The default is Clay's: one text field named ``response``.
        - `fields` EnrichmentOutputField[]
          - `choices` string[], nullable: The fixed option list for a select field; None elsewhere.
          - `description` string, nullable: Shown to the model: what this field should contain.
          - `field_type` 'text' | 'paragraph' | 'url' | 'email' | 'image_url' | 'person' | 'select' | 'number' | 'decimal' | 'currency' | 'checkbox' | 'date' | 'multi_select' | 'list' | 'object': The type a user picks for a table column. Ordered as the picker shows them, which is also the order the groups below run in: text-ish, then numeric, then choice, then structured.
          - `name` string, required
        - `mode` 'fields'
      - EnrichmentOutputRawSchema: The advanced output shape: a raw strict-mode JSON schema, verbatim. Held to every strict-mode constraint at SAVE time by the service layer. The shape is stored exactly as authored, and validation failures name the exact violated rule rather than surfacing at run time.
        - `json_schema` object, required: A strict-mode JSON schema with an object root.
        - `mode` 'json_schema'
    - `prompt` string, required
    - `prompt_template` AgentPromptTemplateOutput, required: A saved agent's prompt: literal text with references between the runs. The same convention every other stored prompt in the product uses (``EnrichmentPromptTemplate`` for columns, template segments for sequences): identity-keyed segments, so renaming what a reference points at never rewrites the prompt. Structurally parallel to the enrichment template rather than importing it: an agent prompt references INPUTS, an enrichment prompt references COLUMNS, and the import hierarchy keeps the two domains apart.
      - `segments` union[]
        - union
          - AgentPromptTextSegment: A literal run of prompt text.
            - `text` string, required
            - `type` 'text'
          - AgentPromptInputRefSegment: A reference to one declared input, resolved per row at run time.
            - `input_id` string, uuid, required
            - `type` 'input_ref'
          - AgentPromptContextRefSegment: A reference to the org's business context, resolved per org.
            - `section` 'all' | 'company' | 'icp' | 'personas' | 'signals' | 'social_proof': One section of the org's AI business context a prompt can reference. ``ALL`` is the whole context document; the rest are its named sections.
            - `type` 'context_ref'
    - `tagline` string, nullable, required
    - `use_business_context` boolean, required: Whether runs fold in the org's AI business context. Copied into the saved agent so a template built around it keeps working.
    - `web_research` boolean, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
