Skip to main content

Overview

Automations let ntrp act on its own — daily summaries, inbox monitoring, reminders, or any task you’d otherwise forget to do manually. Each automation has one or more triggers (when to run), a description (what to do in natural language), and optional notification behavior through configured notifiers. When multiple triggers are defined, the automation fires when any trigger condition is met. Automations viewer

Trigger types

Scheduled

Run at a specific time, optionally on specific days:
Every weekday at 09:00 → "Summarize my unread emails and calendar for today"
Every day at 22:00 → "Review what I committed today and update my work log"

Interval

Run repeatedly at a fixed interval, with optional time windows:
Every 2h → "Check for new emails from VIP senders and notify me"
Every 30m (09:00–18:00) → "Monitor the deployment pipeline status"

Event-driven

Trigger before calendar events:
15 minutes before any meeting → "Pull up notes about attendees from memory"

Idle

Fire once after a period of user inactivity. Resets when the user sends a new message.
After 5 minutes idle → "Extract facts from recent conversation"

Count

Fire every N user messages in a session. The counter resets per session.
Every 10 turns → "Extract durable facts from the conversation"

Builtin automations

ntrp ships with internal automations that run automatically, such as chat extraction and memory consolidation. They are visible in the automations viewer and can be toggled, but are managed by the system.

Creating automations

From chat

Use the automation tool in chat:
Create an automation that runs every weekday at 9am
to summarize my unread emails and today's calendar.
Notify me with the result.

Via the API

curl -X POST http://localhost:6877/automations \
  -H "Authorization: Bearer $NTRP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Morning briefing",
    "description": "Summarize unread emails and today's calendar events",
    "trigger_type": "time",
    "at": "09:00",
    "days": "weekdays"
  }'
Multi-trigger:
curl -X POST http://localhost:6877/automations \
  -H "Authorization: Bearer $NTRP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Extract conversation facts",
    "description": "Extract durable facts from recent conversation",
    "triggers": [
      {"type": "count", "every_n": 5},
      {"type": "idle", "idle_minutes": 10}
    ]
  }'

Approvals and permissions

By default, mutating or external actions still require approval. Toggle auto-approve only for automations you trust to run headlessly without per-call approval. Examples that may need auto-approve:
  • sending email
  • posting to Slack
  • creating calendar events
  • writing files or updating external systems

Notifications

Configure notifier destinations in Settings → Notifications or through the notifier API. Automations can use the notify tool to send results to configured channels such as Telegram, email, Slack, or shell commands.