Setiap action item hasil rapat menjadi task Asana di project yang Anda pilih, lengkap dengan konteks rapat asalnya.
#Kapan resep ini masuk akal
Sama seperti versi Trello, resep ini paling bernilai untuk tim yang action item-nya sering hilang setelah rapat berakhir. Perbedaannya, Asana punya struktur project dan section yang lebih kaku — jadi pikirkan lebih dulu ke project mana task ini mendarat. Task yang menumpuk di satu project tanpa pemilik akan diabaikan sama saja seperti kalau tidak pernah dibuat.
#Yang dihasilkan
Satu task Asana per action item.
#Yang Anda butuhkan
- n8n self-hosted dengan community node
n8n-nodes-sehariterpasang notulen:readwebhooks:write- Personal access token Asana
Kalau belum memasang node-nya, ikuti panduan n8n lebih dulu — pemasangannya satu langkah dari menu Settings.
#Alur workflow
- Se-Hari Trigger (
Se-Hari: seHariTrigger) - Ambil Notulen Lengkap (
Se-Hari: seHari) - Pecah Action Item (
code) - Buat Task Asana (
noOp)
#Cara memakainya
- Salin JSON di bawah
- Di n8n: Workflows → Import from Clipboard, lalu tempel
- Pilih kredensial Se-Hari API pada setiap node Se-Hari
- Sesuaikan node tujuan (lihat catatan di bawah)
- Aktifkan workflow
Kalau workflow ini memakai node trigger, endpoint webhook-nya didaftarkan otomatis saat diaktifkan dan dihapus saat dinonaktifkan. Tidak ada URL yang perlu disalin manual.
#Yang perlu disesuaikan
Sertakan judul rapat di deskripsi task. Action item yang berdiri sendiri tanpa konteks — "kirim proposal ke klien" — sering tidak cukup untuk dikerjakan berminggu-minggu kemudian oleh orang yang tidak hadir di rapat itu.
#Sebelum dijalankan di produksi
Impor dulu ke workflow terpisah dan jalankan sekali secara manual. n8n menyimpan hasil setiap node pada eksekusi terakhir, jadi Anda bisa melihat bentuk data yang sebenarnya keluar dari node Se-Hari sebelum menulis ekspresi apa pun di node berikutnya. Menebak bentuk data lalu memperbaikinya lewat percobaan berulang jauh lebih lambat, dan pada resep yang memakai kredit, percobaan berulang itu ada harganya.
Perhatikan juga penagihan kredit resep ini. Operasi yang membuat meeting memotong kredit saat itu juga, sedangkan operasi notulen menagih setelah pemrosesan selesai sesuai durasi asli rekaman. Kalau workflow Anda membaca saldo tepat setelah mengantre notulen, angkanya belum berubah — itu bukan bug. Pasang batas kredit harian pada API key yang dipakai workflow ini supaya kesalahan sekali tidak berubah menjadi tagihan besar.
#Kalau tidak berjalan seperti seharusnya
Field due_date_mentioned hanya terisi kalau tenggat benar-benar disebutkan dalam rapat, dan bentuknya teks bebas seperti "minggu depan". Jangan memetakannya langsung ke due date Asana tanpa mengurainya lebih dulu; kalau ragu, taruh saja di deskripsi.
Untuk masalah yang lebih umum, tab Webhooks di dashboard developer memuat riwayat pengiriman lengkap dengan kode respons dari instance n8n Anda — tempat pertama yang harus dilihat ketika trigger tidak pernah berjalan.
#Variasi yang sering diminta
- Petakan rapat ke project berdasarkan kata kunci judul, dengan node Switch sebelum node Asana.
- Tambahkan tag khusus supaya task hasil otomasi bisa disaring dan ditinjau berkala.
- Isi deskripsi task dengan kutipan konteks dari ringkasan, bukan hanya judul action item-nya.
#Workflow JSON
{
"name": "Action Items ke Asana",
"nodes": [
{
"parameters": {
"content": "## Action Items ke Asana\n\nSetiap action item hasil rapat jadi satu tugas.\n\nNode \"Pecah Action Item\" mengubah satu notulen menjadi banyak item n8n — tanpa itu, node tujuan hanya berjalan sekali per rapat dan hanya tugas pertama yang terbuat.",
"width": 460,
"height": 260
},
"id": "note-1",
"name": "Catatan",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-40,
-40
]
},
{
"parameters": {
"events": [
"note.completed"
]
},
"id": "trg-notecompleted",
"name": "Se-Hari Trigger",
"type": "n8n-nodes-sehari.seHariTrigger",
"typeVersion": 1,
"position": [
0,
300
],
"credentials": {
"seHariApi": {
"id": "__SEHARI_CRED__",
"name": "Se-Hari API"
}
},
"webhookId": "__AUTO__"
},
{
"parameters": {
"resource": "notulen",
"operation": "get",
"noteId": "={{ $json.note.id }}",
"include": [
"action_items"
]
},
"id": "sh-AmbilNotulenLengkap",
"name": "Ambil Notulen Lengkap",
"type": "n8n-nodes-sehari.seHari",
"typeVersion": 1,
"position": [
220,
300
],
"credentials": {
"seHariApi": {
"id": "__SEHARI_CRED__",
"name": "Se-Hari API"
}
}
},
{
"parameters": {
"jsCode": "// Satu item n8n per action item, supaya node berikutnya berjalan sekali\n// per tugas — bukan sekali per rapat.\nreturn (($input.first().json.note.action_items) || []).map((item) => ({\n json: { ...item, rapat: $input.first().json.note.title }\n}));"
},
"id": "code-PecahActionItem",
"name": "Pecah Action Item",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
440,
300
]
},
{
"parameters": {},
"id": "dst-BuatTaskAsana",
"name": "Buat Task Asana",
"type": "n8n-nodes-base.noOp",
"typeVersion": 1,
"position": [
660,
300
],
"notes": "Ganti dengan node Asana → Create Task. Name: {{ $json.note.title }}",
"notesInFlow": true
}
],
"connections": {
"Se-Hari Trigger": {
"main": [
[
{
"node": "Ambil Notulen Lengkap",
"type": "main",
"index": 0
}
]
]
},
"Ambil Notulen Lengkap": {
"main": [
[
{
"node": "Pecah Action Item",
"type": "main",
"index": 0
}
]
]
},
"Pecah Action Item": {
"main": [
[
{
"node": "Buat Task Asana",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": false
},
"tags": [
{
"name": "Se-Hari"
}
]
}#Resep lain
- Semua resep n8n
- Panduan n8n — pemasangan node dan kredensial
- Webhook — cara kerja trigger di baliknya