npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

business-as-code

v2.1.3

Published

Primitives for expressing business logic and processes as code

Readme

business-as-code

Primitives for expressing business logic, strategy, and operations as code. Define your entire business model—from vision and goals to products, services, processes, KPIs, OKRs, and financials—in a declarative, type-safe way.

Installation

npm install business-as-code

Quick Start

import { Business, Product, Goals, kpis, okrs, financials, $ } from 'business-as-code'

// Define your business
const company = Business({
  name: 'Acme Corp',
  mission: 'To make widgets accessible to everyone',
  values: ['Innovation', 'Customer Focus', 'Integrity'],
})

// Define products
const product = Product({
  name: 'Widget Pro',
  pricingModel: 'subscription',
  price: 99,
  cogs: 20,
})

// Track KPIs
const metrics = kpis([
  {
    name: 'Monthly Recurring Revenue',
    category: 'financial',
    target: 100000,
    current: 85000,
  },
])

// Use $ helper for calculations
console.log($.format(1234.56))  // "$1,234.56"
console.log($.growth(120, 100)) // 20
console.log($.margin(100, 60))  // 40

Core Concepts

Business Entity

Define your company with mission, values, and organizational structure:

const company = Business({
  name: 'Acme Corp',
  description: 'Building the future of widgets',
  industry: 'Technology',
  mission: 'To make widgets accessible to everyone',
  values: ['Innovation', 'Customer Focus', 'Integrity'],
  targetMarket: 'SMB and Enterprise',
  foundedAt: new Date('2020-01-01'),
  teamSize: 50,
  structure: {
    departments: [
      {
        name: 'Engineering',
        head: 'Jane Smith',
        members: ['Alice', 'Bob', 'Charlie'],
        budget: 2000000,
      },
      {
        name: 'Sales',
        head: 'John Doe',
        members: ['David', 'Eve'],
        budget: 1000000,
      },
    ],
    teams: [
      {
        name: 'Platform',
        lead: 'Alice',
        objectives: ['Build scalable infrastructure'],
      },
    ],
  },
})

// Helper functions
import { getTotalBudget, getTotalTeamSize, getDepartment, validateBusiness } from 'business-as-code'

const budget = getTotalBudget(company)      // 3000000
const teamSize = getTotalTeamSize(company)  // 5 (from department members)
const engineering = getDepartment(company, 'Engineering')

Vision

Articulate long-term direction with measurable indicators:

const vision = Vision({
  statement: "To become the world's most trusted widget platform",
  timeframe: '5 years',
  successIndicators: [
    '10M+ active users',
    'Present in 50+ countries',
    'Industry-leading NPS score',
    '$1B+ annual revenue',
  ],
})

// Helper functions
import { checkIndicator, calculateProgress, validateVision } from 'business-as-code'

const progress = calculateProgress(vision, {
  'active_users': 5000000,
  'countries': 30,
})

Goals

Track strategic and operational objectives with dependencies:

const goals = Goals([
  {
    name: 'Launch MVP',
    description: 'Ship minimum viable product to early customers',
    category: 'strategic',
    targetDate: new Date('2024-06-30'),
    owner: 'Product Team',
    metrics: ['User signups', 'Feature completion rate'],
    status: 'in-progress',
    progress: 65,
  },
  {
    name: 'Achieve Product-Market Fit',
    category: 'strategic',
    targetDate: new Date('2024-12-31'),
    status: 'in-progress',
    progress: 30,
    dependencies: ['Launch MVP'],  // Depends on MVP goal
  },
])

// Helper functions
import {
  updateProgress,
  markAtRisk,
  complete,
  isOverdue,
  getGoalsByCategory,
  getGoalsByStatus,
  calculateOverallProgress,
  hasCircularDependencies,
  sortByDependencies,
} from 'business-as-code'

const strategic = getGoalsByCategory(goals, 'strategic')
const inProgress = getGoalsByStatus(goals, 'in-progress')
const progress = calculateOverallProgress(goals)  // Average progress
const sorted = sortByDependencies(goals)          // Topological sort

Products

Define product offerings with pricing and roadmap:

const product = Product({
  name: 'Widget Pro',
  description: 'Enterprise-grade widget management platform',
  category: 'SaaS',
  targetSegment: 'Enterprise',
  valueProposition: 'Reduce widget management costs by 50%',
  pricingModel: 'subscription',  // 'one-time' | 'subscription' | 'usage-based' | 'freemium' | 'tiered'
  price: 99,
  currency: 'USD',
  cogs: 20,
  features: [
    'Unlimited widgets',
    'Advanced analytics',
    'API access',
    '24/7 support',
  ],
  roadmap: [
    {
      name: 'Mobile app',
      description: 'Native iOS and Android apps',
      targetDate: new Date('2024-09-01'),
      priority: 'high',
      status: 'in-progress',
    },
  ],
})

// Helper functions
import {
  calculateGrossMargin,
  calculateGrossProfit,
  getRoadmapByStatus,
  getRoadmapByPriority,
  getOverdueRoadmapItems,
  addFeature,
  removeFeature,
} from 'business-as-code'

const margin = calculateGrossMargin(product)    // 79.8%
const profit = calculateGrossProfit(product)    // 79
const highPriority = getRoadmapByPriority(product.roadmap!, 'high')

Services

Define professional services with SLAs:

const service = Service({
  name: 'Widget Consulting',
  description: 'Expert widget implementation and optimization',
  category: 'Consulting',
  targetSegment: 'Enterprise',
  valueProposition: 'Get expert help implementing widgets in 2 weeks',
  pricingModel: 'fixed',  // 'hourly' | 'fixed' | 'retainer' | 'value-based'
  price: 5000,
  currency: 'USD',
  deliveryTime: '2 weeks',
  sla: {
    uptime: 99.9,
    responseTime: '< 24 hours',
    supportHours: 'Business hours (9-5 EST)',
    penalties: '10% refund per day of delay',
  },
})

// Helper functions
import {
  calculateHourlyPrice,
  calculateMonthlyRetainer,
  checkSLAUptime,
  parseDeliveryTimeToDays,
  estimateCompletionDate,
  calculateValueBasedPrice,
} from 'business-as-code'

const hourlyRate = calculateHourlyPrice(service, 40)  // hours
const days = parseDeliveryTimeToDays(service)         // 14
const completion = estimateCompletionDate(service)    // Date

Processes

Define business processes with steps and metrics:

const process = Process({
  name: 'Customer Onboarding',
  description: 'Process for onboarding new customers',
  category: 'core',  // 'core' | 'support' | 'management'
  owner: 'Customer Success Team',
  steps: [
    {
      order: 1,
      name: 'Welcome Email',
      description: 'Send personalized welcome email',
      responsible: 'CS Manager',
      duration: '5 minutes',
      automationLevel: 'automated',
    },
    {
      order: 2,
      name: 'Initial Setup Call',
      description: 'Schedule and conduct setup call',
      responsible: 'CS Rep',
      duration: '30 minutes',
      automationLevel: 'manual',
    },
  ],
  inputs: ['Customer Information', 'Subscription Plan'],
  outputs: ['Configured Account', 'Training Materials'],
  metrics: [
    {
      name: 'Time to First Value',
      target: 7,
      current: 5,
      unit: 'days',
    },
  ],
})

