---
{
  "id": "platform.automation.choose-mode",
  "topic": "automation",
  "title": "Choose the right automation mode",
  "locale": "en",
  "version": "2026-09-05",
  "summary": "Choose Calendar for event resources, Cron for timed work, Trigger for exposed platform events, Webhook for inbound traffic, Delivery for outbound traffic, Email for replies, and Workflow for steps.",
  "content": "First distinguish a Calendar resource from automation, then choose the direction, driver, and work separately. Calendar creates or changes an event: “schedule a meeting tomorrow” or “move this appointment”; it does not wake an Agent. Cron is time-driven: “run every Monday at 09:00.” Trigger reacts to source/event values exposed by the Arinova action registry: “when a card moves to Done, ask an Agent to summarize it.” Workflow defines ordered execution as sequential BFS; its `next` arrays can branch or loop, and Sleep steps pace loops.\n\nWebhook accepts an inbound request from outside Arinova. Delivery sends an event plus JSON payload from Arinova to an owner-registered external endpoint; `queued` means accepted, not delivered. Email receives mail and can only reply to the fixed sender of a dispatched inbound email—it cannot compose to an arbitrary address. Therefore “receive a partner event” is Webhook, “push the report to our system” is Delivery, and “reply to the customer who emailed” is Email.\n\nA request can span domains. Webhook can start a Workflow through `run_workflow`; no Trigger action is needed. A Delivery step can send its result outside. For a timer whose only work is sending an event and JSON payload, Cron can use its direct `outbound_delivery` target. For “at 09:00 analyze and then send outside,” use Cron's `workflow_run` target to start the Workflow and its Delivery step—no Agent wakeup is required.\n\nAn event reminder such as “notify me 15 minutes before this meeting” belongs to Calendar because it is attached to the event. A standalone in-app reminder at a wall-clock time uses Cron's `notify` target; “at 09:00 wake the Agent,” “run this allowlisted Agent action,” or “start this Workflow” also belongs to Cron. Workflow is not itself a clock or event source. Trigger only supports current registry source/event values, which exclude Calendar. For a conceptual comparison, answer from this chooser without operational tools.\n",
  "aliases": [
    "automation",
    "schedule",
    "timed task",
    "trigger",
    "when event",
    "received event",
    "outbound event",
    "send to external system",
    "reply to inbound email",
    "calendar event",
    "schedule a meeting",
    "自動化",
    "排程",
    "定時",
    "觸發",
    "收到事件",
    "對外傳送",
    "回覆來信",
    "行事曆",
    "會議"
  ],
  "tags": [
    "automation",
    "chooser",
    "routing"
  ],
  "relatedActions": [
    "arinova.calendar.create_event",
    "arinova.cron.schedule",
    "arinova.trigger.create_trigger",
    "arinova.webhook.create_webhook",
    "arinova.workflow.create_workflow",
    "arinova.delivery.list_endpoints",
    "arinova.delivery.send",
    "arinova.email.reply"
  ],
  "relatedActionPrefixes": [],
  "sourceReviewedAt": "2026-09-06",
  "url": "https://docs.arinova.ai/en/kb/automation/choose-mode/"
}
---

First distinguish a Calendar resource from automation, then choose the direction, driver, and work separately. Calendar creates or changes an event: “schedule a meeting tomorrow” or “move this appointment”; it does not wake an Agent. Cron is time-driven: “run every Monday at 09:00.” Trigger reacts to source/event values exposed by the Arinova action registry: “when a card moves to Done, ask an Agent to summarize it.” Workflow defines ordered execution as sequential BFS; its `next` arrays can branch or loop, and Sleep steps pace loops.

Webhook accepts an inbound request from outside Arinova. Delivery sends an event plus JSON payload from Arinova to an owner-registered external endpoint; `queued` means accepted, not delivered. Email receives mail and can only reply to the fixed sender of a dispatched inbound email—it cannot compose to an arbitrary address. Therefore “receive a partner event” is Webhook, “push the report to our system” is Delivery, and “reply to the customer who emailed” is Email.

A request can span domains. Webhook can start a Workflow through `run_workflow`; no Trigger action is needed. A Delivery step can send its result outside. For a timer whose only work is sending an event and JSON payload, Cron can use its direct `outbound_delivery` target. For “at 09:00 analyze and then send outside,” use Cron's `workflow_run` target to start the Workflow and its Delivery step—no Agent wakeup is required.

An event reminder such as “notify me 15 minutes before this meeting” belongs to Calendar because it is attached to the event. A standalone in-app reminder at a wall-clock time uses Cron's `notify` target; “at 09:00 wake the Agent,” “run this allowlisted Agent action,” or “start this Workflow” also belongs to Cron. Workflow is not itself a clock or event source. Trigger only supports current registry source/event values, which exclude Calendar. For a conceptual comparison, answer from this chooser without operational tools.
