Talking to Your Assistant

Ways to send work to your assistant beyond typing in the directive bar.

Directive Templates

Save frequently-used directives as one-click chips that appear below the input bar. Useful for recurring workflows you'd otherwise retype every time.

How to use it
  • Click the + icon below the directive input bar to create a template.
  • Give it a short label (e.g. Weekly summary) and paste the full directive text.
  • Click the chip to populate the input bar — edit before sending if needed.
  • Templates are stored per-product in the database, not just your browser.

Session Management

Each product can have multiple named chat sessions with completely isolated message histories. Useful for keeping a "General" session separate from a "Campaign Planning" one.

How to use it
  • Sessions appear in the left sidebar under the product name.
  • Click + New session to create one with a custom name.
  • Switching sessions shows a different message history — context is fully separate.
  • New products start with a single "General" session automatically.

File & Image Attachments

Attach files directly to a directive. Your assistant processes them inline — no need to describe the contents manually.

How to use it
  • Click the paperclip icon in the directive bar and select a file.
  • Images (PNG, JPG, etc.) — analyzed visually by the agent.
  • PDFs — read and reasoned over inline.
  • Text files — content prepended to your directive as context.
  • Videos — referenced by filename; describe what you need from it.

Telegram as a Second Interface

Connect a Telegram bot to send directives and approve review items from your phone — without opening the web UI.

How to use it
  • Create a Telegram bot via @BotFather and copy the token.
  • Get your Telegram chat ID (send a message to the bot, then call the Telegram API to retrieve it).
  • Set TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID in Settings → Remote Access.
  • Messages you send to the bot are queued as directives to the global agent.
  • Review items can be approved or skipped by replying to the bot's callback buttons.
  • Your assistant can send files back to you via Telegram using the send_telegram_file tool.
Tip: Messages to the Telegram bot route to the global agent by default. The global agent can dispatch work to any product using the dispatch_to_product tool.

Autonomy & Scheduling

Controls for how much your assistant acts on its own, and when.

Autonomy Tiers

Each product has a configurable autonomy level that controls whether actions are held for your approval before executing.

How to use it
  • Go to Settings → Autonomy for the product.
  • Approve — every reviewable action pauses and waits for your explicit approval. Safest.
  • Window — actions are queued with a countdown (e.g. 10 minutes). If you don't block them, they execute automatically when the window expires.
  • Auto — actions execute immediately, no review. Fastest.
  • You can set a master override that applies to all action types, or configure each action type individually.
Tip: Start with Approve for a new product until you trust how it behaves, then graduate to Window or Auto for action types you're comfortable with.

Workstream Scheduling

Workstreams with a mission and a schedule run their own agent loops automatically, without any directive from you.

How to use it
  • Give a workstream a mission (what it should do each run) and a schedule (when to run).
  • Supported schedule formats (natural language):
hourly
daily
daily at 9am
weekdays
weekdays at 2pm
every Monday at 9am
every 30 minutes
twice daily
manual
  • Use manual to disable automatic runs while keeping the mission intact.
  • The scheduler checks every 60 seconds; concurrent runs of the same workstream are prevented automatically.

Autonomous Objective Loops

Objectives can be set to run themselves on a recurring basis — your assistant picks up where it left off automatically.

How to use it
  • Tell your assistant: "Set the [objective name] objective to autonomous mode."
  • The assistant calls set_objective_autonomous and schedules the first run.
  • After each run, the assistant schedules the next one via schedule_next_run.
  • To disable: "Turn off autonomous mode for [objective name]."
Tip: Autonomous objectives work best when paired with a Window or Auto autonomy tier — otherwise every action in the loop will wait for your approval.

Social Post Scheduling

Social posts can be queued for future publication rather than posted immediately.

How to use it
  • Tell your assistant to schedule a post: "Draft a LinkedIn post about X and schedule it for tomorrow at 10am."
  • The assistant passes a scheduled_for timestamp (ISO 8601) to draft_social_post.
  • The post sits in "scheduled" status and publishes automatically when the time arrives.
  • The scheduler checks every 60 seconds.