// Helper functions
import {
  getStepsInOrder,
  getStepsByAutomationLevel,
  calculateTotalDuration,
  formatDuration,
  calculateAutomationPercentage,
  getMetric,
  meetsTarget,
  addStep,
  removeStep,
} from 'business-as-code'

const automated = getStepsByAutomationLevel(process.steps!, 'automated')
const duration = calculateTotalDuration(process)    // Total duration
const automationPct = calculateAutomationPercentage(process)  // 50%

Workflows

Define automated sequences triggered by events:

const workflow = Workflow({
  name: 'New Customer Welcome',
  description: 'Automated welcome sequence for new customers',
  trigger: {
    type: 'event',      // 'event' | 'schedule' | 'webhook' | 'manual'
    event: 'Customer.created',
  },
  actions: [
    {
      order: 1,
      type: 'send',
      description: 'Send welcome email',
      params: {
        template: 'welcome_email',
        to: '{{customer.email}}',
      },
    },
    {
      order: 2,
      type: 'wait',
      description: 'Wait 24 hours',
      params: { duration: '24h' },
    },
    {
      order: 3,
      type: 'create',
      description: 'Create onboarding task',
      params: {
        type: 'Task',
        title: 'Onboard {{customer.name}}',
        assignee: 'customer_success_team',
      },
      condition: '{{customer.plan}} == "enterprise"',
    },
  ],
})

// Helper functions
import {
  getActionsInOrder,
  getActionsByType,
  getConditionalActions,
  addAction,
  isEventTrigger,
  isScheduleTrigger,
  parseWaitDuration,
  evaluateCondition,
  fillTemplate,
} from 'business-as-code'

const sendActions = getActionsByType(workflow.actions!, 'send')
const conditional = getConditionalActions(workflow.actions!)

KPIs (Key Performance Indicators)

Track critical business metrics:

const kpiList = kpis([
  {
    name: 'Monthly Recurring Revenue',
    description: 'Total predictable revenue per month',
    category: 'financial',  // 'financial' | 'customer' | 'operations' | 'people' | 'growth'
    unit: 'USD',
    target: 100000,
    current: 85000,
    frequency: 'monthly',
    dataSource: 'Billing System',
    formula: 'SUM(active_subscriptions.price)',
  },
  {
    name: 'Customer Churn Rate',
    category: 'customer',
    unit: 'percent',
    target: 5,
    current: 3.2,
    frequency: 'monthly',
  },
  {
    name: 'Net Promoter Score',
    category: 'customer',
    unit: 'score',
    target: 50,
    current: 48,
    frequency: 'quarterly',
  },
])

// Helper functions
import {
  calculateAchievement,
  kpiMeetsTarget,
  updateCurrent,
  getKPIsByCategory,
  getKPIsOnTarget,
  getKPIsOffTarget,
  calculateHealthScore,
  groupByCategory,
  calculateVariance,
  formatValue,
} from 'business-as-code'

const achievement = calculateAchievement(kpiList[0])  // 85%
const financial = getKPIsByCategory(kpiList, 'financial')
const onTarget = getKPIsOnTarget(kpiList)
const healthScore = calculateHealthScore(kpiList)     // Overall health

OKRs (Objectives and Key Results)

Set and track ambitious goals:

const okrList = okrs([
  {
    objective: 'Achieve Product-Market Fit',
    description: 'Validate that our product solves a real problem',
    period: 'Q2 2024',
    owner: 'CEO',
    keyResults: [
      {
        description: 'Increase Net Promoter Score',
        metric: 'NPS',
        startValue: 40,
        targetValue: 60,
        currentValue: 52,
        unit: 'score',
      },
      {
        description: 'Reduce monthly churn rate',
        metric: 'Churn Rate',
        startValue: 8,
        targetValue: 4,
        currentValue: 5.5,
        unit: 'percent',
      },
      {
        description: 'Achieve customer retention',
        metric: 'Customers with 3+ months',
        startValue: 50,
        targetValue: 200,
        currentValue: 125,
        unit: 'customers',
      },
    ],
    status: 'on-track',
    confidence: 75,
  },
])

// Helper functions
import {
  calculateKeyResultProgress,
  calculateOKRProgress,
  calculateConfidence,
  updateKeyResult,
  isKeyResultOnTrack,
  isOKROnTrack,
  getKeyResultsAtRisk,
  getOKRsByOwner,
  getOKRsByPeriod,
  calculateSuccessRate,
  formatKeyResult,
} from 'business-as-code'

const progress = calculateOKRProgress(okrList[0])     // Average KR progress
const atRisk = getKeyResultsAtRisk(okrList[0].keyResults!)
const q2OKRs = getOKRsByPeriod(okrList, 'Q2 2024')

Financials

Calculate financial metrics and statements:

const metrics = financials({
  revenue: 1000000,
  cogs: 300000,
  operatingExpenses: 500000,
  currency: 'USD',
  period: 'monthly',
})

// Automatically calculates:
// - grossProfit: 700000
// - grossMargin: 70%
// - operatingIncome: 200000
// - operatingMargin: 20%
// - netIncome: 200000
// - netMargin: 20%

// Helper functions
import {
  calculateGrossMargin,
  calculateOperatingMargin,
  calculateNetMargin,
  calculateEBITDAMargin,
  calculateBurnRate,
  calculateRunway,
  calculateCAC,
  calculateLTV,
  calculateLTVtoCAC,
  calculatePaybackPeriod,
  calculateARR,
  calculateMRR,
  calculateGrowthRate,
  calculateCAGR,
  calculateROI,
  calculateROE,
  calculateROA,
  calculateQuickRatio,
  calculateCurrentRatio,
  calculateDebtToEquity,
  formatCurrency,
  createStatement,
  compareMetrics,
} from 'business-as-code'

// SaaS metrics
const mrr = calculateMRR(subscriptions)
const arr = calculateARR(mrr)
const ltv = calculateLTV(avgRevenue, churnRate)
const cac = calculateCAC(marketingSpend, newCustomers)
const ltvCacRatio = calculateLTVtoCAC(ltv, cac)

// Startup metrics
const burnRate = calculateBurnRate(cashStart, cashEnd, months)
const runway = calculateRunway(cash, burnRate)
const growth = calculateGrowthRate(current, previous)

$ Helper

Convenient helper for common business calculations:

import { $ } from 'business-as-code'

// Currency formatting
$.format(1234.56)           // "$1,234.56"
$.format(1234.56, 'EUR')    // "€1,234.56"

// Percentages
$.percent(25, 100)          // 25

// Growth
$.growth(120, 100)          // 20 (20% growth)

