Skip to content
Last updated

Triggers

Triggers define which webhook events your MiniApp can react to. They appear in the Automation Builder as available trigger nodes. When a matching webhook arrives, automations that use the corresponding trigger are executed.

triggers: [
  {
    type: 'miniapps:my-service',        // Must be "miniapps:{ns}"
    event: 'order.created',              // Event identifier
    img: 'automation3.svg',              // Icon image filename
    icon: 'shopping-cart',               // Lucide icon name
    label: 'My Service Order Created',   // Display label in Automation Builder
    description: 'Triggered when a new order is placed in My Service.',
    isCustom: false,
  },
  {
    type: 'miniapps:my-service',
    event: 'customer.updated',
    img: 'automation4.svg',
    icon: 'users-alt',
    label: 'My Service Customer Updated',
    description: 'Triggered when a customer record is updated.',
    isCustom: false,
  },
]

Trigger fields:

FieldTypeRequiredDescription
typestringMust follow the pattern miniapps:{ns}
eventstringThe exact event string from your provider
imgstringAutomation builder icon filename
iconstringLucide React icon name
labelstringHuman-readable label
descriptionstringHelp text explaining when this trigger fires
isCustombooleanSet to false for standard triggers

Event name convention: Use the exact event string your provider sends in webhooks. The platform matches the extracted event name (from webhook.eventExtraction) against trigger event values directly — no mapping layer.

Composite events: If your provider uses a combination of fields to identify an event (e.g., GitHub uses the X-GitHub-Event header + the action body field), use the compositeStrategy in webhook.eventExtraction (see §8.1) and name your trigger events accordingly:

// GitHub: header "push" + body action "received"
{ event: 'push.received' }

// GitHub: header "pull_request" + body action "opened"
{ event: 'pull_request.opened' }

// Slack: body event.type "message" + event.subtype "bot_message"
{ event: 'message.bot_message' }