# Trigger, condition, delay & action

> Cara workflow automasi dibina daripada satu trigger dan rangkaian condition, delay dan action, serta apa yang boleh dibuat oleh setiap satu.
>
> Source: https://docs.bcl.my/ms/automation-triggers-actions/

Setiap automasi ialah workflow pada canvas. Ia bermula dengan satu **trigger**, iaitu event yang memulakannya, diikuti langkah-langkah yang BCL jalankan mengikut urutan: **condition** yang menentukan sama ada workflow diteruskan, **delay** yang menunggu, dan **action** yang melakukan kerja.

*(Screenshot: Workflow ringkas: trigger Payment Success disambungkan kepada action Send Thank You Email)*

## Trigger

Trigger menunggu satu event. Setiap automasi ada tepat satu trigger, dan anda memilihnya apabila anda klik **Select an Event** pada automasi baru.

*(Screenshot: Panel Select Trigger Event yang menyenaraikan trigger lead dan bayaran)*

Trigger dibahagikan kepada empat kumpulan:

| Kumpulan | Trigger |
| --- | --- |
| **Leads** | **New Lead Received** |
| **Payments** | **Payment Initiated**, **Payment Successful**, **Payment Failed**, **Payment Cancelled**, **Payment Completed**, **Status Changed**, **Order Shipped** |
| **Events** | **Participant Created**, **Participant Checked In**, **Certificate Generated** |
| **Affiliate** | **Referral Approved**, **Referral Rejected**, **New Affiliate Registered**, **Payout Requested** |

Dalam tetapan setiap trigger, anda boleh hadkan trigger itu kepada form tertentu. Biarkan senarai form kosong supaya ia berjalan untuk semua form. Dalam senarai **Automations**, lajur **Trigger type** menggunakan nama yang sedikit berbeza, seperti **Transaction Success** untuk **Payment Successful** dan **Form Submitted** untuk **New Lead Received**.

Lihat [Trigger automasi](/ms/automation-triggers/) untuk data yang dihantar oleh setiap trigger kepada langkah seterusnya.

## Action

Klik satu node pada canvas, kemudian **Add Node** untuk menambah langkah seterusnya. Panel **Add Action** menyenaraikan semua yang BCL boleh lakukan:

*(Screenshot: Panel Add Action dengan kumpulan Messaging, Integrations dan Flow Control)*

| Kumpulan | Node |
| --- | --- |
| **Messaging** | **Send Email**, **SMS Niaga**, **Send Wabot**, **Send WasapBot** |
| **Integrations** | **Add to Mail Niaga**, **Google Sheets**, **HTTP Request** |
| **Flow Control** | **Delay**, **Condition** |

Node WhatsApp, SMS, Mail Niaga dan Google Sheets memerlukan servis itu disambungkan di **Platform Setup** → **Integrations** dahulu. Lihat [Action automasi](/ms/automation-actions/) dan [Langkah HTTP Request](/ms/automation-http-request/).

## Condition & delay

Node **Condition** menyemak data daripada trigger sebelum workflow diteruskan. Anda pilih **Field**, **Operator** seperti **Equals**, **Contains** atau **Greater Than (>)**, dan **Value**. Jika ada beberapa condition, **Match Logic** menentukan sama ada semua atau mana-mana satu condition mesti sepadan. Lihat [Condition automasi](/ms/automation-conditions/).

Node **Delay** menunggu sebelum langkah seterusnya. Pilih **For a Specific Period** dan tetapkan **Duration** dan **Time Unit** (minit, jam atau hari), atau pilih **Until a Date & Time**.

## Variable

Mesej dan ruangan boleh mengandungi butiran daripada trigger, seperti `{name}`, `{order_number}` atau `{amount}` untuk bayaran, atau `{full_name:1}` untuk ruangan lead form. Klik **Variables** di sebelah sesuatu ruangan untuk memilih variable. Lihat [Variable automasi](/ms/automation-variables/) untuk senarai penuh.

## Tips

Beberapa peraturan ini memastikan workflow anda berjalan seperti yang dijangka:

- **Pilih trigger yang ada data yang anda perlukan.** Bayaran yang baru dimulakan belum ada resit, jadi hantar resit dan ucapan terima kasih daripada **Payment Successful**.
- **Beri setiap node nama yang jelas.** **Action Name** dipaparkan pada canvas dan dalam sejarah execution, jadi "E-mel team jualan" lebih mudah disemak berbanding "Send Email".
- **Uji dahulu sebelum anda on-kan untuk semua form.** Hadkan trigger kepada satu form ujian dahulu, kemudian luaskan.

## Isu biasa

### Trigger mana yang perlu saya guna untuk menghantar sesuatu selepas pelanggan membayar?

Payment Successful. Trigger ini berjalan sebaik sahaja bayaran selesai dengan berjaya. Payment Initiated berjalan lebih awal, apabila pelanggan mula membayar, sebelum anda tahu sama ada bayaran itu berjaya.

### Boleh satu automasi ada dua trigger?

Tidak. Setiap automasi ada tepat satu trigger. Cipta automasi kedua untuk event yang lain itu.

### Boleh saya tunggu satu hari sebelum menghantar peringatan?

Boleh. Letakkan node Delay sebelum action itu. Node ini boleh menunggu untuk tempoh tertentu, seperti 1 hari, atau sehingga satu tarikh dan masa.
