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',
})| Verb | Event | Description |
|---|---|---|
activate | Activated | Set workflow to active |
pause | Paused | Temporarily suspend |
archive | Archived | Archive 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',
})| Verb | Event | Description |
|---|---|---|
connect | Connected | Establish the integration |
disconnect | Disconnected | Remove 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',
})| Verb | Event | Description |
|---|---|---|
deploy | Deployed | Activate the agent |
pause | Paused | Temporarily suspend |
retire | Retired | Retire the agent |