// Margins
$.margin(100, 60)           // 40 (40% margin)

// ROI
$.roi(150, 100)             // 50 (50% ROI)

// Customer metrics
$.ltv(100, 12, 24)          // Lifetime value
$.cac(10000, 100)           // Customer acquisition cost (100)

// Startup metrics
$.burnRate(100000, 70000, 3)  // Monthly burn rate (10000)
$.runway(100000, 10000)       // Runway in months (10)

// Context management
$.context                   // Access business context
$.log('event', data)        // Log business event

Context Management

Share business context across your application:

import { updateContext, getContext, resetContext } from 'business-as-code'

// Set context
updateContext({
  business: company,
  goals: goals,
  kpis: kpiList,
  financials: metrics,
})

// Access context
const ctx = getContext()
console.log(ctx.business?.name)

// Reset context
resetContext()

API Reference

Entity Functions

| Function | Description | |----------|-------------| | Business(def) | Create a business entity | | Vision(def) | Define business vision | | Goals(defs) | Create goal list | | Goal(def) | Create single goal | | Product(def) | Define a product | | Service(def) | Define a service | | Process(def) | Define a business process | | Workflow(def) | Define an automated workflow | | kpis(defs) | Create KPI list | | kpi(def) | Create single KPI | | okrs(defs) | Create OKR list | | okr(def) | Create single OKR | | financials(data) | Calculate financial metrics |

$ Helper Methods

| Method | Description | |--------|-------------| | $.format(amount, currency?) | Format as currency | | $.percent(value, total) | Calculate percentage | | $.growth(current, previous) | Calculate growth rate | | $.margin(revenue, cost) | Calculate margin | | $.roi(gain, cost) | Calculate ROI | | $.ltv(value, frequency, lifetime) | Customer lifetime value | | $.cac(spend, customers) | Customer acquisition cost | | $.burnRate(start, end, months) | Monthly burn rate | | $.runway(cash, burnRate) | Runway in months | | $.context | Access business context | | $.log(event, data?) | Log business event |

Types

All types are fully exported for TypeScript users:

import type {
  BusinessDefinition,
  VisionDefinition,
  GoalDefinition,
  ProductDefinition,
  ServiceDefinition,
  ProcessDefinition,
  WorkflowDefinition,
  KPIDefinition,
  OKRDefinition,
  KeyResult,
  FinancialMetrics,
  FinancialStatement,
  BusinessContext,
  BusinessOperations,
  Currency,
  TimePeriod,
} from 'business-as-code'

Entity Abstractions

Each entity defines Properties (data fields), Actions (imperative verbs), and Events (past tense state changes). This follows the same Noun pattern used in digital-tools and ai-database.

Business

Core business entities.

Properties

| Entity | Key Properties | |--------|----------------| | Business | name, legalName, type (startup, smb, enterprise, agency), stage (idea, pre-seed, seed, series-a...), industry, mission, vision, values, targetMarket, teamSize, status | | Vision | statement, timeframe, targetDate, successIndicators, progress, status | | Value | name, description, behaviors, antiPatterns, priority, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Business | create, update, launch, pivot, scale, acquire, merge, close, archive | created, updated, launched, pivoted, scaled, acquired, merged, closed, archived | | Vision | create, update, activate, revise, achieve, abandon, archive | created, updated, activated, revised, achieved, abandoned, archived | | Value | create, update, prioritize, deprecate, archive | created, updated, prioritized, deprecated, archived |


Organization

Organizational hierarchy entities.

Properties

| Entity | Key Properties | |--------|----------------| | Organization | name, type (functional, divisional, matrix, flat), fiscalYearStart, defaultCurrency, departmentCount, teamCount, positionCount, status | | Department | name, code, type (engineering, product, design, marketing...), budget, budgetCurrency, headcount, level, status | | Team | name, code, type (product, platform, growth...), methodology (scrum, kanban...), capacity, headcount, slackChannel, status | | Position | title, code, level (intern, junior, mid, senior, staff...), track (ic, management, executive), employmentType, workLocation, salaryMin, salaryMax, fte, skills, status | | Role | name, code, type (executive, manager, lead, contributor...), permissions, capabilities, approvalLevel, approvalLimit, status | | Worker | name, email, type (human, agent), firstName, lastName, agentId, modelId, availability, capacity, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Organization | create, update, restructure, merge, split, archive | created, updated, restructured, merged, split, archived | | Department | create, update, rename, setBudget, addTeam, removeTeam, setHead, merge, split, dissolve, archive | created, updated, renamed, budgetSet, teamAdded, teamRemoved, headChanged, merged, split, dissolved, archived | | Team | create, update, rename, setLead, addMember, removeMember, setCapacity, assignProject, unassignProject, archive | created, updated, renamed, leadChanged, memberAdded, memberRemoved, capacityChanged, projectAssigned, projectUnassigned, archived | | Position | create, update, open, fill, freeze, eliminate, transfer, promote, setCompensation, archive | created, updated, opened, filled, frozen, eliminated, transferred, promoted, compensationChanged, archived | | Role | create, update, grantPermission, revokePermission, setApprovalLimit, deprecate, archive | created, updated, permissionGranted, permissionRevoked, approvalLimitChanged, deprecated, archived | | Worker | create, update, onboard, assign, reassign, setAvailability, promote, transfer, offboard, archive | created, updated, onboarded, assigned, reassigned, availabilityChanged, promoted, transferred, offboarded, archived |


Goals

Goal tracking entities.

Properties

| Entity | Key Properties | |--------|----------------| | Goal | name, type (strategic, operational, tactical), category (growth, revenue, customer...), priority, startDate, targetDate, progress, confidence, successMetrics, targetValue, currentValue, status | | OKR | objective, type (company, department, team, individual), period, progress, confidence, grade, keyResultCount, status | | KeyResult | description, metric, unit, startValue, targetValue, currentValue, progress, confidence, direction (increase, decrease, maintain), status | | KPI | name, code, category (financial, customer, operations...), type (leading, lagging), unit, format, targetValue, currentValue, warningThreshold, criticalThreshold, direction, frequency, formula, status | | Metric | name, category, value, unit, timestamp, period, source | | Initiative | name, type (project, program, experiment), priority, startDate, endDate, progress, budget, spent, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Goal | create, update, activate, updateProgress, markAtRisk, complete, cancel, extend, archive | created, updated, activated, progressUpdated, markedAtRisk, completed, cancelled, extended, overdue, archived | | OKR | create, update, activate, addKeyResult, removeKeyResult, updateProgress, updateConfidence, grade, complete, cancel, archive | created, updated, activated, keyResultAdded, keyResultRemoved, progressUpdated, confidenceUpdated, graded, completed, cancelled, archived | | KeyResult | create, update, updateValue, updateConfidence, complete, delete | created, updated, valueUpdated, confidenceUpdated, completed, deleted | | KPI | create, update, measure, setTarget, setThresholds, alert, archive | created, updated, measured, targetSet, thresholdBreached, targetMet, alerted, archived | | Metric | record, update, delete | recorded, updated, deleted | | Initiative | create, update, approve, start, pause, resume, complete, cancel, archive | created, updated, approved, started, paused, resumed, completed, cancelled, archived |


