Peraturan-peraturan otomatisasi¶
Aturan otomasi memungkinkan eksekusi satu atau lebih tindakan yang telah ditentukan sebagai respons terhadap pemicu tertentu, misalnya membuat aktivitas saat field diatur ke nilai tertentu, atau mengarsipkan record 7 hari setelah pembaruan terakhirnya.
Saat membuat aturan otomasi, dimungkinkan untuk menambahkan kondisi yang harus dipenuhi agar aturan otomasi berjalan, misalnya peluang harus ditetapkan ke salesperson tertentu, atau status record tidak boleh Draft.
Untuk membuat aturan otomasi dengan Odoo Studio:
Buka Studio dan klik Automations, lalu New.
Berikan aturan otomasi nama yang jelas dan bermakna yang mengidentifikasi tujuannya.
Pilih Trigger dan, jika perlu, isi field yang muncul di layar berdasarkan pemicu yang dipilih.
Klik Add an action di tab Actions To Do.
Pilih Type aksi dan lengkapi field yang relevan berdasarkan aksi yang dipilih.
Klik Save & Close atau, untuk menentukan tindakan tambahan, Save & New.
Example
Untuk memastikan tindak lanjut pada klien yang kurang puas, aturan otomasi ini membuat aktivitas 3 bulan setelah sales order dibuat untuk klien dengan persentase kepuasan lebih rendah dari 30%.
Tip
Gunakan tab Notes untuk mendokumentasikan tujuan dan cara kerja aturan otomasi. Ini membuat aturan lebih mudah dipelihara dan memfasilitasi kolaborasi antar pengguna.
Untuk memodifikasi model yang ditargetkan oleh aturan otomasi, alihkan model sebelum mengklik Automations di Studio, atau aktifkan mode pengembang, buat atau edit aturan otomasi, dan pilih Model di formulir Automation Rules.
Aturan otomasi dapat dibuat dari tahap kanban mana pun dengan mengklik ikon (Settings) yang muncul saat mengarahkan kursor ke nama tahap kanban, lalu pilih Automations. Dalam hal ini, Trigger diatur ke Stage is set to secara default, tetapi dapat diubah jika perlu.
Pemicu¶
Trigger digunakan untuk menentukan jenis peristiwa apa yang perlu terjadi agar aturan otomasi berjalan. Pemicu yang tersedia tergantung pada model. Lima kategori pemicu tersedia secara keseluruhan:
Menambahkan kondisi¶
Filter domain memungkinkan Anda menentukan record yang harus ditargetkan atau dikecualikan oleh aturan otomasi. Pemfilteran yang efisien meningkatkan kinerja keseluruhan karena menghindari pemrosesan yang tidak perlu pada record yang tidak terpengaruh oleh aturan.
Tip
Aktifkan mode pengembang sebelum membuat aturan otomasi untuk memiliki fleksibilitas maksimal dalam menambahkan filter domain.
Tergantung pada pemicu yang dipilih, dimungkinkan untuk menentukan satu atau lebih kondisi yang harus dipenuhi record sebelum dan/atau setelah pemicu terjadi.
Before Update Domain menentukan kondisi yang harus dipenuhi record sebelum peristiwa pemicu terjadi, misalnya record harus memiliki
Type = Customer InvoicedanStatus = Posted.Dengan mode pengembang diaktifkan, klik Edit Domain, jika tersedia, kemudian New Rule.
Apply on domain menentukan kondisi yang harus dipenuhi record setelah peristiwa pemicu terjadi, misalnya faktur pelanggan harus memiliki
Payment Status = Partially Paid.Dengan mode pengembang diaktifkan, klik Edit Domain kemudian New Rule.
Tip
Jika mode pengembang tidak diaktifkan, untuk menentukan domain Apply on, klik Add condition. Lengkapi atau hapus kondisi yang disarankan. Untuk menambahkan kondisi, klik New Rule.
Ketika pemicu terjadi, misalnya status pembayaran faktur pelanggan yang diposting diperbarui, aturan otomasi memeriksa kondisi yang ditentukan dan hanya menjalankan aksi jika record cocok dengan kondisi tersebut.
Example
Jika aksi otomatis harus dijalankan ketika alamat email diatur untuk pertama kalinya (berbeda dengan memodifikasi alamat email) pada kontak yang sudah ada yang merupakan individu bukan perusahaan, gunakan Email is not set dan Is a Company is not set sebagai Before Update Domain dan Email is set sebagai domain Apply on.
Catatan
Before Update Domain tidak diperiksa saat pembuatan record.
Value Diupdate¶
Picu aksi otomatis ketika perubahan spesifik terjadi di database. Pemicu yang tersedia dalam kategori ini bergantung pada model dan didasarkan pada perubahan umum, seperti menambahkan tag tertentu (misalnya ke tugas) atau menetapkan nilai field (misalnya menetapkan field User).
Pilih pemicu, kemudian pilih nilai jika diperlukan.
Email Acara¶
Memicu tindakan otomatis saat menerima atau mengirim email.
Kondisi Timing¶
Picu aksi otomatis pada titik waktu relatif terhadap field tanggal atau terhadap pembuatan atau pembaruan record. Pemicu berikut tersedia:
Based on date field: Aksi dipicu pada periode waktu yang ditentukan sebelum atau sesudah tanggal field tanggal yang dipilih, misalnya 30 hari sebelum tanggal akhir kontrak.
Setelah pembuatan: Tindakan dipicu dalam periode waktu tertentu setelah record dibuat dan disimpan.
Setelah pembaruan terakhir: Tindakan dipicu dalam periode waktu tertentu setelah record yang ada diedit dan disimpan.
Untuk mengonfigurasi pemicu Timing Conditions, dengan mode pengembang diaktifkan:
Pilih Trigger yang sesuai dari kategori Timing Conditions. Jika Anda memilih pemicu Based on date field, pilih field tanggal yang relevan.
Konfigurasikan Delay untuk menentukan waktu tanggal eksekusi dari aksi. Untuk melakukannya, masukkan jumlah Minutes, Hours, Days, atau Months setelah aksi harus dipicu. Jika Anda memilih pemicu Based on date field, aksi dapat dipicu After atau Before field tanggal yang dipilih.
Secara opsional, tambahkan kondisi yang harus dipenuhi oleh record sebelum dan/atau sesudah aturan dipicu.
Klik Save manually.
Klik Scheduled action untuk membuka aksi terjadwal Automation Rules: check and execute.
Catatan
Aksi terjadwal ini memeriksa waktu tanggal eksekusi yang telah tercapai sejak eksekusi sebelumnya, dan menjalankan aksi terkait, jika relevan. Secara default, aksi terjadwal diatur untuk Execute Every 4 jam, yang umumnya cukup untuk penundaan seperti 3 bulan setelah tanggal pesanan atau 7 hari setelah pembaruan terakhir.
Jika ada aturan otomasi yang memiliki pemicu berbasis waktu dengan penundaan kurang dari setara 40 jam, misalnya 3 jam sebelum waktu tanggal mulai acara, frekuensi aksi terjadwal secara otomatis ditingkatkan, misalnya menjadi Execute Every 18 menit. Ini memungkinkan aksi dijalankan lebih dekat dengan waktu tanggal eksekusi yang dijadwalkan.
Klik Run manually di kiri atas.
Peringatan
Langkah ini sangat penting untuk mencegah aturan berjalan secara retroaktif pada record historis. Menjalankan aksi terjadwal secara manual menginisialisasi timestamp dari last run dalam aturan otomasi, yang merupakan elemen kunci dari logika eksekusi aturan.
Klik nama aturan otomasi di breadcrumbs untuk kembali ke pengaturan aturan otomasi.
Tambahkan aksi yang akan dijalankan kemudian, ketika semua aksi telah ditentukan, klik Save manually.
Aksi dijalankan pertama kali aksi terjadwal Automation Rules: check and execute berjalan setelah waktu tanggal eksekusi tercapai, dan ketika kondisi terpenuhi.
Logika eksekusi¶
Saat menggunakan pemicu berbasis waktu, suatu aksi hanya dijalankan ketika waktu tanggal eksekusi jatuh di antara eksekusi terakhir aksi terjadwal dan eksekusi saat ini (baik terjadwal atau dijalankan secara manual), yaitu:
last run --> tanggal dan waktu eksekusi --> current run
Catatan
Menjalankan scheduled action Automation Rules: check and execute secara manual tidak selalu mengakibatkan action dari suatu rule dieksekusi. Saat menguji automation rule dengan trigger berbasis waktu, pastikan urutan ini benar, kemudian periksa apakah action telah dieksekusi.
Example
Pada pagi hari tanggal 15 Oktober, Anda membuat automation rule yang memicu pengiriman email 30 hari sebelum Contract end date; kontrak berakhir pada pukul 11:59 pm di tanggal akhir kontrak mereka. Selama pembuatan rule, scheduled action Automation Rules: check and execute dijalankan secara manual pada pukul 11:00 am dan diatur untuk berjalan setiap empat jam setelahnya.
Automation rule baru ini akan berlaku untuk kontrak yang tanggal akhirnya minimal 30 hari setelah pembuatan rule, yaitu tanggal akhir 14 November atau lebih.
Untuk kontrak dengan tanggal akhir 14 November, tanggal waktu eksekusi action adalah pukul 11:59 pm pada tanggal 15 Oktober. Oleh karena itu, action akan dieksekusi pertama kali scheduled action Automation Rules: check and execute berjalan setelah tanggal dan waktu tersebut terlewati, yaitu:
last run dari scheduled action: pukul 11:00 pm pada tanggal 15 Oktober
tanggal waktu eksekusi: pukul 11:59 pm pada tanggal 15 Oktober
current run dari scheduled action: pukul 3:00 am pada tanggal 16 Oktober
Khusus¶
Memicu tindakan otomatis:
Saat dibuat: ketika record disimpan untuk pertama kalinya.
Saat dibuat dan diedit: ketika record disimpan untuk pertama kalinya dan setiap kali berikutnya.
Saat penghapusan: ketika record dihapus.
Saat perubahan UI: ketika nilai field diubah pada Tampilan Formulir, bahkan sebelum record disimpan.
Untuk pemicu Saat dibuat dan diedit dan Saat perubahan UI, Anda harus memilih field yang akan digunakan untuk memicu aturan otomasi di field Saat memperbarui.
Peringatan
Jika tidak ada field yang dipilih di field When updating, tindakan otomatis mungkin dijalankan beberapa kali per catatan.
Secara opsional, Anda juga dapat menentukan kondisi tambahan yang harus dipenuhi untuk memicu aturan automasi di field Apply on.
Catatan
Pemicu Saat perubahan UI hanya dapat digunakan dengan tindakan Jalankan Kode dan hanya berfungsi ketika modifikasi dilakukan secara manual. Tindakan tidak dijalankan jika field diubah melalui aturan otomasi lain.
Eksternal¶
Picu tindakan otomatis berdasarkan peristiwa tertentu di sistem atau aplikasi eksternal menggunakan webhook.
Setelah webhook dikonfigurasi di Odoo, di mana URL webhook dihasilkan dan record target ditentukan, webhook perlu diimplementasikan di sistem eksternal.
Peringatan
Sangat disarankan untuk berkonsultasi dengan developer, solution architect, atau peran teknis lainnya ketika memutuskan untuk menggunakan webhook dan selama proses implementasi. Jika tidak dikonfigurasi dengan benar, webhook dapat mengganggu database Odoo dan dapat memakan waktu untuk dikembalikan.
Catatan
Dimungkinkan juga untuk mengatur tindakan otomatis yang mengirim data ke webhook sistem eksternal ketika peristiwa terjadi di database Odoo Anda.
Lihat juga
Action¶
Setelah Anda menentukan pemicu aturan otomasi, klik Tambahkan tindakan di tab Tindakan Yang Harus Dilakukan untuk menentukan tindakan yang akan dijalankan.
Tip
Jika tidak ada nama eksplisit yang dimasukkan, nama tindakan akan dibuat secara otomatis berdasarkan tindakan yang Anda tentukan; nama dapat diperbarui kapan saja.
Anda dapat menentukan beberapa tindakan untuk aturan otomasi yang sama. Secara default, tindakan dijalankan sesuai urutan saat ditentukan.
Ini berarti, misalnya, jika Anda menentukan tindakan Perbarui record dan kemudian tindakan Kirim email di mana email mereferensikan field yang diperbarui, email menggunakan nilai yang diperbarui. Namun, jika tindakan Kirim email ditentukan sebelum tindakan Perbarui record, email menggunakan nilai yang ditetapkan sebelum record diperbarui.
Untuk mengubah urutan tindakan yang ditentukan, klik ikon (pegangan tarik) di samping tindakan dan seret ke posisi yang diinginkan.
Update Record¶
Tindakan ini digunakan untuk memperbarui salah satu field (terkait) record. Opsi berikut tersedia:
Perbarui: memperbarui field yang dipilih dengan nilai yang ditentukan.
Perbarui dengan AI: memperbarui field yang dipilih secara dinamis berdasarkan prompt AI yang diberikan. Opsi ini memerlukan aplikasi Odoo AI untuk diinstal.
Urutan: perbarui field yang dipilih dengan urutan yang ditentukan.
Compute: memperbarui kolom yang dipilih secara dinamis menggunakan kode Python.
Untuk mendefinisikan tindakan:
Dengan opsi Update, Update with AI, Sequence, atau Compute yang dipilih, pilih atau cari kolom yang akan diperbarui atau dihitung. Jika diperlukan, klik (panah kanan) di sebelah nama kolom untuk mengakses daftar kolom terkait.
Berikan informasi yang relevan berdasarkan opsi yang dipilih.
Perbarui¶
Pilih atau masukkan nilai yang diperbarui untuk kolom tersebut.
Jika kolom many2many sedang diperbarui, pilih apakah kolom harus diperbarui dengan Adding, Removing, atau Setting it to nilai yang dipilih atau dengan Clearing it.
Example
Jika Anda ingin tindakan otomatis menghapus tag dari catatan pelanggan, atur kolom Update ke Customer > Tags, pilih by Removing, lalu pilih tag yang akan dihapus.
Update dengan AI¶
Masukkan prompt untuk menginstruksikan Odoo AI cara memperbarui kolom. Ketik / untuk membuka AI prompt tools; gunakan Field Selector untuk memberi tahu Odoo AI kolom terkait mana yang harus diperiksa untuk konteks, dan Records Selector untuk memberikan nilai yang mungkin untuk kolom yang diperbarui.
Example
Jika Anda ingin aturan otomasi memperbarui kolom Assignees dari tugas yang baru dibuat berdasarkan keahlian karyawan, Anda dapat menulis prompt untuk menginstruksikan Odoo AI memeriksa kolom Display Name tugas untuk konteks, lalu menugaskan karyawan yang paling sesuai.
Urutan¶
Pilih urutan yang ada atau, untuk membuat urutan baru:
Klik Search more, lalu klik New.
Di jendela yang terbuka, masukkan Name urutan tersebut.
Di tab Sequence, konfigurasikan sequence:
Prefix: karakter yang ditambahkan sebelum nomor berikutnya dalam sequence.
Suffix: karakter yang ditambahkan setelah nomor berikutnya dalam sequence.
Sequence Size: menentukan jumlah digit di setiap nomor dalam sequence. Jika diperlukan, nol di depan ditambahkan sebelum nomor untuk mencapai ukuran sequence yang ditentukan, misalnya untuk ukuran sequence
5, nomor pertama dalam sequence adalah00001.Step: menentukan increment antara nomor dalam sequence.
Next Number: nomor berikutnya yang akan digunakan dalam sequence, tanpa nol di depan.
Tip
Gunakan placeholder dinamis seperti
%(year)satau%(month)ssebagai Prefix dan/atau Suffix untuk membuat sequence dengan elemen seperti tahun, bulan saat ini, dll. Placeholder yang mungkin ditampilkan di bagian bawah window.Untuk menggunakan sub-sequence, misalnya agar sequence dimulai ulang setiap tahun atau setiap bulan, aktifkan Use subsequences per date_range, kemudian Add a line untuk setiap rentang tanggal dan tunjukkan Next Number untuk rentang tersebut.
Klik Save.
Example
Jika Anda ingin tindakan otomatis membuat referensi pelanggan berurutan setiap kali pelanggan baru dibuat, atur kolom Sequence ke Reference, lalu, di dropdown, klik Search more. Klik New untuk membuat urutan baru.
Dalam contoh, setiap pelanggan baru menerima referensi berurutan dengan prefix #-REF-%(year)s-, di mana %(year)s adalah tahun saat ini termasuk abad, dan suffix /CL, misalnya #-REF-2025-00001/CL, #-REF-2025-00002/CL, dll.
Hitung¶
Masukkan kode yang akan digunakan untuk menghitung nilai kolom.
Example
Jika Anda ingin aturan otomasi menghitung kolom datetime kustom, Escalated on, ketika prioritas tugas diatur ke Very high (tiga bintang), Anda dapat mendefinisikan pemicu Priority is set to ke Very High dan mendefinisikan tindakan Update Record sebagai berikut:
Create Record dan Duplicate Record¶
Tindakan ini digunakan untuk membuat catatan baru atau duplikat pada model apa pun.
Untuk mendefinisikan tindakan:
Dengan Create Record atau Duplicate Record dipilih sebagai Type tindakan, pilih model yang diperlukan di kolom Record to Create; kolom ini berisi model saat ini secara default.
Tentukan Name untuk rekaman, atau, jika tindakan menduplikasi rekaman, tunjukkan rekaman yang diduplikasi di kolom Duplicate from.
Jika rekaman baru atau terduplikasi dibuat pada model lain, pilih kolom di kolom Link Field untuk menautkan rekaman yang memicu pembuatan rekaman baru atau terduplikasi.
Tip
Menu tarik-turun Link Field hanya berisi kolom one2many yang ada pada model saat ini yang ditautkan ke kolom many2one pada model target.
Example
Jika Anda ingin aturan otomasi menduplikasi proyek, misalnya template proyek dengan tugas yang telah ditentukan, ketika peluang diatur ke Won, tambahkan kolom many2one Related opportunity khusus pada model Project dan kolom one2many Related project khusus pada model Lead, lalu berikan detail berikut tentang rekaman yang diduplikasi:
Tip
Anda dapat membuat aturan otomasi lain dengan tindakan Update Record untuk memperbarui kolom rekaman baru atau terduplikasi jika diperlukan. Misalnya, Anda dapat menggunakan tindakan Create Record untuk membuat tugas proyek baru dan kemudian menetapkannya ke pengguna tertentu menggunakan tindakan Update Record.
Buat Kegiatan¶
Tindakan ini digunakan untuk menjadwalkan aktivitas baru yang ditautkan ke rekaman.
Untuk mendefinisikan tindakan:
Dengan Create Activity dipilih sebagai Type tindakan, pilih Activity Type yang sesuai dari menu tarik-turun.
Masukkan Title.
Tunjukkan kapan aktivitas harus diselesaikan dengan menentukan jumlah Days, Weeks, atau Months di kolom Due Date In.
Pilih User type:
Untuk selalu menetapkan aktivitas ke pengguna yang sama, pilih Specific User, lalu tambahkan pengguna di kolom Responsible.
Untuk menargetkan pengguna yang ditautkan ke rekaman secara dinamis, pilih Dynamic User (based on record). Jika diperlukan, ubah User Field dengan mengklik nama kolom placeholder lalu memilih atau mencari kolom pengguna dalam daftar yang muncul. Mengklik (panah kanan) di sebelah nama kolom memungkinkan Anda mengakses kolom terkait jika diperlukan.
Secara opsional, tambahkan Note untuk memberikan informasi lebih lanjut tentang aktivitas.
Example
Setelah proposal dikirim ke peluang dengan pendapatan yang diharapkan tinggi, Anda ingin membuat aktivitas bagi pemimpin tim penjual untuk menelepon klien potensial guna meningkatkan peluang menutup kesepakatan.
Untuk melakukannya, atur Activity Type ke Call dan User Type ke Dynamic User (based on record). Klik kolom placeholder dan pilih Sales Team, lalu klik (panah kanan) dan pilih Team Leader.
Send Email dan Send SMS¶
Tindakan ini digunakan untuk mengirim email atau pesan teks ke kontak yang ditautkan ke rekaman tertentu.
Untuk mendefinisikan tindakan:
Dengan Send Email atau Send SMS dipilih sebagai Type tindakan, pilih atau buat Email Template atau SMS Template.
Di kolom Send Email As atau Send SMS As, pilih cara Anda ingin mengirim email atau pesan teks.
Untuk email, pilih:
Email: untuk mengirim pesan sebagai email kepada penerima Email Template.
Message: untuk memposting pesan pada catatan dan memberi tahu pengikut catatan.
Note: untuk mengirim pesan sebagai catatan internal yang terlihat oleh pengguna internal di chatter.
Untuk pesan teks, pilih:
SMS (without note): untuk mengirim pesan sebagai pesan teks kepada penerima SMS template.
SMS (with note): untuk mengirim pesan sebagai pesan teks kepada penerima SMS template dan mempostingnya sebagai catatan internal di chatter.
Note only: untuk hanya memposting pesan sebagai catatan internal di chatter.
Kirim WhatsApp¶
Penting
Untuk mengotomatiskan pengiriman pesan WhatsApp, satu atau lebih template WhatsApp harus dibuat.
Tindakan ini digunakan untuk mengirim pesan WhatsApp ke kontak yang terhubung dengan record tertentu.
Dengan Send WhatsApp dipilih sebagai Type tindakan, pilih WhatsApp Template yang sesuai dari menu dropdown.
Tambah Pengikut dan Hapus Pengikut¶
Tindakan ini digunakan untuk menambahkan/menghapus kontak yang ada sebagai follower dari record.
Dengan Add Followers atau Remove Followers dipilih sebagai Type tindakan, sesuai kebutuhan, pilih Followers Type:
Untuk selalu menambahkan/menghapus kontak yang sama, pilih Specific Followers lalu pilih kontak dari menu dropdown. Beberapa kontak dapat ditambahkan/dihapus.
Untuk menambahkan/menghapus kontak yang terhubung dengan record secara dinamis, pilih Dynamic Followers. Jika diperlukan, ubah Followers Field dengan mengklik nama field placeholder lalu pilih atau cari field partner dalam daftar yang muncul. Mengklik (panah kanan) di sebelah nama field memungkinkan Anda mengakses field terkait jika diperlukan.
Example
Untuk memberi tahu pelanggan tentang kemajuan project, tindakan otomatis ini menambahkan pelanggan yang relevan sebagai follower ketika task project disetel ke In progress.
Jalankan Kode¶
Penting
Untuk aturan otomasi yang memerlukan eksekusi custom code, perhatikan bahwa pemeliharaan custom code tidak termasuk dalam paket harga Standard atau Custom dan dikenakan biaya tambahan.
Aksi ini digunakan untuk menjalankan kode Python. Anda dapat menulis kode Anda ke dalam tab Code menggunakan variabel berikut:
env: environment tempat aksi dipicumodel: model dari record tempat aksi dipicu; merupakan recordset kosongrecord: record tempat aksi dipicu; mungkin kosongrecords: recordset dari semua record tempat aksi dipicu dalam mode multi; ini mungkin dibiarkan kosongtime,datetime,dateutil,timezone: pustaka Python yang bergunafloat_compare: fungsi utilitas untuk membandingkan float berdasarkan presisi tertentulog(message, level='info'): fungsi logging untuk mencatat informasi debug dalam tabel ir.logging_logger.info(message): logger untuk mengeluarkan pesan dalam log serverUserError: kelas exception untuk memunculkan pesan peringatan yang menghadap userCommand: namespace perintah x2manyaction = {...}: untuk mengembalikan sebuah aksi
Tip
Variabel yang tersedia dijelaskan di tab Code dan Help.
Lihat juga
Kirim Notifikasi Webhook¶
Tindakan ini digunakan untuk mengirim permintaan API POST dengan nilai dari Fields yang dipilih ke URL webhook yang ditentukan dalam field URL.
Sample Payload menyediakan pratinjau data yang disertakan dalam permintaan menggunakan data record acak atau data dummy jika tidak ada record yang tersedia.
Catatan
Dimungkinkan juga untuk menyiapkan tindakan otomatis yang menggunakan webhook untuk menerima data dari sistem eksternal ketika event yang telah ditentukan terjadi di sistem tersebut.
Multi Action¶
Tindakan ini digunakan untuk memicu beberapa tindakan (yang terhubung dengan model saat ini) secara bersamaan.
Untuk mendefinisikan tindakan:
Dengan Multi Actions dipilih sebagai Type tindakan, klik Add an action.
Dalam pop-up Add: Child Actions:
pilih satu atau beberapa tindakan yang ada dan klik Select; atau
klik New, definisikan tindakan yang akan dieksekusi, lalu klik Save & Close atau, untuk membuat tindakan tambahan, Save & New .
Ulangi sebanyak yang diperlukan.