{
  "id": 16924299,
  "title": "CRM'de iş akışı motoru tasarlamak: Olay-koşul-eylem, gecikmeli adımlar, döngü koruması ve sürümleme",
  "url": "https://urgent.news/2026/10/28/crmde-is-ak-s-motoru-tasarlamak-olay-kosul-eylem-gecikmeli-ad-mlar",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-28T16:28:09.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/korayyalcin/crmde-is-akisi-motoru-tasarlamak-olay-kosul-eylem-gecikmeli-adimlar-dongu-korumasi-ve-surumleme-4db4"
  },
  "original_language": "en",
  "account": "A good CRM workflow engine requires a clear event-condition-action model. An event is triggered when something happens, like a new lead being created or a deal stage changing. The condition determines if the event is relevant to a specific rule. Finally, the action defines what needs to be done, such as creating a task, updating records, or sending notifications.\n\nThe key is to store rules in a table, allowing them to be edited through a UI, versioned, and tested. This makes it easy to update rules without needing to deploy new code or risk downtime.\n\nTo prevent race conditions, a unique constraint is added to the workflow_runs table. This ensures that if the same event is processed twice, only one run will be created, avoiding duplicate processing.\n\nInstead of simply waiting, a more efficient approach is to update the run status to \"waiting\", record the wake-up time, and let a separate monitoring process wake up the run when the specified time has passed. This prevents long waits from accumulating and ensures efficient use of resources.",
  "summary": "\"Yeni lead gelince temsilciye bildirim gönder, iki saat içinde aranmazsa yöneticiye haber ver, üç gün içinde randevu oluşmazsa WhatsApp hatırlatması at.\" Bu cümle bir satış müdürü için tek bir kuraldır. Bir geliştirici için ise aynı cümlenin içinde bir olay dinleyicisi, bir zamanlayıcı, iki koşul kontrolü, iki dış sistem çağrısı ve en az üç farklı hata senaryosu vardır. Ben Koray Yalçın; lead…",
  "key_points": [
    "Event-condition-action model essential for CRM workflow engine",
    "Rules stored in table for easy editing, versioning, testing",
    "Unique constraint prevents duplicate processing of events"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}