Pagi hari. Kamu bangun, genggam HP, dan langsung tenggelam. Email tiga belas notif. Slack meledak. Twitter/X ngeviral topic baru. Reddit pake update. LinkedIn pake thread motivasi. Kamu buka browser, cek dashboard marketing, cek harga saham, cek kalender hari ini — dan jam 9.30 WIB baru sadar bahwa kamu sudah menghabiskan satu setengah jam cuma buat nge-follow informasi, bukan buat ngelakuin apa-apa.
Ini bukan masalah waktu kosong. Ini masalah filter. Otak manusia tidak dirancang untuk menelan semua arus informasi yang datang sebelum matahari cukup tinggi untuk dianggap sah secara hukum. Dan itulah kenapa morning brief yang benar-benar berguna itu penting — bukan sekadar kumpulan berita yang diringkas pakai AI, tapi saringan intelijen harian yang dirancang khusus buat konteks kerjamu.
Hermes adalah tool agentic yang bisa jadi tulang punggung morning brief itu. Bukan karena Hermes paling canggih di pasar. Tapi karena Hermes flexible enough untuk diarahkan ke sumber mana pun, diformat sesuai kebutuhanmu, dan dikirim ke channel mana pun — semuanya lewat konfigurasi yang bisa kamu baca dan ubah sendiri, bukan black box SaaS yang harganya naik tiap kuartal.
Artikel ini membongkar setup morning brief berbasis Hermes secara konkret: komponen apa yang masuk, bagaimana cron job dikonfigurasi, sumber mana yang worth included, format output yang benar, dan trade-off deliver ke Slack versus Telegram. Gua juga jelaskan cara mengiterasi brief ini seiring waktu — bukan sekali set lalu lupa, tapi sistem yang makin akurat karena kamu perhatikan apa yang actually kamu baca setiap pagi.
Komponen Morning Brief yang Benar-Benar Berguna
Banyak orang building morning brief yang isinya sama: ringkasan berita teknologi, update pasar crypto, dan beberapa headline menarik dari Hacker News. Ini bukan brief. Ini feed RSS yang di-summarize pakai LLM lalu dikirim ke grup. Hasilnya? Kamu baca, lalu merasa productive, lalu tidak ada keputusan yang berubah.
Komponen morning brief yang benar harus menjawab pertanyaan ini sebelum jam 9 WIB: Hari ini apa yang perlu gua tahu supaya kerjaan gua jalan? Bukan apa yang lagi happening di dunia, tapi apa yang affecting workflow gua hari ini.
Pertama, sumber berita relevan bidang. Kalau kamu di fintech, sumbernya bukan TechCrunch utama tapi laporan regulator OJK, notulensi rapat dewan direksi perusahaan portfolio, atau thread analyst di X yang fokus pasar uang Indonesia. Kalau kamu di e-commerce, sumbernya trend konsumen, update marketplace policy, dan pergerakan logistik. Pilih 3-5 sumber, bukan 20.
Kedua, kalender + task priority hari ini. Brief yang tidak memberitahumu bahwa jam 11 ada meeting penting atau deadline jam 5 sore sudah selesai jadi formalitas. Integrasi Google Calendar atau Notion task list ke Hermes memungkinkan dia mengekstrak event hari ini, lalu menggabungkannya dengan daftar task yang sudah di-prioritize. Outputnya sederhana: tiga task utama hari ini, satu meeting kritis, dan satu dependency yang menunggu action dari pihak lain.
Ketiga, market signal — tapi bukan sekadar harga BTC atau IHSG. Market signal yang berguna itu perubahan policy, movement kompetitor, alert harga bahan baku, atau sinyal dari database internal yang kamu tracking. Kalau kamu menjalankan sebuah produk digital, market signal bisa berupa number of active users hari ini dibanding kemarin, atau churn rate mingguan yang melonjak. Ini bagian yang paling sering dilewatkan karena membutuhkan setup data pipeline sendiri — tapi justru ini yang membedakan brief biasa dari brief yang mengubah keputusan.
Keempat, ringkasan komunikasi yang belum dibalas. Slack DM yang menunggu reply, email dari stakeholder yang belum kamu baca, atau issue di Jira yang assignee-nya sudah berubah tapi kamu tidak di-CC. Hermes bisa polling semua channel ini dan menyajikannya sebagai section terpisah dengan prioritas berdasarkan urgency, bukan berdasarkan waktu terakhir kirim.
Kelima, satu insight atau opportunity — bukan headline, tapi interpretasi. Misalnya: "Kompetitor A baru launch fitur X yang address pain point yang sama dengan roadmap quarter ini. Worth untuk dive deeper." Atau: "Regulator baru keluarkan draft regulasi Y yang bisa affect biz model kita kalau finalized." Hermes bisa digenerate insight ini dengan memberi konteks tambahan pada headline biasa, bukan sekadar merangkum ulang.
Lima komponen ini membentuk morning brief yang tidak terasa seperti productive theater — tapi seperti briefing room mini yang selalu ada sebelum kamu mulai kerja.
Setup Cron Job: Schedule, Sumber, Format, Deliver ke Slack
Langkah pertama membangun morning brief dengan Hermes adalah memahami flow-nya secara utuh sebelum menyentuh konfigurasi. Sistem ini bekerja dalam empat stage berurutan: trigger → fetch → process → deliver.
Stage pertama adalah trigger. Hermes menggunakan cron job untuk menentukan kapan pipeline berjalan. Untuk morning brief, jadwal idealnya adalah antara 06.30-07.30 WIB — cukup pagi untuk menjadi relevan sepanjang hari kerja, tapi cukup awal supaya kamu punya waktu memproses informasi sebelum meeting pertama. Konfigurasi cron untuk jadwal ini sangat sederhana:
0 7 * * * hermes run morning-brief
Ini menjalankan job morning-brief setiap hari jam 07.00 tanpa exception. Kalau kamu mau Senin-Jumat saja (weekend brief kadang tidak perlu), tambahkan range hari:
0 7 * * 1-5 hermes run morning-brief
Stage kedua adalah fetch. Di sinilah Hermes mengambil data dari berbagai sumber. Setiap sumber dikonfigurasi dalam file YAML terpisah di folder sources/. Contoh konfigurasi untuk sumber berita teknologi:
name: tech-news-id
type: rss
url: https://blog.detik.com/rss
transform: summarize
llm_model: gpt-4o-mini
top_n: 5
language: id
Setiap sumber punya field wajib: name, type, url, transform, llm_model, top_n, dan language. Field transform menentukan bagaimana data diproses — apakah di-summarize langsung oleh LLM, difilter berdasarkan keyword, atau di-parse menjadi struktur JSON. Field top_n mengatur berapa banyak item yang diambil dari setiap sumber.
Untuk sumber kalender, konfigurasinya berbeda karena menggunakan API, bukan RSS:
name: calendar-today
type: api
provider: google
api_key: ${GOOGLE_API_KEY}
scope: calendar.readonly
date_filter: today
transform: extract_events
llm_model: gpt-4o-mini
top_n: 3
Kunci di sini adalah environment variable ${GOOGLE_API_KEY} — Hermes mendukung variable substitution, jadi jangan pernah hardcode API key di file konfigurasi. Simpan di .env file dan load saat runtime.
Stage ketiga adalah process. Setelah semua sumber di-fetch, Hermes menggabungkan hasilnya dan menerapkan transformasi lanjutan. Ini dilakukan lewat pipeline YAML di file pipelines/morning-brief.yml:
name: morning-brief
trigger:
cron: "0 7 * * 1-5"
sources:
- tech-news-id
- market-signal-id
- calendar-today
- slack-unread
pipeline:
- step: aggregate
action: merge_sources
- step: summarize
action: llm_summarize
model: gpt-4o-mini
system_prompt: "Kamu adalah assistant intelijen harian. Ringkas informasi berikut menjadi brief yang actionable untuk profesional Indonesia. Gunakan Bahasa Indonesia. Tidak perlu intro atau closing — langsung ke poin."
- step: prioritize
action: rank_by_relevance
- step: format
action: slack_block_kit
output:
channel: "#briefing-pagi"
provider: slack
schedule: immediate
Pipeline ini punya empat step berurutan: aggregate (menggabungkan semua sumber), summarize (meringkas pakai LLM), prioritize (mengurutkan berdasarkan relevansi), dan format (mengubah ke format Slack Block Kit). Field system_prompt sangat krusial — ini menentukan voice dan struktur output brief kamu. Prompt yang buruk menghasilkan brief yang generik dan tidak actionable.
Stage keempat adalah deliver. Hermes mengirim hasil pipeline ke channel Slack yang sudah ditentukan. Tapi sebelum kirim, ada optional step untuk dry-run — menyimpan output ke file log atau mengirim ke channel staging dulu supaya kamu bisa review sebelum versi production:
output:
channel: "#briefing-staging"
provider: slack
schedule: immediate
dry_run: true
Dengan dry run aktif, brief tetap di-generate setiap pagi tapi dikirim ke channel internal dulu. Kamu bisa review format, akurasi, dan relevansi selama beberapa minggu sebelum switch ke channel utama.
Integrasi: Berita, Kalender, Task Priority, Market Signal
Membangun morning brief yang komprehensif berarti mengintegrasikan setidaknya empat kategori sumber data. Masing-masing membutuhkan pendekatan konfigurasi yang berbeda di Hermes.
Untuk berita dan artikel, Hermes mendukung RSS/Atom feed, API scraping, dan webhook. Sumber RSS paling stabil dan paling mudah dikonfigurasi. Contoh sumber yang useful untuk konteks Indonesia:
- Detik RSS (teknologi dan bisnis)
- Katadata RSS
- Tech in Asia RSS
- Reuters Business RSS
- Medium publications terkait industri kamu
Untuk scraping API publik seperti Twitter/X, Hermes menyediakan built-in connector untuk beberapa platform. Tapi perlu diingat bahwa API Twitter sekarang berbayar dan rate-limited. Alternatifnya adalah menggunakan RSS gateway seperti nitter.net atau Follow.it yang mem-parse timeline publik menjadi feed RSS.
Untuk kalender dan task, integrasi paling umum adalah Google Calendar API dan Notion API. Google Calendar cocok kalau seluruh schedule tim sudah di-platform tersebut. Notion cocok kalau task management sudah terpusat di workspace Notion. Keduanya memerlukan OAuth atau API key.
Konfigurasi Google Calendar integration:
name: calendar-today
type: api
provider: google
service_account_key: ${GCP_SA_KEY}
calendar_ids:
- primary
- [email protected]
date_filter: today
fields:
- summary
- start_time
- end_time
- location
- description
transform: extract_events
priority_fields:
- has_video_conference
- participants_count
llm_model: gpt-4o-mini
top_n: 5
Untuk task priority, Notion API configuration:
name: notion-tasks
type: api
provider: notion
api_key: ${NOTION_API_KEY}
database_id: ${NOTION_DATABASE_ID}
filter:
property: Due Date
date:
on_or_before: today
property: Status
status:
does_not_equal: Done
sort:
property: Priority
direction: descending
transform: extract_tasks
llm_model: gpt-4o-mini
top_n: 5
Untuk market signal, Hermes bisa diintegrasikan dengan API finansial seperti Alpha Vantage, Yahoo Finance, atau custom endpoint internal. Kalau timmu sudah punya dashboard internal, paling efisien adalah membuat webhook yang menerima data dan mem-push ke Hermes setiap pagi.
Contoh konfigurasi market signal dari internal API:
name: internal-market-alerts
type: api
provider: custom
url: https://api.internal.my.id/market/alerts/today
headers:
Authorization: Bearer ${INTERNAL_API_TOKEN}
Content-Type: application/json
method: GET
transform: parse_json
llm_model: gpt-4o-mini
top_n: 3
Masing-masing sumber ini kemudian digabungkan di pipeline utama dengan aggregate step, lalu di-summarize bersama dalam satu LLM call supaya brief-nya koheren, bukan kumpulan potongan informasi yang terpisah-pisah.
Deliver ke Slack vs Telegram: Trade-off yang Perlu Dipertimbangkan
Hermes mendukung banyak channel deliver, tapi dua yang paling umum untuk morning brief adalah Slack dan Telegram. Memilih antara keduanya bukan soal platform mana yang "lebih bagus" — tapi soal konteks tim kamu.
Slack lebih cocok untuk tim yang sudah beroperasi di ecosystem ini sehari-hari. Kelebihan utamanya adalah integrasi native dengan hampir semua tool kerja modern: Jira, Notion, Google Calendar, GitHub, Figma, Linear, dan dozens lainnya. Morning brief yang dikirim ke Slack bisa langsung di-reply, di-thread, atau di-convert menjadi task lewat command seperti /jira create. Block Kit formatting juga memungkinkan brief ditampilkan dengan visual yang rapi — section separator, color-coded priority badges, dan interactive buttons.
Namun Slack punya kelemahan signifikan: notification fatigue. Kalau tim kamu sudah terbiasa menerima puluhan notifikasi per hari dari berbagai channel, morning brief dari Hermes akan tenggelam di antara alert CI/CD, mention random, dan reminder standup. Solusinya adalah menggunakan Slack's Do Not Disturb mode bersamaan dengan pinned message — brief dikirim ke channel khusus #briefing-pagi yang di-pin di top, dan notifikasi di-set ke hanya @mention saja.
Telegram menawarkan pendekatan yang berlawanan. Channel Telegram biasanya memiliki noise ratio yang jauh lebih rendah karena tidak ada ecosystem integrasi yang sama dalamnya. Orang cenderung check Telegram lebih intentional — bukan karena terpaksa notif, tapi karena mereka memilih untuk membuka app. Morning brief di Telegram bisa dikirim sebagai thread panjang dengan formatting Markdown, atau bahkan sebagai series pesan pendek yang lebih mudah dicerna di mobile.
Kelemahan Telegram adalah tidak ada integrasi native dengan tool kerja. Kamu tidak bisa convert brief item jadi task Notion langsung dari Telegram. Kamu juga tidak bisa thread discussion dengan mudah tentang isi brief. Tapi kalau tujuan morning brief adalah informasi delivery, bukan collaboration trigger, Telegram bisa jadi pilihan yang lebih clean.
Trade-off praktis: kalau tim kamu sudah deep di Slack dan brief ini akan memicu action (meeting prep, task prioritization, discussion), gunakan Slack. Kalau brief ini murni untuk awareness dan kamu ingin memastikan orang actually membacanya tanpa kompetisi notifikasi, gunakan Telegram. Beberapa tim bahkan menggunakan keduanya — Slack untuk version lengkap dengan interaktivitas, Telegram untuk versi ringkas yang dikirim ke personal chat.
Iterasi: Evolusi Brief Berdasarkan Apa yang Actually Kamu Baca
Setup awal Hermes morning brief adalah titik awal, bukan destination. Brief yang bagus bukan yang paling lengkap — tapi yang paling relevan dengan keputusan yang kamu ambil setiap hari. Dan relevansi hanya bisa diukur setelah kamu mengamati pola konsumsi informasi kamu sendiri.
Cara paling efektif untuk mengiterasi brief adalah dengan tracking reading behavior. Setiap pagi, perhatikan hal-hal berikut selama dua sampai tiga minggu:
- Section mana yang kamu baca sampai tuntas?
- Section mana yang kamu skip dalam kurang dari tiga detik?
- Item mana yang kamu convert jadi action (meeting, task, email follow-up)?
- Item mana yang membuat kamu research lebih dalam?
Data observasi ini kemudian digunakan untuk menyesuaikan konfigurasi sumber dan filter di Hermes. Misalnya, kalau kamu perhatikan bahwa section "market signal" selalu kamu skip, mungkin sources yang dipakai tidak relevant dengan domain kerjamu. Ganti source API-nya. Kalau section "kalender" selalu kamu baca tapi formatnya terlalu verbose, adjust top_n dari 5 jadi 3, atau tambahkan filter has_video_conference: true supaya hanya event yang butuh prep yang masuk.
Hermes mendukung feedback loop langsung lewat mekanisme rating. Kamu bisa menambahkan tombol reactive emoji di akhir setiap brief — thumbs up untuk sumber yang useful, thumbs down untuk yang noise. Data rating ini disimpan dan bisa di-query untuk mengidentifikasi pattern. Source dengan average rating konsisten rendah bisa di-disable atau diganti.
Contoh konfigurasi dengan feedback mechanism:
output:
channel: "#briefing-pagi"
provider: slack
schedule: immediate
interactive:
reactions:
- emoji: "+1"
label: "useful"
- emoji: "-1"
label: "noise"
callback_url: https://hooks.my.id/hermes/rating
Selain tracking manual, kamu juga bisa melakukan A/B test konfigurasi. Swap source A dengan source B selama satu minggu, bandingkan kualitas brief, lalu putuskan mana yang tetap. Hermes memudahkan ini karena semua konfigurasi tersimpan di git — kamu bisa membuat branch berbeda untuk tiap variasi dan rollback kapan saja.
Iterasi terbaik terjadi ketika kamu berhenti bertanya "berapa banyak sumber yang bisa gue tambahkan" dan mulai bertanya "berapa sedikit sumber yang gue butuhkan supaya brief ini masih meaningful". Jawabannya biasanya jauh di bawah angka yang kamu kira. Tiga sumber yang curated dengan baik selalu mengalahkan sepuluh sumber yang di-fetch asal-asalan.
Insight: Morning Brief sebagai Sistem, Bukan Ritual
Yang membedakan morning brief yang bertahan lama dari yang cepat ditinggalkan bukanlah kualitas tool-nya — Hermes, n8n, Make, atau manual RSS reader semua bisa sampai di tujuan yang sama. Yang membedakan adalah mindset: apakah kamu melihat brief ini sebagai sistem yang perlu di maintain dan optimize, atau sebagai ritual pagi yang harus diselesaikan?
Sistem yang baik punya feedback loop. Ia measurable. Ia bisa di-break, di-debug, dan di-upgrade. Brief yang kamu build dengan Hermes bukan sekali set lalu lupa — ia adalah living document yang berevolusi bareng kebutuhan informasi kamu. Setiap minggu, kamu bisa melihat source mana yang paling sering di-read, section mana yang paling sering di-skip, dan adjustment apa yang perlu dilakukan.
Yang lebih penting, morning brief yang baik tidak membuat kamu merasa productive — ia membuat kamu lebih siap. Siap karena kamu tahu apa yang terjadi di area kerjamu sebelum jam 9. Siap karena kamu tidak perlu spending energy untuk search information — sistem sudah bring information ke kamu. Siap karena ketika meeting pagi dimulai, kamu sudah punya context yang cukup untuk berkontribusi meaningful, bukan sekadar ikut ngangguk.
Dan kesiapan ini, bertumpu pada satu hal sederhana: starting. Kamu tidak perlu setup sempurna. Kamu tidak perlu semua sumber terintegrasi. Kamu tidak perlu format yang rapi di hari pertama. Kamu hanya perlu mulai dengan tiga sumber, satu jadwal cron, dan satu channel deliver. Sisanya akan iterate sendiri.
Pertanyaan Umum
Hermes sendiri open-source dan gratis untuk self-hosted. Biaya utama berasal dari LLM API calls — dengan model seperti GPT-4o-mini, estimated cost sekitar $5-15 per bulan untuk 3-5 sumber dengan update harian. Untuk source yang pakai RSS gratis seperti news outlet, tidak ada biaya tambahan. Integrasi seperti Google Calendar API dan Notion API juga gratis untuk penggunaan personal. Total biaya mulai dari nol jika kamu hanya pakai sumber RSS + LLM murah, atau sekitar Rp 75.000-Rp 200.000 per bulan untuk setup yang lebih lengkap.
Sebagian besar konfigurasi Hermes berbasis YAML, bukan kode program. Kamu perlu menulis config file untuk setiap sumber dan pipeline, tapi ini lebih mirip mengisi template daripada menulis script. Kalau kamu sudah familiar dengan struktur YAML dasar (key-value pairs dan indentasi), kamu sudah bisa memulai. Namun, untuk integrasi seperti custom API atau webhook, diperlukan pengetahuan dasar tentang HTTP request dan authentication. Hermes juga menyediakan CLI tool yang bisa membantu validasi konfigurasi sebelum dijalankan.
Panjang brief dikontrol oleh dua parameter: top_n di setiap source config (menentukan berapa banyak item yang di-fetch) dan system_prompt di pipeline (menentukan seberapa detail LLM meringkas). Kalau brief terlalu panjang, turunkan top_n dari 5 ke 3, atau tambahkan constraint di prompt seperti maksimal 150 kata per section. Kalau terlalu singkat, naikkan top_n atau ubah prompt agar LLM menjelaskan konteks lebih lengkap. Iterasi prompt adalah bagian paling efektif dari tuning — coba 3-5 variasi prompt berbeda dan bandingkan output-nya selama seminggu.
Bisa. Output section di pipeline YAML mendukung multi-channel configuration. Kamu bisa mengirim versi lengkap ke Slack channel #briefing-pagi sekaligus versi ringkas ke Telegram personal chat. Masing-masing channel bisa punya format dan sumber yang berbeda — misalnya Slack dapat semua lima komponen, Telegram hanya dapat tiga komponen terpenting. Ini berguna untuk tim yang anggotanya punya preferensi channel berbeda.
Ya, Hermes mendukung dry-run mode. Dengan mengaktifkan dry_run: true di output config, brief akan tetap di-generate sepenuhnya tapi hasilnya dikirim ke file log atau channel staging, bukan ke channel produksi. Ini sangat disarankan untuk digunakan di satu hingga dua minggu pertama setup — kamu bisa melihat format output, akurasi summary, dan kualitas sumber sebelum brief benar-benar masuk ke feed utama tim. Setelah config stabil, dry run bisa di-disable.
Butuh Bantuan Implementasi?
Saya membantu founder dan tim membangun sistem operasi yang bisa jalan tanpa pengawasan konstan.
Hubungi Saya