Auto-Approval Windows

In Window autonomy mode, review items have a countdown. Items not manually actioned before the deadline approve themselves.

How to use it
  • Set a product's autonomy tier to Window in Settings → Autonomy.
  • Configure the window duration in minutes (e.g. 10 minutes, 60 minutes).
  • When an action creates a review item, the countdown starts immediately.
  • You can manually approve or skip at any time before the deadline.
  • If you do nothing, the item auto-approves when the window expires.

MCP & Capability Overrides

Connect external tools to your assistant and replace built-in capabilities with your own.

Installing MCP Servers via Directive

You can tell your assistant to integrate an MCP server in plain language — it handles registration and configuration without you touching any config files.

How to use it
  • Find an MCP server you want (e.g. a CRM tool, a database connector, a custom API wrapper).
  • Tell your assistant: "Integrate the [server name] MCP server. Here's the connection info: [details]."
  • The assistant registers the server, stores it in the database, and makes its tools available immediately.
  • You can also manage MCP servers manually in Settings → MCP Servers.
Tip: After integrating an MCP server, tell your assistant what the tools do and when to use them — it will incorporate them into its decision-making.

Capability Slots

Capability slots are named positions in the agent's tool set that can be filled by different implementations. Think of them as swappable tool sockets.

How to use it
  • Built-in system slots: email_send, social_post, browser_task, and others.
  • Create custom slots for capabilities unique to your workflow (e.g. crm_contacts, invoice_create).
  • Manage slots in Settings → MCP Servers → Capability Overrides.
  • Or via directive: "Create a capability slot called crm_contacts."

Overriding Built-in Tools

Once an MCP server is connected, you can assign one of its tools to a capability slot. The assistant will use your tool instead of the built-in equivalent.

How to use it
  • Go to Settings → MCP Servers → Capability Overrides.
  • Select a capability slot (e.g. email_send) and choose an MCP tool to fill it.
  • Or via directive: "Override the email_send slot with the [MCP tool name] tool from [server name]."
  • The override takes effect immediately — the agent routes all matching actions through your tool.
Tip: Overrides are scoped — you can apply them globally or to a specific product only.

Agent Tools & Skills

Your assistant can expand its own capabilities at runtime.

Installing Skills via Directive

Your assistant can discover and install skill packages that add new tools and capabilities without a restart.

How to use it
  • Tell your assistant: "Find and install a skill for [capability]."
  • The assistant calls find_skill to search available packages and install_skill to install the chosen one.
  • Skills are loaded from the extensions/ directory and activate immediately.
  • Disabled skills are tracked in extensions/_config.json.

Scaffolding Custom Tools

Your assistant can write a new Python tool from scratch, save it, and start using it — all in one go.

How to use it
  • Tell your assistant: "Add a tool that [does X]."
  • The assistant calls add_agent_tool, which scaffolds a Python module with a TOOL_DEFINITION schema and an execute() function.
  • The file is saved to extensions/ and loaded immediately.
  • If a restart is needed, the assistant can call restart_server to force a reload.
Tip: Be specific about what the tool should accept as input and return as output — the assistant writes better code with precise specs.

Sub-Agent Types

When you ask your assistant to delegate a task, it routes to a specialized sub-agent based on what kind of work is needed.

How to use it
  • Delegation happens automatically — your assistant decides which agent to use.
  • Research Agent — web search, competitive analysis, information gathering.
  • General Agent — file access, local operations, skill installation, broader tasks.
  • Email Agent — Gmail operations, drafting, sending, and reading email.
  • Each agent type can be configured to use a different Claude model in Settings → Agent Model.

Background Automation

Things Adjutant does automatically in the background to keep things running smoothly.

Conversation Compaction

Long-running products automatically summarize older messages to keep context lean and avoid excessive token usage — you never hit a wall.

