Klasifikasi Komentar Facebook Secara Otomatis dengan n8n, AI dan Metabase

Anita Nur Hidayati

2025-06-13 14:06:38

blog cover
Share on :

Saat melakukan analisis manual suatu dataset akan membutuhkan waktu berjam-jam sehingga tidak efisien. Dalam artikel ini, kita akan membahas bagaimana membangun workflow yang secara otomatis dapat mengambil komentar dari halaman media sosial facebook, mengklasifikasikannya berdasarkan kategori dan sentimen, dan menyajikannya ke dalam dashboard yang mudah dianalisis dengan n8n, OpenAI dan metabase.

Mengambil Komentar dari Facebook Graph API

Mendapatkan token facebook graph API

  1. Buat aplikasi facebook dahulu di https://developers.facebook.com/ 
  2. Generate akses token facebook di https://developers.facebook.com/tools/explorer/
  3. Di n8n, tambahkan access token di credential Facebook Graph API 

Membuat workflow di n8n

Di n8n, create workflow baru dan tambahkan dengan manual trigger untuk memulai workflow

Tambahkan node 2 Facebook Graph API. 1 untuk get page ID dengan node me dan untuk get Post ID sesuai dengan page ID dengan node sebagai berikut

Setelah mendapatkan ID postingan, selanjutnya kita baru bisa mendapatkan komentar setiap postingan. Buat node facebook graph API dan tambahkan node expression ini. $json.postId didapat dari response Get Post ID, silakan sesuaikan.

{{ $json.postId }}/comments?fields=from,like_count,likes,message,created_time,id,comments{from,created_time,id,message}&limit=20

Jika dibutuhkan format ulang response dari response agar lebih rapi

Klasifikasi Komentar

Escape Character

Terkadang komentar mengandung karakter yang menyebabkan error ketika eksekusi secara batch sehingga perlu tambahan formatting

function escapeJSONString(str) {
return str
.replace(/\\/g, “\\\\”)
.replace(/”/g, ‘\\”’)
.replace(/\n/g, “\\n”)
.replace(/\r/g, “\\r”)
.replace(/\t/g, “\\t”);
}
let safeMessage = escapeJSONString(rawMessage);
return {
json: {
safeMessage: safeMessage
}
};
});

Selanjutnya kita akan menggunakan node http request untuk mendapatkan hasil klasifikasi sentimen dengan OpenAI. Sebelum proses ini dilakukan pastikan sudah punya API key OpenAInya

Ini contoh prompting ke OpenAI yang diinput di Body JSON.

{
"model": "gpt-4.1-mini-2025-04-14",
"messages": [
{
"role": "system",
"content": "You classify the sentiment of a message into exactly one word: Neutral or Negative. Respond only with one word: 'Neutral' if the message is a question, statement, or neutral information. Respond 'Negative' if it expresses complaint, dissatisfaction, or negative emotion."
},
{
"role": "user",
"content": "{{ $json["safeMessage"] }}"
}
],
"temperature": 0,
"max_tokens": 200
}

Tambahkan node Code untuk reformat response dari OpenAI agar hasilnya hanya data sentimen saja.

const inputItems = $items();
return inputItems.map(item => {
const sentiment = item.json.choices?.[0]?.message?.content || null;
return {
json: {
sentiment: sentiment
}
};
});

Selain menggunakan htpp request, kita juga dapat menggunakan AI nodes Sentiment Analysis dan Text Classifier untuk mendapatkan hasil klasifikasi dari AI

Lakukan hal yang sama untuk mendapatkan hasil klasifikasi komentar, lalu merge kedua node tersebut agar menjadi 1 menggunakan node Merge. Pilih mode Combine by Position dengan 2 input.

Streaming Data ke Database

Data yang telah diklasifikasikan siap untuk disimpan dan divisualisasikan

Merge data hasil klasifikasi dengan metadata komentar dari facebook menggunakan node Merge dengan mode Combine by Position.

Simpan data hasil klasifikasi komentar ke database. Berikut contoh insert data ke table facebook di db postgres. Mapping data dapat dilakukan secara otomatis jika data response sama persis dengan nama kolom di table databasenya, jika tidak lakukan mapping manual

Lakukan test workflow untuk memastikan proses dapat berjalan

Visualisasi dan Analisis

Setelah data tersedia di database, kita bisa membuat dashboard di Metabase dan melakukan analisis datanya.

Penutup

Mengotomatisasi klasifikasi komentar Facebook dengan n8n, OpenAI, dan Metabase memungkinkan kita mendapatkan wawasan yang berharga dengan lebih efisien, menghemat waktu, dan memperbaiki pengambilan keputusan. Mulailah mengimplementasikan solusi ini untuk meningkatkan analisis media sosial Anda.