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
Search rules
StateAllTriggerAny
| Customs hold → task + WhatsApprule_14 · v14 draft · milestone CUSTOMS_HOLD | Review |
| Storage charge warning 72hrule_9 · v9 draft · timer before storage accrual | Review |
| Block RELEASED while duties unpaidrule_31 · v31 · state change | Active |
| Container arrival checklistrule_2 · v7 · milestone ARRIVED_PORT | Active |
| Escalate unanswered message 2hrule_6 · v6 · timer | Active |
| Delay over 48h copies consultantrule_18 · v3 · ETA change | Active |
| Document rejected → re-requestrule_21 · v2 · document.rejected | Active |
| Repayment reminder 3 daysrule_27 · v4 · timer before instalment | Active |
| Arrears over threshold → caserule_29 · v1 · daysPastDue > 7 | Active |
| Legacy SMS fallbackrule_3 · v5 · retired Mon 1 Sep | Retired |
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 typecustoms_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
| Shipment | Client | In hold since | Rate/day |
|---|---|---|---|
TRF-24009 | Adwoa Mensah Trading | Fri 3 Oct | GHS 320 |
TRF-23998 | Boakye Electronics | Thu 2 Oct | GHS 320 |
TRF-24003 | Tetteh Imports | Sat 4 Oct | GHS 450 |
TRF-24011 | Osei Agro Supplies | Sun 5 Oct | GHS 320 |
TRF-23990 | Accra Textile Hub | Mon 29 Sep | GHS 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