Offerings

Product and service entities.

Properties

| Entity | Key Properties | |--------|----------------| | Product | name, slug, type (saas, app, platform, api...), category, targetSegment, valueProposition, pricingModel (free, freemium, subscription, one-time, usage-based, tiered), price, currency, cogs, grossMargin, stage (concept, development, alpha, beta, ga...), status, visibility | | Service | name, type (consulting, implementation, support, training...), pricingModel (hourly, daily, fixed, retainer, value-based), hourlyRate, deliveryTime, deliveryModel, slaUptime, slaResponseTime, inclusions, exclusions, deliverables, status | | Feature | name, category, type (core, premium, add-on, beta), benefit, availability, enabledByDefault, status | | PricingPlan | name, tier (free, starter, pro, business, enterprise), price, currency, billingPeriod, annualDiscount, includedUnits, unitPrice, usageLimits, trialDays, highlighted, status | | RoadmapItem | name, type (feature, improvement, bug-fix...), quarter, targetDate, priority, effort, impact, progress, status, visibility |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Product | create, update, launch, pause, resume, updatePricing, addFeature, removeFeature, sunset, archive | created, updated, launched, paused, resumed, pricingUpdated, featureAdded, featureRemoved, sunset, archived | | Service | create, update, publish, pause, resume, updatePricing, updateSLA, discontinue, archive | created, updated, published, paused, resumed, pricingUpdated, slaUpdated, discontinued, archived | | Feature | create, update, enable, disable, deprecate, remove | created, updated, enabled, disabled, deprecated, removed | | PricingPlan | create, update, publish, hide, updatePrice, addFeature, removeFeature, discontinue, archive | created, updated, published, hidden, priceUpdated, featureAdded, featureRemoved, discontinued, archived | | RoadmapItem | create, update, schedule, start, complete, defer, cancel, archive | created, updated, scheduled, started, completed, deferred, cancelled, archived |


Operations

Process and workflow entities.

Properties

| Entity | Key Properties | |--------|----------------| | Process | name, type (core, support, management), category, triggerType, inputs, outputs, averageDuration, sla, automationLevel (manual, semi-automated, automated, autonomous), automationPercentage, version, status | | ProcessStep | name, order, type (task, decision, approval, notification, wait...), automationLevel, responsible, accountable, estimatedDuration, sla, inputs, outputs, instructions, condition | | Workflow | name, triggerType (event, schedule, webhook, manual, api), triggerEvent, triggerSchedule, timeout, retryPolicy, concurrency, runCount, successCount, failureCount, lastRunAt, status, enabled | | WorkflowAction | name, order, type (http, email, slack, database, transform, condition, loop, delay, approval, ai), operation, config, inputs, condition, continueOnError, retryOnFailure | | WorkflowRun | status (pending, running, completed, failed, cancelled, waiting), startedAt, completedAt, duration, currentStep, totalSteps, triggerData, output, error, attempt | | Policy | name, code, type (compliance, operational, security, hr, financial, data), content, rules, enforcementLevel, effectiveDate, reviewDate, version, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Process | create, update, publish, addStep, removeStep, reorderSteps, automate, deprecate, archive | created, updated, published, stepAdded, stepRemoved, stepsReordered, automated, deprecated, archived | | ProcessStep | create, update, move, duplicate, delete | created, updated, moved, duplicated, deleted | | Workflow | create, update, enable, disable, trigger, test, addAction, removeAction, archive | created, updated, enabled, disabled, triggered, completed, failed, archived | | WorkflowAction | create, update, move, duplicate, delete, test | created, updated, moved, duplicated, deleted, executed, failed | | WorkflowRun | start, pause, resume, cancel, retry | started, paused, resumed, completed, failed, cancelled, retried | | Policy | create, update, submit, approve, publish, supersede, archive | created, updated, submitted, approved, published, superseded, archived |


Financials

Financial entities.

Properties

| Entity | Key Properties | |--------|----------------| | Budget | name, type (operating, capital, project, marketing, hiring, r&d), period, startDate, endDate, amount, currency, spent, committed, available, utilization, status | | Revenue | type (subscription, one-time, usage, professional-services...), category, source, amount, currency, period, date, isRecurring, recognized, recognizedAt, deferredAmount, segment, region | | Expense | description, type (payroll, cogs, marketing, sales, r&d, g&a...), category, amount, currency, date, isRecurring, isCapex, isDeductible, vendor, invoiceNumber, status | | Investment | name, type (pre-seed, seed, series-a...), instrumentType (equity, safe, convertible-note, debt), amount, currency, preMoneyValuation, postMoneyValuation, equityPercentage, leadInvestor, investors, status | | FinancialPeriod | name, type (month, quarter, half-year, year), startDate, endDate, revenue, cogs, grossProfit, grossMargin, operatingExpenses, operatingIncome, operatingMargin, netIncome, ebitda, mrr, arr, nrr, grr, cac, ltv, ltvCacRatio, churnRate, burnRate, runway, status | | Forecast | name, type (revenue, expense, cash, headcount, arr), scenario (base, optimistic, pessimistic, stretch), startDate, endDate, granularity, values, total, assumptions, growthRate, confidenceLevel, version, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Budget | create, update, submit, approve, allocate, reallocate, freeze, unfreeze, close, archive | created, updated, submitted, approved, allocated, reallocated, frozen, unfrozen, thresholdWarning, overBudget, closed, archived | | Revenue | record, update, recognize, defer, void | recorded, updated, recognized, deferred, voided | | Expense | create, update, submit, approve, reject, pay, void | created, updated, submitted, approved, rejected, paid, voided | | Investment | create, update, negotiate, signTermSheet, close, announce, cancel | created, updated, negotiated, termSheetSigned, closed, announced, cancelled | | FinancialPeriod | create, update, close, reopen, audit | created, updated, closed, reopened, audited | | Forecast | create, update, submit, approve, supersede, archive | created, updated, submitted, approved, superseded, archived |


Customers

Customer relationship management entities.

Properties

