n8n adalah alat otomasi visual yang bisa di-hosting sendiri. Se-Hari menyediakan community node, sehingga Anda bisa merangkai "notulen selesai → kirim ke Slack" dengan menyeret dua kotak.
#Pasang
Node ini belum terbit di npm. Langkah di bawah adalah bentuk finalnya, tapi pemasangannya belum bisa dilakukan sampai paketnya dipublikasikan. Sementara itu, seluruh API tetap bisa dipakai dari n8n lewat node HTTP Request bawaan — endpoint, header, dan contoh body-nya ada di referensi API dan mulai cepat.
Di n8n: Settings → Community Nodes → Install, lalu masukkan:
n8n-nodes-sehariCommunity node hanya tersedia di n8n self-hosted. Untuk n8n Cloud, pakai node HTTP Request — setiap halaman resep menyertakan contohnya.
#Kredensial
Buat kredensial Se-Hari API, tempel API key, lalu klik Test. Kalau berhasil, nama dan saldo kredit Anda muncul.
Tombol Test memanggil GET /me, yang tidak menuntut scope apa pun. Artinya ia menguji kredensialnya, bukan izinnya — key dengan scope paling sempit sekalipun akan lolos. Kalau Test berhasil tapi node tetap gagal dengan 403, yang kurang adalah scope-nya.
Scope yang dibutuhkan per pemakaian:
| Yang Anda lakukan | Scope |
|---|---|
| Membaca notulen dan transkrip | notulen:read |
| Membuat atau mengunggah notulen | notulen:write |
| Membuat atau membatalkan meeting | meetings:write |
| Rekaman dan tautan unduh | recordings:read |
| Saldo dan estimasi kredit | credits:read |
| Node Se-Hari Trigger | webhooks:write |
#Node Se-Hari
Empat resource, dua puluh operasi:
- Notulen — Ambil, Ambil Transkrip, Bagikan, Buat dari Rekaman, Coba Lagi, Daftar, Hentikan Berbagi, Ubah Status Action Item, Unggah Rekaman
- Meeting — Ambil, Batalkan, Buat, Daftar, Daftar Rekaman Meeting
- Rekaman — Daftar, Link Unduh
- Kredit — Cek Saldo, Estimasi Biaya, Riwayat Pemakaian
Operasi daftar punya toggle Ambil Semua yang menelusuri paginasi cursor sampai habis, sehingga Anda tidak perlu merangkai perulangan sendiri.
Daftar Rekaman punya filter Hanya Yang Belum Punya Notulen. Filter itulah yang membuat resep "proses semua rekaman lama" bisa dirakit tanpa menulis kondisi apa pun.
#Retry aman secara bawaan
Operasi yang membuat sesuatu mengirim Idempotency-Key yang dibangun dari {workflow}-{execution}-{item}. Kalau n8n mengulang eksekusi yang gagal di tengah jalan — karena timeout jaringan, misalnya — Se-Hari mengembalikan hasil yang sama alih-alih membuat pekerjaan kedua.
Ini penting justru pada operasi yang menyentuh uang. Tanpanya, satu timeout pada Buat Meeting bisa menghasilkan dua meeting yang kreditnya terpotong dua kali.
#Node Se-Hari Trigger
Node trigger mendaftarkan webhook-nya sendiri saat workflow diaktifkan, dan menghapusnya saat dinonaktifkan. Tidak ada langkah "salin URL ini, tempel di sana" — langkah yang paling sering gagal karena salah salin atau lupa diaktifkan.
Setiap kiriman diverifikasi HMAC-SHA256 dengan jendela kesegaran 5 menit. Yang tidak lolos dijawab 401 dan workflow tidak dijalankan.
Output node adalah isi data dari payload, tanpa amplop event-nya. Karena payload membungkus entitas di bawah namanya sendiri, ekspresi setelah trigger berbentuk {{ $json.note.summary }} — bukan {{ $json.summary }}, dan bukan pula {{ $json.data.note.summary }}. Pada note.failed, {{ $json.retryable }} sejajar dengan note.
Satu tingkat itu hilang begitu Anda melewatkan datanya ke operasi Se-Hari lain: respons API objek tunggal tidak dibungkus, jadi setelah node Ambil Notulen ekspresinya kembali menjadi {{ $json.summary }}. Metadata event tersedia di {{ $json._event }} kalau Anda perlu bercabang berdasarkan jenisnya.
Instance n8n Anda harus bisa dijangkau dari internet — Se-Hari yang memanggilnya, bukan sebaliknya. URL localhost ditolak saat aktivasi, dengan pesan yang menjelaskan sebabnya alih-alih membiarkan workflow aktif tapi tidak pernah menerima apa pun.
#Contoh: notulen ke Slack
Se-Hari Trigger (note.completed)
→ Se-Hari (Notulen: Ambil Notulen, include summary + action_items)
→ Slack (Send Message)Isi pesan Slack:
*{{ $json.title }}*
{{ $json.summary }}
Action item:
{{ $json.action_items.map(i => "• " + i.title).join("\n") }}Tiga node, dan Anda tidak pernah lagi perlu mengetik ringkasan rapat.
#Resep siap pakai
15 workflow siap impor tersedia di galeri resep, termasuk:
- Notulen otomatis ke Slack, Notion, Google Sheets, Telegram
- Action item jadi kartu Trello atau task Asana
- Meeting Zoom otomatis dari event Google Calendar
- Sapu semua rekaman lama yang belum punya notulen
- Arsipkan rekaman ke Google Drive sebelum retensi 30 hari habis
- Tangani notulen gagal dengan percabangan
retryable
#Kalau tidak berfungsi
Test kredensial gagal 401 — key salah salin atau sudah dicabut. Panjangnya selalu 51 karakter.
Node berjalan tapi hasilnya kosong — hampir selalu filter terlalu sempit. Matikan semua filter, lalu tambahkan satu per satu.
Trigger tidak pernah berjalan — pastikan workflow aktif, bukan hanya tersimpan, dan URL n8n Anda publik. Riwayat pengiriman beserta kode responsnya ada di tab Webhooks pada dashboard developer.
#Selanjutnya
- Galeri resep — workflow siap impor
- Webhook — cara kerja di baliknya
- Idempotency — kenapa retry n8n aman