Materi 8: Mengatur Nilai untuk Pesanan "Processing"
Di langkah ini, Kita akan belajar cara memilih dan mengatur data secara spesifik sebelum mentransfernya ke Airtable menggunakan node Edit Fields (Set).
Setelah langkah ini, alur kerja Kita akan memiliki node baru di cabang "true" (benar):
Alur kerja Kita, sekarang dengan node 'Edit Fields' di tengah.
Permintaan Baru Nathan
Di akhir materi terakhir, Kita berhasil memfilter data. Tapi Nathan memberi Kita masukan baru:
Nathan 🙋:Node IF ini sangat berguna untuk memfilter data! Sekarang saya punya semua informasi tentang pesanan "processing". Sebenarnya saya hanya butuh employeeName dan orderID, tapi saya rasa tidak apa-apa menyimpan semua kolom lainnya.
Kita 🤵🏻:Sebenarnya, saya tidak merekomendasikan itu. Memasukkan lebih banyak data (5 kolom padahal butuh 2) akan memperlambat transfer data dan memakan lebih banyak sumber daya penyimpanan. Jika datanya ribuan, ini akan sangat memengaruhi kinerja.
Nathan 🙋:Oh, poin yang bagus. Bisakah Kita memilih hanya dua kolom itu saja dari pesanan "processing"?
Kita 🤵🏻:Tentu saja! Kita akan lakukan itu sekarang.
Node "Edit Fields (Set)"
Untuk tugas ini, kita akan menggunakan node Edit Fields (Set). Anggap saja node ini sebagai "penjaga gerbang" data. Node ini bisa memilih data mana yang boleh lewat, memodifikasi data, atau bahkan membuat data baru.
Langkah 1: Menyisipkan Node "Edit Fields"
Kita perlu menambahkan node ini di antara IF Node dan Airtable Node.
- Hapus koneksi (panah) antara IF (true) dan Airtable (klik ikon tempat sampah di panah).
- Seret (drag) node Airtable Kita sedikit ke kanan di kanvas agar ada ruang.
- Klik ikon + pada output "true" dari IF Node.
Kita akan menyisipkan node baru di jalur 'true'.
Sekarang cari node Edit Fields (Set) dan pilih.
Node 'Edit Fields (Set)' adalah yang kita butuhkan.
Langkah 2: Mengonfigurasi Node "Edit Fields"
Dengan jendela "Edit Fields" terbuka, konfigurasikan parameter berikut:
-
Mode: Pastikan diatur ke
Manual Mapping. -
Fields to Set: Di sinilah kita memilih data Kita.
Kita bisa menggunakan Expression Editor seperti
di Materi 7, tapi ayo kita coba cara
drag-and-drop:
- Di panel "INPUT" di sebelah kiri, cari orderID (dari node IF) dan seret (drag) ke kotak Name di sebelah kanan.
- Lakukan hal yang sama untuk employeeName.
Cara mudah memilih kolom: cukup seret dari kiri ke kanan.
- Include Other Input Fields: Ini adalah langkah paling penting. Matikan (geser ke false).
Jika tombol ini AKTIF, n8n akan mengambil orderID, employeeName, DAN SEMUA KOLOM LAINNYA (customerID, orderPrice, dll.).
Dengan MEMATIKANNYA, kita memberi tahu n8n: "Saya HANYA ingin kolom yang saya pilih secara manual di atas."
Pastikan tombol ini MATI untuk memfilter kolom Kita.
Langkah 3: Menguji Node "Edit Fields"
Klik Execute step. Anda akan melihat hasilnya. Perhatikan: Input memiliki 5 kolom, tetapi Output sekarang hanya memiliki 2 kolom!
Kita berhasil memangkas data Kita! Hanya 2 kolom yang lolos.
Tutup jendela node "Edit Fields".
Langkah 4: Menyiapkan Tabel Airtable Baru
Data kita sekarang hanya memiliki 2 kolom, tetapi tabel "orders" lama kita di Airtable memiliki 5 kolom. Ini bisa menyebabkan error.
Praktik terbaiknya adalah membuat tabel baru yang bersih khusus untuk data ini.
- Buka 'Base' "beginner course" Kita di Airtable.
- Klik tanda + untuk "Add or import" dan pilih "Add a blank table - Start from scratch".
-
Beri nama tabel baru ini
processingOrders. - Hapus kolom default ("Notes", "Assignee", "Status") dan data contoh.
-
Atur kolom-kolomnya agar persis cocok dengan
output n8n Kita:
-
Ganti nama "Name" menjadi
orderID(Tipe: Number). -
Tambahkan kolom baru
employeeName(Tipe: Single line text).
Mengatur kolom 'orderID' sebagai Primary Field dengan tipe Number.
Menambahkan kolom kedua Kita, 'employeeName'.
-
Ganti nama "Name" menjadi
Kita akan membuat tabel kosong baru, bukan mengimpor data.
Memberi nama tabel baru Kita agar sesuai dengan tujuannya.
Tabel tujuan baru kita yang bersih, siap menerima data yang sudah difilter.
Langkah 5: Menyambungkan & Mengonfigurasi Ulang Airtable
Kembali ke n8n. Sekarang kita selesaikan alur barunya.
- Hubungkan output node Edit Fields ke input node Airtable.
Menyambungkan node yang sudah difilter ke Airtable.
- Buka node Airtable.
- Ubah parameter Table: ganti dari "orders" menjadi "processingOrders". (Kita mungkin perlu mengklik ikon 'Refresh List').
Mengarahkan node Airtable untuk mengirim data ke tabel baru Kita.
Pastikan Mapping Column Mode masih diatur ke
Map automatically. Ini akan tetap berfungsi karena nama kolom Kita (orderID,
employeeName) sama persis.
Langkah 6: Uji Coba Terakhir
Saatnya menguji! Klik Execute step pada node Airtable.
Buka tabel "processingOrders" Anda di Airtable. Anda akan melihat 14 baris data baru telah masuk, dan hanya 2 kolom yang terisi!
Sukses! Data yang bersih dan efisien telah disimpan.
Alur kerja Kita di n8n sekarang akan terlihat seperti ini:
Alur kerja Kita untuk cabang 'true' (processing) sudah selesai!
Langkah Selanjutnya
Kita sudah menyelesaikan setengah dari permintaan Nathan! Tapi bagaimana dengan cabang "false" dari node IF?
Nathan 🙋:Anda telah mengotomatiskan setengah dari pekerjaan saya! Sekarang saya masih perlu menghitung pesanan "booked" untuk rekan-rekan saya. Bisakah kita mengotomatiskan itu juga?
Kita 🤵🏻:Ya! Di langkah selanjutnya, saya akan menggunakan sedikit kode JavaScript di sebuah node untuk menghitung pesanan "booked" tersebut.