Headlessly

Platform

Workflow, Integration, Agent — automation and AI-powered infrastructure.

Automation, integrations, AI agents that run the business.

Workflow

Automation rules — event-triggered multi-step workflows with retry and error handling.

import { Noun } from 'digital-objects'

export const Workflow = Noun('Workflow', {
  name: 'string!',
  description: 'string',
  organization: '-> Organization',
  trigger: 'string!',
  steps: 'string',
  retryPolicy: 'string',
  errorHandling: 'Stop | Continue | Fallback',
  timeout: 'number',
  status: 'Draft | Active | Paused | Archived',
  version: 'number',
  lastRunAt: 'datetime',
  runCount: 'number',
  successCount: 'number',
  failureCount: 'number',
  activate: 'Activated',
  pause: 'Paused',
  archive: 'Archived',
})
VerbEventDescription
activateActivatedSet workflow to active
pausePausedTemporarily suspend
archiveArchivedArchive for reference

Integration

External connections — Stripe, GitHub, Slack, WorkOS.

export const Integration = Noun('Integration', {
  name: 'string!',
  slug: 'string##',
  description: 'string',
  provider: 'string!',
  providerUrl: 'string',
  providerLogo: 'string',
  category: 'Payment | CRM | Marketing | Analytics | Communication | Storage | AI | Other',
  authType: 'OAuth2 | ApiKey | Basic | Custom',
  oauthScopes: 'string',
  configSchema: 'string',
  status: 'Available | ComingSoon | Deprecated',
  featured: 'string',
  apiBaseUrl: 'string',
  webhookSupport: 'string',
  connect: 'Connected',
  disconnect: 'Disconnected',
})
VerbEventDescription
connectConnectedEstablish the integration
disconnectDisconnectedRemove the integration

Agent

AI agents with model configuration, tool access, and usage tracking.

export const Agent = Noun('Agent', {
  name: 'string!',
  slug: 'string##',
  description: 'string',
  avatar: 'string',
  organization: '-> Organization',
  owner: '-> Contact',
  model: 'string',
  systemPrompt: 'string',
  instructions: 'string',
  persona: 'string',
  type: 'Assistant | Autonomous | Workflow | Specialist | Router',
  status: 'Draft | Active | Paused | Archived',
  visibility: 'Private | Team | Organization | Public',
  temperature: 'number',
  maxTokens: 'number',
  tools: 'string',
  functions: 'string',
  knowledgeBases: 'string',
  memory: 'None | Session | Persistent',
  memoryWindow: 'number',
  totalTokens: 'number',
  totalCost: 'number',
  averageLatency: 'number',
  successRate: 'number',
  rating: 'number',
  ratingCount: 'number',
  version: 'number',
  publishedAt: 'datetime',
  tags: 'string',
  deploy: 'Deployed',
  pause: 'Paused',
  retire: 'Retired',
})
VerbEventDescription
deployDeployedActivate the agent
pausePausedTemporarily suspend
retireRetiredRetire the agent

On this page