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):

Diagram alur kerja: IF Node bercabang ke Edit Fields, lalu ke Airtable.

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.

  1. Hapus koneksi (panah) antara IF (true) dan Airtable (klik ikon tempat sampah di panah).
  2. Seret (drag) node Airtable Kita sedikit ke kanan di kanvas agar ada ruang.
  3. Klik ikon + pada output "true" dari IF Node.
Menambahkan node baru dari output 'true' IF Node.

Kita akan menyisipkan node baru di jalur 'true'.

Sekarang cari node Edit Fields (Set) dan pilih.

Mencari node 'Edit Fields (Set)' di panel node.

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:
    1. Di panel "INPUT" di sebelah kiri, cari orderID (dari node IF) dan seret (drag) ke kotak Name di sebelah kanan.
    2. Lakukan hal yang sama untuk employeeName.
Men-drag 'orderID' dan 'employeeName' dari panel Input ke 'Fields to Set'.

Cara mudah memilih kolom: cukup seret dari kiri ke kanan.

  • Include Other Input Fields: Ini adalah langkah paling penting. Matikan (geser ke false).
Sangat Penting: "Include Other Input Fields"
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."
Toggle 'Include Other Input Fields' diatur ke posisi false (mati).

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!

Output dari node Edit Fields, hanya menampilkan 2 kolom: orderID dan employeeName.

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.

  1. Buka 'Base' "beginner course" Kita di Airtable.
  2. Klik tanda + untuk "Add or import" dan pilih "Add a blank table - Start from scratch".
  3. Memilih 'Start from scratch' untuk membuat tabel baru di Airtable.

    Kita akan membuat tabel kosong baru, bukan mengimpor data.

  4. Beri nama tabel baru ini processingOrders.
  5. Memberi nama tabel baru 'processingOrders' di Airtable.

    Memberi nama tabel baru Kita agar sesuai dengan tujuannya.

  6. Hapus kolom default ("Notes", "Assignee", "Status") dan data contoh.
  7. Atur kolom-kolomnya agar persis cocok dengan output n8n Kita:
    • Ganti nama "Name" menjadi orderID (Tipe: Number).
    • Mengonfigurasi kolom utama 'orderID' sebagai Tipe Number.

      Mengatur kolom 'orderID' sebagai Primary Field dengan tipe Number.

    • Tambahkan kolom baru employeeName (Tipe: Single line text).
    • Membuat kolom baru 'employeeName' sebagai Tipe Single line text.

      Menambahkan kolom kedua Kita, 'employeeName'.

Tabel 'processingOrders' baru di Airtable dengan 2 kolom: orderID dan employeeName.

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.

  1. Hubungkan output node Edit Fields ke input node Airtable.
Menghubungkan output node 'Edit Fields' ke input node 'Airtable'.

Menyambungkan node yang sudah difilter ke Airtable.

  1. Buka node Airtable.
  2. Ubah parameter Table: ganti dari "orders" menjadi "processingOrders". (Kita mungkin perlu mengklik ikon 'Refresh List').
Konfigurasi node Airtable, parameter 'Table' diubah ke 'processingOrders'.

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!

Tabel 'processingOrders' di Airtable terisi dengan 14 baris data.

Sukses! Data yang bersih dan efisien telah disimpan.

Alur kerja Kita di n8n sekarang akan terlihat seperti ini:

Alur kerja n8n yang lengkap: HTTP -> IF -> (true) -> Edit Fields -> Airtable.

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.