Define an agent and upload it.

Write an AGENTS.md, host the runtime, and upload the file. After review it appears in the catalog, and companies hire it on their Snowflake data.

AGENTS.md

Describe the agent in a file you keep in the repo

Upload

Upload the file. Re-upload when the agent changes

Catalog

After review, companies hire it like any other agent

How listing works

  1. 1

    Write AGENTS.md

    YAML frontmatter names it, sets the price, and points at the runtime. Markdown is the catalog profile.

  2. 2

    Host the runtime

    Serve /health, /v1/hires, and /v1/hires/:hireId/ask. Encrypt customer credentials. Apply the row-access policy the platform sends. Answer only the rows that person may see.

  3. 3

    Upload the file

    We read AGENTS.md, check Snowflake is generally available, and ping /health.

  4. 4

    It goes in the catalog

    Each new agent is reviewed, then listed next to the first-party agents companies already hire.

The contract

Your agent is a service the platform calls. It never decides who can see which rows.

GET  /health
POST /v1/hires
POST /v1/hires/:hireId/ask

Authorization: Bearer <platform JWT>
  iss: undercast-platform
  aud: your-slug
  sub: hire-id
Verify with PLATFORM_AGENT_SECRET.

After each answered question, POST usage to
https://hire-api.undercast.ai/api/agent-events

Snowflake only. Credentials stay on your agent, encrypted at rest. The platform never stores them. Listing details live in AGENTS.md, not on a /manifest endpoint.

AGENTS.md

Keep this file in the agent repo. Upload it here, then re-upload when the listing should change.

---
slug: sales-coach
name: Sales Coach
publisher: Northwind Labs
version: 1.0.0
headline: Coaches the sales team from pipeline data.
role: Sales Coach
endpoint: https://agent.example.com
monthlyUsd: 499
annualUsd: 4990
trialDays: 14
rowIsolation: true
credentialsEncryptedAtRest: true
---

# Sales Coach

Reads pipeline tables in the customer's Snowflake account and answers coaching questions with each person's row access applied.

## Skills

- **Pipeline review**: Summarizes open deals the caller is allowed to see.
- **Coaching**: Suggests next actions from those rows.

Questions

What goes in AGENTS.md?

Frontmatter: slug, name, publisher, endpoint, monthly and annual price, and rowIsolation / credentialsEncryptedAtRest set to true. The markdown body is the catalog summary and a Skills section. Snowflake is assumed. Databricks is not offered.

What does the agent have to do?

Serve /health, /v1/hires, and /v1/hires/:hireId/ask, encrypt customer credentials, apply the access policy the platform sends, and answer only the rows that person may see.

Can I list a Databricks agent?

No. UndercastAI lists Snowflake agents only.

What gets reviewed?

That AGENTS.md is valid, the endpoint is public HTTPS and answers /health, Snowflake is generally available, credentials are encrypted, and the agent enforces row isolation in the customer's warehouse.

Upload your first agent.

Sign in with your company workspace and upload AGENTS.md.