Automations
Automations let Themis perform recurring or event-driven tasks without manual intervention. Think of them as scheduled or triggered prompts that run automatically and deliver results to your inbox, Telegram, or Teams.
Types of Automations
Scheduled
Run on a cron schedule. Pick from presets (daily, weekdays, weekly, hourly) or write a custom cron expression. All schedules are timezone-aware.
Examples:
- Daily standup summary — Every morning at 9am, summarize yesterday’s activity across GitHub and Linear
- Weekly review — Every Monday, analyze key metrics and surface trends
- Sprint report — At the end of each sprint, compile a progress summary
Event-Triggered
Run when specific activities occur in your connected services. Choose from grouped event types:
| Source | Example Events |
|---|---|
| GitHub | PR opened, PR merged, review approved, CI passed/failed |
| Linear | Issue status changed, issue assigned, priority changed |
| Sentry | New issue, alert triggered, metric alert |
Event automations support cooldown windows (default: 5 minutes) to prevent duplicate runs when multiple events fire in quick succession.
You can also add conditions to narrow which events trigger the automation — filter by repository, actor, label, or priority.
Creating an Automation
From the UI
- Go to Automations in the sidebar
- Click New
- Fill in the form:
Name
A descriptive name for the automation (e.g., “Morning Activity Digest”).
Trigger
Choose Schedule or Event, then configure:
- Schedule: Pick a frequency and time. The form shows a human-readable preview (e.g., “At 09:00 AM every weekday (Asia/Tokyo)”).
- Event: Select the event type from the dropdown. Optionally set a cooldown and add conditions.
Prompt Template
This is the instruction Themis follows each time the automation runs. Write it like you would a chat message — the agent has full access to your space’s tools (GitHub, Linear, Sentry, Metabase).
For scheduled automations, write the full instruction:
Summarize all GitHub pull request activity from the last 24 hours.
Group by repository. For each PR, note the author, status, and
any review comments. Highlight PRs that have been open for more
than 3 days without review.
For event-triggered automations, you can use template variables that get replaced with event data:
| Variable | Description |
|---|---|
{{event_type}} | The event type (e.g., github.pull_request.opened) |
{{event_title}} | Title of the activity |
{{event_actor}} | Who triggered the event |
{{event_url}} | Link to the source (PR, issue, alert) |
{{event_source}} | Source service (github, linear, sentry) |
{{event_metadata}} | Additional event data as JSON |
Example event-triggered prompt:
A new pull request was opened: {{event_title}}
by {{event_actor}}.
Review the PR at {{event_url}}. Focus on:
1. Security concerns
2. Test coverage
3. Performance implications
Submit a review with your findings.
Scope
- Personal — Results delivered only to you
- Space — Results delivered to all space members (requires manager or owner role)
Delivery
Choose where results are sent. You can enable multiple channels:
- Inbox — Appears in your Signals > Auto tab
- Telegram DM — Sent to your Telegram (if linked in profile)
- Teams DM — Sent to your Teams (if linked in profile)
- Group channels — For space automations, deliver to specific Telegram or Teams groups
From Chat
You can also create and manage automations directly in a conversation. Just describe what you want and Themis will set it up:
- Create — “Create a daily automation that summarizes GitHub activity every morning at 9am”
- List — “Show me my automations” or “List all automations in this space”
- Update — “Change my morning digest to run at 8am instead” or “Disable the weekly report automation”
- Delete — “Delete the sprint summary automation”
The agent uses your natural language description to configure the trigger, schedule, prompt, scope, and delivery channels. You can also ask the agent to run, enable, or disable existing automations.
Space-scoped automations require manager or owner role, same as creating them from the UI.
Viewing Results
In the Inbox
Automation results appear in Signals > Auto. Each entry shows the automation name, when it ran, and the agent’s response. Click to expand the full result.
On the Automation Page
Go to the automation’s detail page to see the Execution History — a table of all past runs with:
| Column | Shows |
|---|---|
| Status | Completed, failed, skipped, or running |
| Executed | When the run started |
| Delivered | Which channels received the result (inbox, Telegram, Teams) |
| Details | Skip reason, error message, or cost |
Run Now
You can manually trigger any automation by clicking Run Now on its detail page. This is useful for testing your prompt before waiting for the next scheduled run.
Skip Logic
The agent can decide not to deliver a result. For example, a daily summary automation might skip if there was no activity yesterday — the agent calls the skip_message tool with a reason like “No pull request activity in the last 24 hours.”
Skipped runs appear in the execution history with a yellow “Skipped” status and the reason.
Tips for Good Prompts
- Be specific — Tell the agent exactly what to look for and how to format the output
- Mention tools — The agent has access to GitHub, Linear, Sentry, and Metabase. Reference them: “Use Metabase to query the sales dashboard”
- Set expectations — Describe what a useful result looks like vs. when to skip
- Keep it focused — One automation per task works better than trying to do everything in one prompt