How it works
  • When a product's message history exceeds 20 messages, compaction triggers automatically.
  • The most recent 10 messages are kept verbatim.
  • Earlier messages are summarized into a single "Summary of previous conversation" block injected at the start of context.
  • No action required — this happens transparently in the background.

Email Digest

Compile all product activity into a single summary email sent to your Gmail — useful for an end-of-day or weekly rollup.

How to use it
  • Trigger via directive: "Send me a digest of all product activity."
  • Or call POST /api/digest directly (e.g. via a cron job or automation).
  • Requires Gmail OAuth to be connected in Settings → Google OAuth.
  • The digest is sent to your configured Gmail address.

Review Queue Behavior

Understanding how the review queue works helps you tune your autonomy settings effectively.

How it works
  • When your assistant wants to take a reviewable action, it creates a review item and pauses.
  • Review items appear in the status strip at the bottom of the UI.
  • In Approve mode: the item waits indefinitely for manual approval or skip.
  • In Window mode: a countdown timer appears on the item; it auto-approves when it expires.
  • In Auto mode: the item is approved immediately and doesn't appear in the queue.
  • The background scheduler checks every 60 seconds for expired Window items.

Product Bootstrap

On first setup, Adjutant can automatically generate a relevant set of workstreams and objectives for a new product based on its name and description.

How to use it
  • Set the following environment variables before starting Adjutant for the first time:
ADJUTANT_SEED_PRODUCT_NAME="Acme Corp"
ADJUTANT_SEED_PRODUCT_DESC="B2B SaaS for invoice automation"
  • On startup, Claude generates 3–5 contextually relevant workstreams and 2–3 objectives.
  • Bootstrap only runs once — it exits immediately if workstreams already exist.
  • You can also trigger this manually via the Product Wizard in Settings → Objectives.

Configuration

Settings that shape how your assistant behaves at a fundamental level.

Brand Voice in Prompts

Everything you fill in under Settings → Overview is injected directly into your assistant's system prompt and shapes every piece of content it generates.

How to use it
  • Go to Settings → Overview for the product.
  • Fill in: brand voice, tone, writing style, target audience, social handles, hashtags, brand notes.
  • These fields are read from the database and prepended to the agent's system prompt at runtime.
  • Your assistant will apply this voice automatically to social posts, emails, and other content — without being told to every time.
Tip: Be specific. "Professional but approachable, avoids jargon, speaks to early-stage founders" is more useful than "professional."

Per-Product Model Selection

The main agent and each sub-agent type can be configured to use different Claude models independently.

How to use it
  • Go to Settings → Agent Model.
  • Configure the main agent model (used for all directive processing).
  • Configure sub-agent models separately: Research, General, and Email agents can each use a different model.
  • Use a faster/cheaper model for high-volume sub-agents (e.g. research) and a more capable model for the main agent.

Image Generation

Your assistant can source images for social posts automatically — either from stock photography or AI-generated art.

How to use it
  • Go to Settings → Image Generation to configure sources.
  • Pexels — free stock photos. Get a free API key at pexels.com/api and add it to settings. Your assistant calls search_stock_photo to find relevant images.
  • DALL-E 3 — AI-generated images via your OpenAI account. Connect via Codex OAuth in settings. Your assistant calls generate_image with a prompt.
  • Your assistant chooses automatically: Pexels for real-world/documentary content, DALL-E for abstract, branded, or stylized visuals.

Browser Credentials

Store login credentials for platforms your assistant automates via browser. These are injected automatically into browser tasks so the agent can log in without prompting you.

How to use it
  • Go to Settings → Connections and add credentials for a platform (e.g. Twitter/X, LinkedIn).
  • When your assistant runs a browser task for that platform, it retrieves and uses the stored credentials.
  • Falls back to OAuth API if available, then to an unauthenticated browser session if neither is configured.
Tip: Credentials are stored locally in your database and never leave your machine.