| Entity | Key Properties | |--------|----------------| | Customer | name, type (individual, company, nonprofit), stage (prospect, trial, onboarding, active, at-risk, churned), industry, size, annualRevenue, employeeCount, acquisitionSource, acquisitionDate, ltv, healthScore, nps, tier, status | | Account | name, type (customer, prospect, partner), industry, annualRevenue, employeeCount, tier, owner, territory, mrr, arr, healthScore, churnRisk, expansionPotential, status | | Contact | name, email, phone, title, role (decision-maker, influencer, champion, user, blocker), department, isPrimary, optInMarketing, optInEmail, lastContactedDate, status | | Segment | name, type (demographic, behavioral, firmographic, technographic, psychographic), criteria, customerCount, totalRevenue, avgLtv, avgHealthScore, status | | Persona | name, role, seniority, department, goals, painPoints, motivations, objections, preferredChannels, buyingRole, status | | Interaction | type (call, email, meeting, demo, support, chat, event), direction (inbound, outbound), subject, outcome, nextSteps, date, duration, sentiment, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Customer | create, update, qualify, convert, onboard, upgrade, downgrade, churn, winBack, delete, archive | created, updated, qualified, converted, onboarded, upgraded, downgraded, churned, wonBack, deleted, archived | | Account | create, update, qualify, assign, reassign, merge, upgrade, downgrade, close, archive | created, updated, qualified, assigned, reassigned, merged, upgraded, downgraded, closed, archived | | Contact | create, update, verify, enrich, optIn, optOut, merge, delete, archive | created, updated, verified, enriched, optedIn, optedOut, merged, deleted, archived | | Segment | create, update, refresh, activate, deactivate, archive | created, updated, refreshed, activated, deactivated, archived | | Persona | create, update, validate, archive | created, updated, validated, archived | | Interaction | create, update, complete, cancel, followUp | created, updated, completed, cancelled, followedUp |


Sales

Sales pipeline and revenue entities.

Properties

| Entity | Key Properties | |--------|----------------| | Deal | name, type (new-business, expansion, renewal, upsell, cross-sell), amount, currency, probability, stage, expectedCloseDate, actualCloseDate, daysInStage, daysOpen, leadSource, lossReason, competitor, forecastCategory, status | | Pipeline | name, type (sales, renewal, expansion, partnership), totalValue, weightedValue, dealCount, avgDealSize, avgCycleTime, winRate, quotaAttainment, status | | Stage | name, order, type (qualification, discovery, proposal, negotiation, closed), probability, durationDays, avgDuration, dealCount, dealValue, exitCriteria, status | | Contract | name, type (subscription, service, license, NDA, MSA, SOW), value, currency, startDate, endDate, autoRenew, renewalNoticeDays, paymentTerms, status | | Subscription | type (monthly, annual, multi-year), plan, mrr, arr, quantity, unitPrice, discount, startDate, renewalDate, cancelledDate, churnReason, status | | Quote | name, version, amount, currency, discount, validUntil, paymentTerms, status (draft, sent, viewed, accepted, rejected, expired) | | Order | orderNumber, type (new, renewal, expansion, upgrade, downgrade), amount, currency, taxAmount, totalAmount, status (draft, pending, confirmed, processing, fulfilled, cancelled) | | Invoice | invoiceNumber, type (standard, credit, debit, proforma), amount, taxAmount, totalAmount, currency, dueDate, status (draft, sent, viewed, paid, overdue, void) |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Deal | create, update, qualify, advance, stall, win, lose, reopen, delete, archive | created, updated, qualified, stageChanged, stalled, won, lost, reopened, deleted, archived | | Pipeline | create, update, refresh, forecast, archive | created, updated, refreshed, forecasted, archived | | Stage | create, update, reorder, archive | created, updated, reordered, archived | | Contract | create, update, send, sign, activate, amend, renew, terminate, expire, archive | created, updated, sent, signed, activated, amended, renewed, terminated, expired, archived | | Subscription | create, update, activate, upgrade, downgrade, pause, resume, cancel, renew, churn | created, updated, activated, upgraded, downgraded, paused, resumed, cancelled, renewed, churned | | Quote | create, update, send, view, accept, reject, revise, expire, delete | created, updated, sent, viewed, accepted, rejected, revised, expired, deleted | | Order | create, update, confirm, process, fulfill, cancel, refund | created, updated, confirmed, processing, fulfilled, cancelled, refunded | | Invoice | create, update, send, view, pay, void, writeOff, remind | created, updated, sent, viewed, paid, voided, writtenOff, reminded |


Marketing

Marketing and demand generation entities.

Properties

| Entity | Key Properties | |--------|----------------| | Campaign | name, type (email, social, content, paid-search, paid-social, event, webinar, direct-mail, ABM), channel, status (draft, scheduled, active, paused, completed, cancelled), budget, spent, impressions, clicks, ctr, conversions, conversionRate, cpl, roi, startDate, endDate | | Lead | name, email, company, title, source, status (new, contacted, qualified, unqualified, nurturing, converted, lost), score, grade, temperature (cold, warm, hot), mqlDate, sqlDate, utmSource, utmMedium, utmCampaign | | Audience | name, type (segment, list, lookalike, retargeting, suppression), source, size, refreshFrequency, criteria, status | | Content | title, type (blog, whitepaper, ebook, case-study, video, webinar, infographic, podcast, social, email), format, topic, stage (awareness, consideration, decision), author, wordCount, readTime, views, downloads, status | | Funnel | name, type (marketing, sales, conversion, onboarding), totalVisitors, totalConversions, conversionRate, avgTimeToConvert, dropoffRate, status | | FunnelStage | name, order, type (awareness, interest, consideration, intent, evaluation, purchase), visitors, conversions, conversionRate, dropoffRate, avgTimeInStage | | MarketingEvent | name, type (conference, webinar, workshop, meetup, trade-show, launch-event, virtual-event), format (in-person, virtual, hybrid), capacity, registrations, attendance, attendanceRate, cost, costPerAttendee, leadsGenerated, roi, status |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Campaign | create, update, launch, pause, resume, complete, cancel, clone, analyze | created, updated, launched, paused, resumed, completed, cancelled, cloned, analyzed | | Lead | create, update, score, grade, qualify, disqualify, nurture, convert, assign, merge | created, updated, scored, graded, qualified, disqualified, nurtured, converted, assigned, merged | | Audience | create, update, refresh, activate, deactivate, export, archive | created, updated, refreshed, activated, deactivated, exported, archived | | Content | create, update, publish, unpublish, archive, promote, analyze | created, updated, published, unpublished, archived, promoted, analyzed | | Funnel | create, update, analyze, optimize, archive | created, updated, analyzed, optimized, archived | | FunnelStage | create, update, reorder | created, updated, reordered | | MarketingEvent | create, update, publish, register, unregister, start, end, cancel, archive | created, updated, published, registered, unregistered, started, ended, cancelled, archived |


Partnerships

Partner and vendor management entities.

Properties

