/v1/schedules API, or with notra schedules in the CLI.
How schedules work
1
Schedule configuration
Choose daily, weekly, or monthly, plus the time of day in UTC.
2
Automatic trigger
At the scheduled time Notra starts a run for the schedule.
3
Activity analysis
The run collects pull requests, commits, and releases from the selected repositories, plus completed Linear work when Linear is connected, inside the lookback window.
4
Content generation
The content is written in the selected brand identity. If there is nothing worth writing about, the run is skipped.
5
Review
The result appears under Content as a draft, or as a published post when auto-publish is on.
Schedule frequencies
- Daily
- Weekly
- Monthly
Runs every day at a set time.Configuration:
- Hour (0-23, UTC)
- Minute (0-59)
Lookback windows
Each schedule analyzes activity over one of five windows:string
From midnight UTC today until the run
string
The previous calendar day (midnight to midnight UTC)
string
default:true
The past 7 days (default)
string
The past 14 days
string
The past 30 days
Match the window to the cadence:
yesterday or current_day for daily schedules, last_7_days for weekly, last_30_days for monthly.Supported output types
Changelog entry
A concise summary of what shipped and why it matters. Supports auto-publish.
Blog post
A longer-form article explaining the feature in depth. Supports auto-publish.
LinkedIn post
A professional update to share with your network. Saved as a draft.
Tweet
A short announcement for X. Saved as a draft.
Image
A brand-matched social image generated from repository activity. Saved as a draft.
Sources
A schedule needs at least one GitHub repository. Pick them in the Sources step of the dialog. When a Linear integration is connected and enabled, its completed work is included in every schedule run automatically, alongside the selected repositories, and shows up in the sources column of the schedule list.Create a schedule
1
Open Automation > Schedules
Click New schedule.
2
Name your schedule
Use a descriptive name such as “Weekly LinkedIn update”. Names are limited to 120 characters.
3
Select sources
Choose one or more connected GitHub repositories.
4
Set the cadence
Daily, weekly (pick a day), or monthly (pick a day of month), plus the time. Times use UTC; the summary card also shows the next run in your local timezone.
5
Choose the lookback window
How far back to analyze activity.
6
Choose the content format
Changelog entry, blog post, LinkedIn post, tweet, or image.
7
Pick a brand identity and auto-publish
Use the default brand identity or pin one. Auto-publish is available for changelogs and blog posts.
8
Save
New schedules start enabled. Notra rejects a schedule that duplicates an existing one (“Schedule already exists”).
Through the API
The same schedule through the public API (scopeschedules.write):
repositoryIds are GitHub integration IDs from GET /v1/integrations. dayOfWeek is required for weekly schedules and dayOfMonth for monthly ones. outputType is one of changelog, blog_post, linkedin_post, twitter_post, or image. lookbackWindow defaults to last_7_days and autoPublish to false. List, update, and delete with GET /v1/schedules?repositoryIds=repo_123, PATCH /v1/schedules/{scheduleId} (full body), and DELETE /v1/schedules/{scheduleId}. A duplicate configuration returns 409.
Content generation context
Each run builds its prompt from:- Time range: the lookback window, computed in UTC at run time
- Repositories: merged pull requests, commits, and releases across all selected repositories
- Linear: completed issues from every enabled Linear integration
- Brand identity: tone, audience, company details, and custom instructions
Cron expressions
Notra derives a cron expression from your configuration and evaluates it in UTC:Run a schedule now
Open the row menu on the Schedules page and choose Run now. The run uses the current time and the configured lookback window: running a weekly schedule on a Tuesday analyzes the 7 days before that Tuesday, not the days before the scheduled Monday. Run now requires an enabled schedule and an active subscription.Managing schedules
The Schedules page splits schedules into Active and Paused tabs. From the row menu you can:- Edit: change the name, sources, cadence, lookback window, format, brand identity, or auto-publish. Timing changes take effect for the next run.
- Pause or Enable: turn the schedule off or on without deleting it.
- Run now: start a run immediately.
- Delete: remove the schedule.
Monitoring
- Content shows every generated post. Posts from a schedule are grouped into a collection per run.
- Settings > Notifications can email you when scheduled content is created, when generation fails, and when a run is skipped because there was nothing worth writing about.
- If the run hits GitHub’s API rate limit, Notra waits 30 minutes and retries up to three attempts before marking the run as failed.
- If your plan quota for the format is used up and no AI credits are available, the run stops and workspace owners receive an email.
Common use cases
Weekly product updates
A LinkedIn post every Monday summarizing the previous week.
Monthly changelogs
A changelog roundup on the 1st of each month, auto-published.
Daily launch content
A daily tweet or image during a launch week from
yesterday’s activity.Monthly blog post
A long-form recap on the last 30 days for customers.
Best practices
Match frequency to activity
Match frequency to activity
Pick a cadence that matches your development pace. Teams shipping daily can use daily or weekly schedules; teams with monthly releases should schedule monthly.
Align lookback with frequency
Align lookback with frequency
- Daily schedule:
current_dayoryesterday - Weekly schedule:
last_7_days - Monthly schedule:
last_30_days
Think in UTC
Think in UTC
Schedule times are UTC. The summary card in the dialog shows the next run in your local timezone so you can double-check.
One format per schedule
One format per schedule
Create separate schedules for separate outputs, for example a weekly changelog for customers and a weekly LinkedIn post for your network.
Review generated content
Review generated content
Treat scheduled content as drafts. Keep auto-publish off until you trust the output for that format.
Troubleshooting
Schedule not running
Schedule not running
Check:
- The schedule is in the Active tab, not Paused
- Your subscription is active and the format’s quota (or AI credits) is not used up
- The repository integration still exists and is enabled
Run skipped or no content
Run skipped or no content
Check:
- The repositories have activity inside the lookback window
- The repositories are still connected and accessible
- Linear is enabled if you expect issues to be included
Content quality issues
Content quality issues
Check:
- The lookback window fits your activity level
- The brand identity has a tone, audience, and custom instructions
- You are analyzing the right repositories
Next steps
Event-based automation
Trigger content generation from GitHub releases and pushes
Brand voice
Customize tone and style for scheduled content