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.
Describe the agent in a file you keep in the repo
Upload the file. Re-upload when the agent changes
After review, companies hire it like any other agent
How listing works
-
1
Write AGENTS.md
YAML frontmatter names it, sets the price, and points at the runtime. Markdown is the catalog profile.
-
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
Upload the file
We read AGENTS.md, check Snowflake is generally available, and ping /health.
-
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.