.do
Execution

triggers

Initiate workflows based on business or system events

triggers

Event-based triggers for initiating workflows, functions, and automations in response to business events, schedules, or system conditions.

Overview

The triggers primitive provides a declarative way to define when workflows should execute, supporting time-based schedules, event patterns, webhooks, and custom conditions.

Parent Primitive: webhooks - Webhook management

SDK Object Mapping

This primitive maps to the on and every SDK objects:

import { on, every, triggers } from 'sdk.do'

// ON - Event triggers (on is one of 8 core SDK objects)
on('order.created', async ({ order }) => {
  await sendConfirmation(order)
  await updateInventory(order)
})

// EVERY - Schedule triggers (every is one of 8 core SDK objects)
every('0 9 * * *', async () => {
  await generateDailyReport()
})

every('5 minutes', async () => {
  await checkSystemHealth()
})

// Webhook triggers
triggers.webhook('/stripe/webhook', async (payload) => {
  await processPayment(payload)
})

// Conditional triggers
triggers.when(
  () => temperature > 100,
  async () => {
    await send('alert.temperature', { value: temperature })
  }
)

Quick Example

import { triggers } from 'sdk.do'

// Schedule trigger
triggers.schedule('daily-report', '0 9 * * *', async () => {
  await generateDailyReport()
})

// Event trigger
triggers.on('order.created', async ({ order }) => {
  await sendConfirmation(order)
  await updateInventory(order)
})

// Webhook trigger
triggers.webhook('/stripe/webhook', async (payload) => {
  await processPayment(payload)
})

// Conditional trigger
triggers.when(
  () => temperature > 100,
  async () => {
    await sendAlert()
  }
)

Core Capabilities

  • Schedule Triggers - Cron-based time scheduling
  • Event Triggers - React to business or system events
  • Webhook Triggers - HTTP callback endpoints
  • Conditional Triggers - Execute based on custom conditions
  • Composable Logic - Combine multiple trigger conditions

Access Methods

SDK

TypeScript/JavaScript library for trigger management

await triggers.schedule('daily-report', '0 9 * * *', async () => generateReport())

SDK Documentation

CLI

Command-line tool for trigger operations

do trigger schedule daily-report "0 9 * * *" --handler generateReport

CLI Documentation

API

REST/RPC endpoints for trigger management

curl -X POST https://api.do/v1/triggers -d '{"type":"schedule","cron":"0 9 * * *"}'

API Documentation

MCP

Model Context Protocol for AI-driven trigger creation

Create a daily trigger at 9 AM to generate a report

MCP Documentation

Parent Primitive

Sibling Primitives

  • on - Event handlers (SDK object mapping)
  • every - Workflow handlers (SDK object mapping)
  • workflows - Workflow execution
  • functions - Handler functions