Chat — Examples
Real-world Chat node configurations across multiple channels and use cases.
01 Slack Production Deployment Gate
Sends a structured Slack message to the on-call engineer before deploying to production. Includes release notes URL and estimated downtime. A 60-minute timeout ensures deployments don't stall indefinitely.
{
"actors": ["{{ $var.on_call_engineer_id }}"],
"message": "*Production Deployment Gate* :rocket:\n\nService: *{{ $var.service_name }}*\nVersion: *{{ $var.version }}*\nEstimated downtime: {{ $var.downtime_estimate }}\nRelease notes: {{ $var.release_notes_url }}\n\nReply *YES* to deploy now or *NO* to cancel.",
"channel": "slack",
"timeout_minutes": 60
}
02 WhatsApp Customer Delivery Confirmation
Confirms delivery slot with the customer over WhatsApp before dispatching a courier. Embeds the order number, delivery date, and address. A 4-hour window allows the customer to respond at their convenience.
{
"actors": ["{{ $var.customer_user_id }}"],
"message": "Hi {{ $var.customer_name }}! Your order #{{ $var.order_number }} is ready to ship.\n\nDelivery: {{ $var.delivery_date }} between {{ $var.time_slot }}\nAddress: {{ $var.delivery_address }}\n\nPlease reply CONFIRM to proceed or RESCHEDULE if you need a different slot.",
"channel": "whatsapp",
"timeout_minutes": 240
}
03 Email Manager Budget Exception Approval
Requests a quick budget exception approval via email reply. Useful for managers who prefer inbox-based interactions. A 24-hour window gives adequate review time.
{
"actors": ["{{ $var.budget_owner_id }}"],
"message": "Budget Exception Request — {{ $var.project_name }}\n\n{{ $var.requester_name }} has requested a budget exception of ${{ $var.exception_amount }} for {{ $var.expense_description }}.\n\nCurrent budget utilisation: {{ $var.budget_utilisation }}%\nJustification: {{ $var.justification }}\n\nPlease reply APPROVE or REJECT with any comments.",
"channel": "email",
"timeout_minutes": 1440
}
04 SMS Field Technician Job Acceptance
Assigns a field service job to the nearest available technician via SMS. The concise message fits within standard SMS limits. Rejection triggers automatic reassignment to the next available technician.
{
"actors": ["{{ $var.technician_id }}"],
"message": "New job #{{ $var.ticket_id }}: {{ $var.job_type }} at {{ $var.site_address }}. Est. {{ $var.duration }}h. Reply ACCEPT or UNAVAILABLE.",
"channel": "sms",
"timeout_minutes": 15
}
05 Slack Daily Report Sign-Off
Before publishing a daily financial report to the board portal, gets a quick sign-off from the Finance Director via Slack. Includes a preview link. Operates on a 2-hour business window.
{
"actors": ["{{ $var.finance_director_id }}"],
"message": ":bar_chart: *Daily Finance Report — {{ $var.report_date }}*\n\nThe report is ready for publication.\nPreview: {{ $var.report_preview_url }}\n\nKey metrics: Revenue {{ $var.revenue }}, Expenses {{ $var.expenses }}, Net {{ $var.net_income }}\n\nReply *PUBLISH* to release to the board portal, or *HOLD* to defer.",
"channel": "slack",
"timeout_minutes": 120
}