| Entity | Key Properties | |--------|----------------| | Partner | name, type (strategic, technology, channel, solution, reseller, referral, OEM), tier (platinum, gold, silver, bronze), status, territories, specializations, certifications, revenueShare, referralFee, totalRevenue, totalDeals, nda, portalAccess, enablementComplete | | Vendor | name, type (supplier, contractor, consultant, SaaS, service), category, status, paymentTerms, contractValue, annualSpend, riskLevel, complianceStatus, slaScore, qualityScore, certifications | | Affiliate | name, type (individual, company, influencer, blogger, publisher), status, affiliateId, referralCode, commissionRate, commissionType, totalClicks, totalConversions, conversionRate, totalRevenue, totalCommissions, tier | | Partnership | name, type (strategic, technology, channel, co-marketing, co-selling, integration, reseller, white-label, OEM), status, objectives, revenueShare, territories, exclusivity, targetRevenue, actualRevenue, healthScore | | Integration | name, type (API, webhook, SDK, embed, SSO, data-sync), status, direction (inbound, outbound, bidirectional), authentication, syncFrequency, lastSyncStatus, enabled | | Reseller | name, type (VAR, distributor, MSP, SI, retail), tier, territories, verticals, products, discountLevel, margin, quota, yearToDateSales, certifiedReps, dealRegistration |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Partner | create, update, onboard, activate, deactivate, suspend, terminate, upgrade, downgrade, certify, enable, review, renew | created, updated, onboarded, activated, deactivated, suspended, terminated, upgraded, downgraded, certified, enabled, reviewed, renewed | | Vendor | create, update, evaluate, approve, reject, activate, suspend, terminate, review, audit, renew | created, updated, evaluated, approved, rejected, activated, suspended, terminated, reviewed, audited, renewed | | Affiliate | create, update, approve, reject, activate, suspend, terminate, upgrade, downgrade, payout, track | created, updated, approved, rejected, activated, suspended, terminated, upgraded, downgraded, paidOut, tracked | | Partnership | create, update, propose, negotiate, approve, reject, activate, pause, resume, extend, terminate, renew, review | created, updated, proposed, negotiated, approved, rejected, activated, paused, resumed, extended, terminated, renewed, reviewed | | Integration | create, update, develop, test, deploy, enable, disable, sync, debug, deprecate, version | created, updated, developed, tested, deployed, enabled, disabled, synced, debugged, deprecated, versioned | | Reseller | create, update, onboard, activate, suspend, terminate, upgrade, downgrade, certify, enable, allocateFunds | created, updated, onboarded, activated, suspended, terminated, upgraded, downgraded, certified, enabled, fundsAllocated |


Legal

Legal and compliance entities.

Properties

| Entity | Key Properties | |--------|----------------| | Agreement | name, type (NDA, MSA, SOW, SLA, DPA, employment, partnership, licensing), status, parties, counterparty, effectiveDate, expirationDate, term, autoRenew, value, governingLaw, confidentiality, nonCompete, exclusivity, version | | License | name, type (software, content, patent, trademark, API, SDK), model (perpetual, subscription, usage-based, seat-based), status, licenseKey, product, edition, seats, maxSeats, features, restrictions, territory, exclusivity, transferable | | IntellectualProperty | name, type (patent, trademark, copyright, trade-secret, design, domain), status, registrationNumber, filingDate, registrationDate, expirationDate, jurisdiction, classes, claims, inventors, owner, value | | Compliance | name, type (regulation, certification, standard, policy, audit), framework (SOC2, ISO27001, GDPR, HIPAA, PCI-DSS, SOX, CCPA), status, scope, requirements, controls, certificationDate, expirationDate, findings, complianceScore | | LegalPolicy | name, type (privacy, security, HR, ethics, acceptable-use, data-retention), status, version, scope, applicableTo, effectiveDate, reviewDate, owner, acknowledgmentRequired | | Trademark | name, mark, type (word, design, combined, sound, color), status, registrationNumber, filingDate, registrationDate, expirationDate, jurisdiction, classes, goodsServices, owner |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Agreement | create, update, draft, review, negotiate, approve, reject, sign, execute, amend, renew, terminate, expire, archive | created, updated, drafted, reviewed, negotiated, approved, rejected, signed, executed, amended, renewed, terminated, expired, archived | | License | create, update, issue, activate, suspend, renew, upgrade, downgrade, transfer, revoke, expire | created, updated, issued, activated, suspended, renewed, upgraded, downgraded, transferred, revoked, expired | | IntellectualProperty | create, update, file, register, publish, grant, maintain, renew, license, assign, abandon, enforce | created, updated, filed, registered, published, granted, maintained, renewed, licensed, assigned, abandoned, enforced | | Compliance | create, update, assess, audit, certify, remediate, renew, expire, exempt, report | created, updated, assessed, audited, certified, remediated, renewed, expired, exempted, reported | | LegalPolicy | create, update, draft, review, approve, publish, deprecate, archive, acknowledge, enforce | created, updated, drafted, reviewed, approved, published, deprecated, archived, acknowledged, enforced | | Trademark | create, update, search, file, register, renew, maintain, license, abandon, cancel, enforce, monitor | created, updated, searched, filed, registered, renewed, maintained, licensed, abandoned, cancelled, enforced, monitored |


Risk

Risk management entities.

Properties

| Entity | Key Properties | |--------|----------------| | Risk | name, type (strategic, operational, financial, compliance, reputational, security, technology), category, status, source, likelihood, impact, riskScore, riskLevel, inherentRiskScore, residualRiskScore, treatment (accept, mitigate, transfer, avoid), financialImpact, owner | | Mitigation | name, type (preventive, detective, corrective, compensating), status, priority, strategy, expectedReduction, actualReduction, cost, owner, plannedStartDate, plannedEndDate, effectiveness, progress | | Incident | name, type (security, data-breach, system-outage, operational, compliance, safety, fraud), status, severity, priority, impact, impactedUsers, impactedSystems, rootCause, detectedAt, resolvedAt, timeToDetect, timeToResolve, lessonsLearned | | Control | name, type (preventive, detective, corrective, compensating, deterrent), category (technical, administrative, physical, operational), status, controlId, framework, objective, frequency, automationLevel, effectiveness, maturity, lastTestDate | | Assessment | name, type (risk, security, compliance, vendor, impact, vulnerability, audit), status, scope, methodology, framework, assessor, findings, criticalFindings, overallRating, riskScore, recommendations | | Issue | name, type (operational, technical, process, compliance, vendor, customer), status, severity, priority, impact, rootCause, resolution, workaround, owner, assignee, dueDate, escalated |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Risk | create, update, assess, escalate, accept, mitigate, transfer, avoid, review, close, reopen, monitor | created, updated, assessed, escalated, accepted, mitigated, transferred, avoided, reviewed, closed, reopened, monitored | | Mitigation | create, update, plan, start, implement, verify, complete, fail, defer, cancel | created, updated, planned, started, implemented, verified, completed, failed, deferred, cancelled | | Incident | create, update, detect, confirm, escalate, investigate, contain, eradicate, recover, resolve, close, reopen, notify, postMortem | created, updated, detected, confirmed, escalated, investigated, contained, eradicated, recovered, resolved, closed, reopened, notified, postMortemCompleted | | Control | create, update, implement, test, review, deprecate, remediate, evidence | created, updated, implemented, tested, reviewed, deprecated, remediated, evidenced | | Assessment | create, update, schedule, start, conduct, review, complete, cancel, report, followUp | created, updated, scheduled, started, conducted, reviewed, completed, cancelled, reported, followedUp | | Issue | create, update, investigate, escalate, assign, resolve, close, reopen, workaround | created, updated, investigated, escalated, assigned, resolved, closed, reopened, workaroundApplied |


