This week shipped features that give teams much better control over content generation. You can now generate changelogs, blog posts, and tweets on-demand while picking exactly which commits, PRs, and releases to include. Brand voice imports pull directly from your X accounts via OAuth, and there's a new blog generator for longer-form storytelling across four tones. Triggers can auto-publish instead of always creating drafts, saving manual review work. We also made generation progress visible with skeleton cards, added a fail tool so agents tell you why they can't generate, and improved error logging throughout the dashboard.
Highlights
On-demand content with selective source filtering
Generate changelogs, blog posts, and tweets on-demand. Choose which commits, PRs, and releases to include, and set a custom lookback window per generation.
Multi-source brand voice import via Twitter OAuth
Import tweet examples directly from connected X accounts, with pinned tweets prioritized first. Add custom text references alongside imports.
Blog post generator with narrative tones
New output type for long-form storytelling. Choose from casual, conversational, professional, or formal tones, separate from changelog format.
Instant publish toggle for triggers
Schedules can now auto-publish generated content instead of always creating drafts, cutting manual review for teams running frequent generations.
Multiple social posts per generation
Twitter and LinkedIn agents create multiple distinct drafts from a single run when the data warrants it. Workflow notifications list all created posts.
More Updates
Features & Enhancements
- Support multiple social posts per generation #198 - Twitter and LinkedIn agents can create multiple drafts from a single run with updated workflow notifications. (Author: @mezotv)
- Add instant publish toggle for triggers #205 - Enable auto-publish on schedules and event triggers for immediate post creation with "published" status. (Author: @mezotv)
- Warn about affected triggers when deleting brand voice #197 - Prevent orphaned schedules by disabling triggers that reference a deleted voice, with a preview shown before deletion. (Author: @mezotv)
- Add connected accounts section to settings #194 - View and manage connected X/Twitter accounts directly in organization settings with one-click disconnect. (Author: @mezotv)
- Track active content generations with skeleton cards #196 - See real-time progress for running generators on dashboard and content pages via skeleton placeholders and toast notifications. (Author: @mezotv)
Developer Experience
- Add fail tool for AI agents #195 - Agents gracefully fail with a reason shown in logs and emails when no data is available. (Author: @mezotv)
- Improve logs UI and add error visibility #195 - Error messages display under log entry titles, actions column added with reference ID copy, integration type labeling fixed. (Author: @mezotv)
- Add getBrandReferences tool to all AI agents #188 - All agents call the brand voice API first to match your writing style before generating. (Author: @mezotv)
Bug Fixes
- Fix webhook logging for on-demand content - On-demand content now appears in Logs page after creation. (Author: @mezotv)
- Split missing header vs unsupported event type in webhook handler - Clearer error logging helps distinguish config issues from actual unsupported events.
- Fix API content routes with org-scoped keys #204 - API routes properly align with org-scoped API keys.
Infrastructure
- Use Bun in Docker image #203 - Docker builds now use Bun for faster startup times.
- Expose environment port for deployment #203 - Server reads port from process.env for cloud deployments.
- Changelog and Showcase refactor #199 - Marketing site displays product changelog using Notra's own SDK with timeline view and detail pages. (Author: @mezotv)