Event Triggers บน Garudust The article explains that Garudust uses a single core primitive, `agent.run(task)`, to handle all event triggers, including chat messages, cron jobs, and webhooks, by converting external HTTP POST requests into tasks. It details the technical implementation, such as using an Axum HTTP server, HMAC-SHA256 signature verification for security, and asynchronous processing that returns a `202 Accepted` response. The article also provides concrete use cases, including email processing, GitHub Actions workflows, monitoring jobs, and calendar integrations, where external systems handle filtering and task creation while Garudust manages agent execution and result handling via callback URLs. core ของ Garudust เปิดเผย primitive พื้นฐานตัวเดียว: agent.run task ทุก entry point — ไม่ว่าจะเป็นข้อความจากแชท, cron job, หรือ webhook call — ล้วนลงเอยที่ call เดียวกันนี้ทั้งสิ้น นั่นหมายความว่าระบบภายนอกใดก็ตามที่ส่ง HTTP POST ได้ ก็สามารถเป็น event trigger ให้ Garudust ได้เลย บทความนี้จะอธิบายว่ามันทำงานอย่างไรในปัจจุบัน, pattern ที่ใช้งานได้จริงใน production และ use case ที่เป็นรูปธรรม เมื่อ Garudust ถูกตั้งค่าให้ใช้ webhook platform มันจะเปิด Axum HTTP server และลงทะเบียน POST endpoint ไว้ที่ path ที่คุณกำหนด request ขาเข้าจะมีหน้าตาแบบนี้: { "text": "A new billing invoice has arrived from Acme Corp for $4,200.", "callback url": "https://your-system.example.com/garudust/reply", "user id": "billing-watcher", "session key": "billing-acme-corp" } Garudust จะห่อข้อมูลนี้เป็น InboundMessage , ส่งผ่าน GatewayHandler , spawn agent.run ขึ้นมา และเมื่อ agent ทำงานเสร็จก็จะ POST คำตอบกลับไปที่ callback url : { "text": "Invoice from Acme Corp for $4,200 — categorised as SaaS/Infrastructure. Flagged for approval above $3,000 threshold. Draft approval request sent to finance." } HTTP response ที่ตอบกลับ POST ของคุณทันทีคือ 202 Accepted — agent ทำงานแบบ asynchronous Garudust ตรวจสอบ HMAC-SHA256 signature ทุก request ที่เข้ามา ตั้ง shared secret ใน config แล้ว sign ทุก POST ขาออกด้วย: X-Hub-Signature-256: sha256=