Projects

Project management entities.

Properties

| Entity | Key Properties | |--------|----------------| | Project | name, type (product, internal, client, research, infrastructure), status, phase, priority, methodology (agile, scrum, kanban, waterfall), objectives, scope, startDate, endDate, progress, health, budget, spent, sponsor, owner, manager, teamSize | | Task | name, type (task, bug, feature, improvement, research), status, priority, resolution, estimate, timeSpent, storyPoints, complexity, startDate, dueDate, assignee, labels, acceptanceCriteria, progress | | Milestone | name, type (phase-gate, release, delivery, review, approval, launch), status, targetDate, actualDate, progress, deliverables, criteria, owner, approver, approved | | Sprint | name, number, goal, status, startDate, endDate, duration, capacity, commitment, completed, velocity, completionRate, carryOver, totalTasks, completedTasks | | Deliverable | name, type (document, software, report, design, prototype, training), status, format, version, dueDate, deliveredDate, owner, acceptanceCriteria, accepted, progress | | Epic | name, status, priority, theme, businessValue, successMetrics, acceptanceCriteria, startDate, targetDate, estimate, completed, progress, owner | | Story | name, userStory, status, priority, storyPoints, businessValue, acceptanceCriteria, persona, assignee, labels, components, progress | | Resource | name, type (person, equipment, material, facility, budget), status, role, skills, capacity, allocated, available, utilizationTarget, utilizationActual, costRate, billableRate |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Project | create, update, plan, approve, start, pause, resume, complete, cancel, archive, replan, review | created, updated, planned, approved, started, paused, resumed, completed, cancelled, archived, replanned, reviewed | | Task | create, update, assign, start, pause, resume, complete, cancel, reopen, block, unblock, estimate, review | created, updated, assigned, started, paused, resumed, completed, cancelled, reopened, blocked, unblocked, estimated, reviewed | | Milestone | create, update, start, complete, delay, approve, cancel, review | created, updated, started, completed, delayed, approved, cancelled, reviewed | | Sprint | create, update, plan, start, complete, cancel, review, retrospect | created, updated, planned, started, completed, cancelled, reviewed, retrospected | | Deliverable | create, update, start, submit, review, approve, reject, revise, deliver, accept | created, updated, started, submitted, reviewed, approved, rejected, revised, delivered, accepted | | Epic | create, update, refine, start, complete, cancel, split, prioritize | created, updated, refined, started, completed, cancelled, split, prioritized | | Story | create, update, refine, estimate, assign, start, complete, reject, split | created, updated, refined, estimated, assigned, started, completed, rejected, split | | Resource | create, update, allocate, deallocate, reassign, book, release | created, updated, allocated, deallocated, reassigned, booked, released |


Communication

Communication and collaboration entities.

Properties

| Entity | Key Properties | |--------|----------------| | Meeting | name, type (one-on-one, team, all-hands, standup, planning, review, retrospective, interview, client), status, recurring, recurrencePattern, startTime, endTime, duration, location, virtualLink, platform, organizer, attendees, agenda, notes | | Decision | name, type (strategic, tactical, operational, technical, policy, resource), status, outcome, rationale, alternatives, impact, risks, benefits, decisionMaker, proposedDate, decidedDate, reviewDate, reversible | | ActionItem | name, status, priority, source, assignee, assignedBy, dueDate, completedDate, context, outcome, blockers, progress | | Announcement | title, content, type (general, product, company, HR, policy, event, milestone, emergency), status, priority, audience, channels, author, publishDate, acknowledgmentRequired, acknowledgmentCount, viewCount | | Feedback | title, content, type (feature-request, bug-report, complaint, praise, suggestion, review, NPS), source, status, sentiment, rating, npsScore, category, priority, submitter, assignee, response | | Discussion | title, content, type (question, proposal, brainstorm, announcement, decision, RFC), status, category, author, participants, replyCount, viewCount, pinned, locked, resolved, visibility |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Meeting | create, update, schedule, reschedule, cancel, start, end, summarize, record | created, updated, scheduled, rescheduled, cancelled, started, ended, summarized, recorded | | Decision | create, update, propose, review, approve, reject, defer, implement, supersede, archive | created, updated, proposed, reviewed, approved, rejected, deferred, implemented, superseded, archived | | ActionItem | create, update, assign, reassign, start, complete, cancel, defer, escalate | created, updated, assigned, reassigned, started, completed, cancelled, deferred, escalated | | Announcement | create, update, draft, schedule, publish, recall, archive, acknowledge, feature | created, updated, drafted, scheduled, published, recalled, archived, acknowledged, featured | | Feedback | create, update, acknowledge, assign, respond, resolve, decline, archive, merge, upvote | created, updated, acknowledged, assigned, responded, resolved, declined, archived, merged, upvoted | | Discussion | create, update, reply, resolve, close, reopen, pin, unpin, lock, unlock, archive | created, updated, replied, resolved, closed, reopened, pinned, unpinned, locked, unlocked, archived |


Assets

Asset and inventory management entities.

Properties

| Entity | Key Properties | |--------|----------------| | Asset | name, type (hardware, software, furniture, vehicle, equipment, real-estate, digital, IP), category, status, assetTag, serialNumber, manufacturer, model, condition, location, assignedTo, purchaseDate, purchasePrice, currentValue, depreciationMethod, warrantyExpiry | | Inventory | name, sku, barcode, type (raw-material, work-in-progress, finished-goods, supplies, spare-parts), category, status, unitOfMeasure, quantityOnHand, quantityReserved, quantityAvailable, reorderPoint, reorderQuantity, unitCost, totalValue, location, warehouse | | Equipment | name, type (computer, server, network, printer, phone, machinery, vehicle, tool), status, assetTag, serialNumber, manufacturer, model, specifications, condition, location, assignedTo, serviceContract, lastServiceDate, nextServiceDate | | Facility | name, type (office, warehouse, factory, datacenter, retail, lab, headquarters), status, code, address, city, country, squareFootage, floors, capacity, currentOccupancy, ownership (owned, leased, subleased, coworking), monthlyRent, operatingCost, manager | | Software | name, type (SaaS, on-premise, desktop, mobile, embedded, open-source), category, status, vendor, version, edition, licenseType, licensedUsers, activeUsers, deploymentType, ssoEnabled, dataClassification, businessCriticality, annualCost | | DataAsset | name, type (database, data-lake, file, API, report, model, dataset, stream), category, status, classification (public, internal, confidential, restricted, PII, PHI), format, schema, size, recordCount, source, refreshFrequency, owner, steward, qualityScore |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Asset | create, update, assign, unassign, transfer, maintain, repair, retire, dispose, audit, reserve, check-in, check-out | created, updated, assigned, unassigned, transferred, maintained, repaired, retired, disposed, audited, reserved, checkedIn, checkedOut | | Inventory | create, update, receive, ship, transfer, adjust, count, reserve, unreserve, reorder, discontinue | created, updated, received, shipped, transferred, adjusted, counted, reserved, unreserved, reordered, discontinued | | Equipment | create, update, assign, unassign, service, repair, calibrate, retire, dispose, reserve, return | created, updated, assigned, unassigned, serviced, repaired, calibrated, retired, disposed, reserved, returned | | Facility | create, update, open, close, renovate, expand, consolidate, audit, inspect | created, updated, opened, closed, renovated, expanded, consolidated, audited, inspected | | Software | create, update, deploy, upgrade, downgrade, renew, deprecate, retire, review, integrate | created, updated, deployed, upgraded, downgraded, renewed, deprecated, retired, reviewed, integrated | | DataAsset | create, update, refresh, archive, delete, share, restrict, classify, audit, document | created, updated, refreshed, archived, deleted, shared, restricted, classified, audited, documented |


