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:

SourceExample Events
GitHubPR opened, PR merged, review approved, CI passed/failed
LinearIssue status changed, issue assigned, priority changed
SentryNew 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

  1. Go to Automations in the sidebar
  2. Click New
  3. 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:

VariableDescription
{{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:

ColumnShows
StatusCompleted, failed, skipped, or running
ExecutedWhen the run started
DeliveredWhich channels received the result (inbox, Telegram, Teams)
DetailsSkip 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