{"templateId":"GuidePage","sharedDataIds":{"sidebar":"sidebar-miniapps/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Triggers","description":"Developer API, partner integration, MCP, SDK, and customer help center.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"triggers","__idx":0},"children":["Triggers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"triggers: [\n  {\n    type: 'miniapps:my-service',        // Must be \"miniapps:{ns}\"\n    event: 'order.created',              // Event identifier\n    img: 'automation3.svg',              // Icon image filename\n    icon: 'shopping-cart',               // Lucide icon name\n    label: 'My Service Order Created',   // Display label in Automation Builder\n    description: 'Triggered when a new order is placed in My Service.',\n    isCustom: false,\n  },\n  {\n    type: 'miniapps:my-service',\n    event: 'customer.updated',\n    img: 'automation4.svg',\n    icon: 'users-alt',\n    label: 'My Service Customer Updated',\n    description: 'Triggered when a customer record is updated.',\n    isCustom: false,\n  },\n]\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Trigger fields:"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Must follow the pattern ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["miniapps:{ns}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["event"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The exact event string from your provider"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["img"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Automation builder icon filename"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["icon"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lucide React icon name"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Human-readable label"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Help text explaining when this trigger fires"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isCustom"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["boolean"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," for standard triggers"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Event name convention:"]}," Use the exact event string your provider sends in webhooks. The platform matches the extracted event name (from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook.eventExtraction"]},") against trigger ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["event"]}," values directly — no mapping layer."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Composite events:"]}," If your provider uses a combination of fields to identify an event (e.g., GitHub uses the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-GitHub-Event"]}," header + the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action"]}," body field), use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["compositeStrategy"]}," in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook.eventExtraction"]}," (see §8.1) and name your trigger events accordingly:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"// GitHub: header \"push\" + body action \"received\"\n{ event: 'push.received' }\n\n// GitHub: header \"pull_request\" + body action \"opened\"\n{ event: 'pull_request.opened' }\n\n// Slack: body event.type \"message\" + event.subtype \"bot_message\"\n{ event: 'message.bot_message' }\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]}]},"headings":[{"value":"Triggers","id":"triggers","depth":1}],"frontmatter":{"title":"Triggers","titleTranslationKey":"sidebar.miniapps.triggers","audience":"developer","status":"published","locales":["en"],"template":"GuidePage","seo":{"title":"Triggers"}},"lastModified":"2026-06-23T12:06:12.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/miniapps/guides/triggers","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}