Market

Market intelligence entities.

Properties

| Entity | Key Properties | |--------|----------------| | Market | name, type (geographic, demographic, psychographic, behavioral, industry, vertical), status, region, countries, size (TAM), serviceable (SAM), obtainable (SOM), growthRate, maturity, competitiveness, marketShare, targetShare, penetration, avgDealSize, salesCycle, priority | | Competitor | name, type (direct, indirect, substitute, potential, emerging), status, website, founded, headquarters, employeeCount, revenue, marketShare, positioning, targetSegments, products, pricing, strengths, weaknesses, differentiators, threatLevel, winRate, lossRate | | Trend | name, type (technology, market, consumer, regulatory, economic, social, environmental), status, category, timeframe, strength, confidence, impact, impactAreas, drivers, signals, implications, opportunities, threats, relevance, actionRequired | | Opportunity | name, type (market-expansion, product, acquisition, partnership, technology, cost-reduction), status, source, potentialValue, probability, expectedValue, investmentRequired, roi, risks, benefits, requirements, owner, windowStart, windowEnd, priority, strategicFit | | SWOT | name, type (company, product, market, competitor, project), status, subject, strengths, weaknesses, opportunities, threats, overallAssessment, recommendations, actionItems, author, analysisDate, validUntil | | Industry | name, code, classification (NAICS, SIC, GICS), status, size, growthRate, employmentSize, majorPlayers, concentration, barriers, regulations, technologyDrivers, disruptions, trends, relevance |

Actions & Events

| Entity | Actions | Events | |--------|---------|--------| | Market | create, update, analyze, enter, expand, exit, prioritize, segment, review | created, updated, analyzed, entered, expanded, exited, prioritized, segmented, reviewed | | Competitor | create, update, analyze, monitor, compare, benchmark, track, alert, archive | created, updated, analyzed, monitored, compared, benchmarked, tracked, alerted, archived | | Trend | create, update, identify, analyze, monitor, respond, archive, validate, escalate | created, updated, identified, analyzed, monitored, responded, archived, validated, escalated | | Opportunity | create, update, identify, evaluate, approve, decline, pursue, capture, abandon, review | created, updated, identified, evaluated, approved, declined, pursued, captured, abandoned, reviewed | | SWOT | create, update, conduct, review, approve, archive, share, revisit | created, updated, conducted, reviewed, approved, archived, shared, revisited | | Industry | create, update, analyze, monitor, enter, exit, benchmark, report | created, updated, analyzed, monitored, entered, exited, benchmarked, reported |


Usage

import {
  // Entity definitions (Noun pattern)
  Business, Vision, Value,                    // business
  Organization, Department, Team,              // organization
  Goal, OKR, KeyResult, KPI, Metric,          // goals
  Product, Service, Feature, PricingPlan,      // offerings
  Process, Workflow, Policy,                   // operations
  Budget, Revenue, Expense, Investment,        // financials
  Customer, Account, Contact, Segment,         // customers
  Deal, Pipeline, Contract, Subscription,      // sales
  Campaign, Lead, Audience, Content, Funnel,   // marketing
  Partner, Vendor, Affiliate, Partnership,     // partnerships
  Agreement, License, Compliance,              // legal
  Risk, Mitigation, Incident, Control,         // risk
  Project, Task, Milestone, Sprint, Epic,      // projects
  Meeting, Decision, ActionItem, Feedback,     // communication
  Asset, Inventory, Equipment, Facility,       // assets
  Market, Competitor, Trend, Opportunity,      // market

  // All entities by category
  AllBusinessEntities,
  BusinessEntityCategories,

  // Flat entity access
  Entities,
} from 'business-as-code'

// Access entity definitions
console.log(Business.properties)  // Property definitions
console.log(Business.actions)     // Available actions
console.log(Business.events)      // Possible events

// All 16 entity categories
console.log(AllBusinessEntities.business)       // Business, Vision, Value
console.log(AllBusinessEntities.organization)   // Organization, Department, Team, Position, Role, Worker
console.log(AllBusinessEntities.goals)          // Goal, OKR, KeyResult, KPI, Metric, Initiative
console.log(AllBusinessEntities.offerings)      // Product, Service, Feature, PricingPlan, RoadmapItem
console.log(AllBusinessEntities.operations)     // Process, ProcessStep, Workflow, WorkflowAction, WorkflowRun, Policy
console.log(AllBusinessEntities.financials)     // Budget, Revenue, Expense, Investment, FinancialPeriod, Forecast
console.log(AllBusinessEntities.customers)      // Customer, Account, Contact, Segment, Persona, Interaction
console.log(AllBusinessEntities.sales)          // Deal, Pipeline, Stage, Contract, Subscription, Quote, Order, Invoice
console.log(AllBusinessEntities.marketing)      // Campaign, Lead, Audience, Content, Funnel, FunnelStage, MarketingEvent
console.log(AllBusinessEntities.partnerships)   // Partner, Vendor, Affiliate, Partnership, Integration, Reseller
console.log(AllBusinessEntities.legal)          // Agreement, License, IntellectualProperty, Compliance, LegalPolicy, Trademark
console.log(AllBusinessEntities.risk)           // Risk, Mitigation, Incident, Control, Assessment, Issue
console.log(AllBusinessEntities.projects)       // Project, Task, Milestone, Sprint, Deliverable, Epic, Story, Resource
console.log(AllBusinessEntities.communication)  // Meeting, Decision, ActionItem, Announcement, Feedback, Discussion
console.log(AllBusinessEntities.assets)         // Asset, Inventory, Equipment, Facility, Software, DataAsset
console.log(AllBusinessEntities.market)         // Market, Competitor, Trend, Opportunity, SWOT, Industry

Use Cases

Startup Planning

Define your business model, track runway, and monitor growth metrics.

Strategic Planning

Set OKRs, track goals, and measure progress toward vision.

Financial Modeling

Calculate margins, growth rates, and SaaS metrics.

Process Documentation

Document business processes with automation levels and metrics.

Dashboard Building

Power business dashboards with structured data.

AI Agent Integration

Entity definitions power AI agents with structured business context.

License

MIT