Nouns
Understanding the type system - things and entities in the business platform
A Noun is a type - the things in the system. Every entity in the platform is a Noun with a corresponding Payload CMS collection.
Nouns represent the "what" in your business:
- What products do you sell?
- What services do you offer?
- What customers do you serve?
- What agents are working on tasks?
Each Noun is:
- Typed - Has a defined schema with validation
- Stored - Persisted in Payload CMS collections
- Queryable - Accessible via API, RPC, and MCP
- Relational - Can reference other Nouns
- Versioned - Changes tracked in git
| Noun | Purpose | Example |
|---|
Business | A company or business unit | Acme Corp, Acme Labs |
Team | Group of people working together | Engineering, Sales |
Org | Multi-tenant organization | Enterprise parent org |
| Noun | Purpose | Example |
|---|
Product | Physical or digital product | SaaS app, API, SDK |
Service | Professional service | Consulting, Support |
Offer | Bundled offering | Starter Plan, Enterprise Package |
Price | Pricing structure | $99/month, $0.001/request |
Feature | Product capability | API access, SSO, Analytics |
| Noun | Purpose | Example |
|---|
Industry | Market vertical | SaaS, E-commerce |
ProductCategory | Product classification | CRM, Analytics Platform |
Competitor | Competitive business | Salesforce, HubSpot |
Positioning | Market position | Enterprise CRM for SMBs |
Brand | Brand identity | Logo, colors, voice |
| Noun | Purpose | Example |
|---|
Human | Person who performs tasks | Employee, contractor |
Founder | Business founder | CEO, Co-founder |
Customer | Paying customer | Enterprise client |
Contact | Person in your network | Lead, prospect |
Cardholder | Payment card holder | Authorized spender |
| Noun | Purpose | Example |
|---|
Agent | AI agent that performs tasks | Research agent, QA agent |
Worker | Abstract task performer | Agent or Human |
ServiceAccount | Code executor | API service account |
Model | LLM for generative tasks | GPT-4, Claude |
| Noun | Purpose | Example |
|---|
Project | Large initiative | Q1 Product Launch |
Goal | Business objective | $1M ARR, 100 customers |
Metric | Measurable KPI | MRR, churn rate |
Process | Repeatable workflow | Onboarding, invoicing |
| Noun | Purpose | Example |
|---|
Task | Unit of work | Write docs, review PR |
Issue | Problem to solve | Bug report, feature request |
Workflow | State machine | Approval flow, order processing |
Function | Executable logic | Validate email, send notification |
Action | Function invocation | Execute on state transition |
| Noun | Purpose | Example |
|---|
API | REST API | /api/v1/products |
RPC | Remote procedure call | tRPC endpoints |
MCP | Model Context Protocol | Claude tools |
SDK | Language-specific client | npm package, Python SDK |
CLI | Command-line interface | stripe, gh |
| Noun | Purpose | Example |
|---|
App | Application | Dashboard, mobile app |
Package | Code package | npm, PyPI package |
Component | UI component | Button, Card, Dialog |
Artifact | Generated output | Screenshot, report |
Template | Reusable pattern | Email template, doc template |
| Noun | Purpose | Example |
|---|
Document | Written document | Contract, spec |
Doc | Documentation page | API docs, guide |
Post | Blog post | Announcement, tutorial |
Page | Web page | Landing page, about page |
Presentation | Slide deck | Pitch deck, training |
Spreadsheet | Tabular data | Budget, forecast |
| Noun | Purpose | Example |
|---|
Message | Single message | Chat message, email |
Discussion | Threaded conversation | Issue discussion, forum |
Sequence | Message automation | Onboarding drip campaign |
SequenceStep | Step in sequence | Email 1, Email 2 |
Enrollment | User in sequence | Active, paused, completed |
| Noun | Purpose | Example |
|---|
Lead | Potential customer | Inbound signup, referral |
Deal | Sales opportunity | $50K enterprise deal |
Quote | Price quote | Proposal pricing |
Proposal | Sales proposal | SOW, MSA |
Channel | Distribution channel | Direct, partner, marketplace |
| Noun | Purpose | Example |
|---|
CustomerSegment | Customer cohort | SMB, Enterprise, Startup |
Subscription | Recurring revenue | Monthly plan, annual plan |
Experiment | A/B test | Pricing page variant |
Hypothesis | Testable assumption | Lower price increases conversions |
| Noun | Purpose | Example |
|---|
Invoice | Bill for payment | Monthly invoice, one-time charge |
Payment | Money received | Stripe payment, wire transfer |
Refund | Money returned | Cancellation refund |
Transfer | Money moved | Payout, top-up |
FinancialAccount | Bank account | Checking, savings |
Card | Payment card | Virtual card, physical card |
| Noun | Purpose | Example |
|---|
ChartOfAccount | Account structure | Assets, liabilities |
JournalEntry | Accounting transaction | Debit/credit entry |
Period | Accounting period | Q1 2024, Jan 2024 |
Account | Ledger account | Cash, revenue |
Authorization | Payment authorization | Pending charge |
| Noun | Purpose | Example |
|---|
Site | Website | Marketing site, docs site |
Blog | Blog collection | Company blog |
Directory | Listing directory | Agent directory |
Marketplace | Multi-vendor platform | Plugin marketplace |
Listing | Directory entry | Agent listing, tool listing |
| Noun | Purpose | Example |
|---|
Webhook | Event callback | Stripe webhook, GitHub webhook |
Trigger | Event listener | On payment, on signup |
Provider | External service | Stripe, OpenAI, GitHub |
Tool | MCP tool | Search tool, calculator |
Event | System event | PaymentSucceeded, TaskCompleted |
| Noun | Purpose | Example |
|---|
EmailAddress | Email contact | support@acme.com |
PhoneNumber | Phone contact | +1-555-0100 |
Domain | Internet domain | acme.com, api.acme.com |
| Noun | Purpose | Example |
|---|
Noun | Type definition | Business, Product, Agent |
Verb | Action grammar | create, approve, complete |
Thing | Generic entity | Any schema.org Thing |
Action | Generic action | Any schema.org Action |
| Noun | Purpose | Example |
|---|
Occupation | Job type | Software Engineer, Designer |
JobTitle | Specific title | Senior Engineer, VP Sales |
Skill | Competency | React, Python, Sales |
Activity | Task type | Coding, reviewing, testing |
OccupationTask | Job-specific task | Write code, design UI |
MarketProcess | Industry process | Software development, accounting |
MarketTool | Industry tool | Figma, GitHub, Salesforce |
| Noun | Purpose | Example |
|---|
Lab | Research lab | Innovation lab |
Idea | Business idea | SaaS for dentists |
Concept | Developed concept | MVP spec |
Problem | Customer problem | Manual data entry |
Startup | Early-stage company | Pre-seed startup |
Every Noun has:
- TypeScript interface - Generated from Payload schema (
/packages/db.sb/src/payload-types.ts)
- Zod schema - Runtime validation
- JSON-LD context - Schema.org compatibility
- GraphQL type - Query interface
- SQL table - PostgreSQL storage
Example TypeScript interface:
export interface Product {
id: string
name: string
business?: string | Business
type: 'API' | 'App' | 'CLI' | 'SDK' | 'MCP' | 'Agent' | 'Platform'
stripeProductId?: string | null
description?: string | null
isActive?: boolean | null
industries?: (string | Industry)[] | null
productCategories?: (string | ProductCategory)[] | null
features?: {
docs?: (string | Feature)[]
hasNextPage?: boolean
totalDocs?: number
}
}
Nouns connect through typed relationships:
| Pattern | Example |
|---|
| Has many | Business has many Products |
| Belongs to | Product belongs to Business |
| Many-to-many | Product has many Industries, Industry has many Products |
| Polymorphic | Actor can be Agent, Human, or ServiceAccount |
| Self-referential | Business can have parent Business |
GET /api/products?where[business][equals]=123
GET /api/products/abc123
POST /api/products
PATCH /api/products/abc123
DELETE /api/products/abc123
query {
Products(where: { business: { equals: "123" } }) {
docs {
id
name
business {
name
}
}
}
}
// Exposed as Claude tools
const tools = [
{ name: "list_products", schema: ProductQuerySchema },
{ name: "get_product", schema: ProductGetSchema },
{ name: "create_product", schema: ProductCreateSchema },
]
- Read Verbs to understand actions on Nouns
- See MDXLD for declarative Noun definitions
- Explore Types for the type system