Platform / Workflow rules

Workflow rules

Rules create tasks, send messages, block milestones and escalate. They are data, versioned with author and reason, and every change can be dry-run against active shipments before it goes live.

Active rules
31
fired 4,212 times in 7 days
Drafts awaiting review
2
both by Ama Owusu
Blocks active now
17
shipments held by a rule · 14 for unpaid duties
Rule errors · 7d
0
cleanidempotency rejected 38 duplicate events
StateAllTriggerAny
Customs hold → task + WhatsApprule_14 · v14 draft · milestone CUSTOMS_HOLDReview
Storage charge warning 72hrule_9 · v9 draft · timer before storage accrualReview
Block RELEASED while duties unpaidrule_31 · v31 · state changeActive
Container arrival checklistrule_2 · v7 · milestone ARRIVED_PORTActive
Escalate unanswered message 2hrule_6 · v6 · timerActive
Delay over 48h copies consultantrule_18 · v3 · ETA changeActive
Document rejected → re-requestrule_21 · v2 · document.rejectedActive
Repayment reminder 3 daysrule_27 · v4 · timer before instalmentActive
Arrears over threshold → caserule_29 · v1 · daysPastDue > 7Active
Legacy SMS fallbackrule_3 · v5 · retired Mon 1 SepRetired
31 active · 2 drafts · 4 retiredShow all

rule_14 · Customs hold → task + WhatsApp "Customs hold"

v14 draftv13 live

Trigger

Milestone recorded

code = CUSTOMS_HOLD · source icums or manual
›

Conditions

mode in [sea, air]

and no open task of type customs_hold on the shipmentand client segment ≠ agent_managed
›

Actions

1. Create task customs_hold, due +3 days, consequence "demurrage GHS {rate}/day from {date}"

2. Send WhatsApp customs_hold_v2 with button set Customs hold

3. Open case, priority high, owner = client's consultant

4. Block transition to RELEASED until task done

Dry run completed 21:55 by Ama Owusu against 412 active shipments. No messages were sent and no tasks were created.
Would fire on
7 shipmentsall currently in CUSTOMS_HOLD without an open task
Tasks created
7
Messages sent
7 WhatsApptemplate customs_hold_v2, approved
Cases opened
52 shipments already have an open case
Blocks added
7 on RELEASED
Conflicts
1 warningrule_31 also blocks RELEASED on 3 of these; both will show as reasons
Affected shipments
ShipmentClientIn hold sinceRate/day
TRF-24009Adwoa Mensah TradingFri 3 OctGHS 320
TRF-23998Boakye ElectronicsThu 2 OctGHS 320
TRF-24003Tetteh ImportsSat 4 OctGHS 450
TRF-24011Osei Agro SuppliesSun 5 OctGHS 320
TRF-23990Accra Textile HubMon 29 SepGHS 450
and 2 more
Change v13 → v14
"conditions": [ { "field": "mode", "in": ["sea", "air"] }, + { "noOpenTaskOfType": "customs_hold" }, + { "field": "client.segment", "neq": "agent_managed" } ], "actions": [ - { "createTask": { "type": "customs_hold", "dueIn": "P2D" } }, + { "createTask": { "type": "customs_hold", "dueIn": "P3D", "consequence": "demurrage GHS {rate}/day from {date}" } }, { "sendMessage": { "template": "customs_hold_v2", "buttonSet": "customs_hold" } }, + { "openCase": { "priority": "high", "owner": "client.consultant" } }, { "blockTransition": "RELEASED" } ]
Clients were getting duplicate hold tasks when ICUMS re-sent the status. Also open a case so the consultant sees it.
Ama Owusu · Mon 6 Oct 21:55
Publishing affects new events only. Existing tasks and blocks are not recomputed.Rule audit trail