Daily Briefings
Daily briefings summarize recently captured atoms and show citations back to source atoms. They are designed for catching up on what changed in your knowledge base.
How Briefings Work
Section titled “How Briefings Work”The daily briefing task:
- Looks for atoms created since the last successful briefing run.
- Uses an LLM to identify important themes and related context.
- Writes a short briefing with citation markers.
- Stores the briefing and citation rows.
- Emits a
briefing-readyWebSocket event when a new briefing is available.
If there are no new atoms in the window, Atomic does not create a new briefing. It still advances the last-run timestamp so the quiet period does not repeatedly generate empty summaries.
Schedule
Section titled “Schedule”Fresh databases seed these settings:
| Setting | Default |
|---|---|
task.daily_briefing.enabled | true |
task.daily_briefing.interval_hours | 24 |
The scheduled task runs per database on the server. This matters in multi-database setups: each database has its own briefing state.
Run Manually
Section titled “Run Manually”curl -X POST http://localhost:8080/api/briefings/run \ -H "Authorization: Bearer <token>"If a briefing is generated, the response contains the briefing and citations. If no new atoms are available, the route can return no content.
Read Briefings
Section titled “Read Briefings”curl http://localhost:8080/api/briefings/latest \ -H "Authorization: Bearer <token>"
curl http://localhost:8080/api/briefings?limit=20 \ -H "Authorization: Bearer <token>"
curl http://localhost:8080/api/briefings/<briefing-id> \ -H "Authorization: Bearer <token>"Troubleshooting
Section titled “Troubleshooting”- If no briefing appears, add atoms and run the task after the server has processed them.
- If generation fails, check the configured wiki model/provider because briefings use the wiki-model path.
- If self-hosting multiple databases, verify you are viewing the database that received the new atoms.