AchiralAchiral

Docs · LLMs and developers

Reviewed2026-06-03Version3.9.0

Assistant Capabilities

Capability registry, executable handlers, action bridges, scoping, and plan limits.

Capabilities are per-assistant permissions and prompt metadata. Some capabilities also have executable handlers or action-substrate bridges. A capability listed in the registry is not automatically executable; execution requires a registered handler or bridge in src/services/capabilities/CapabilityRegistry.js.

Overview

Capabilities determine what an assistant may reference in its prompt and, for executable capabilities, what actions it may request or run. The registry is defined in src/config/capabilities.js.

Capabilities vs. Intelligence

It's important to understand the difference:

AspectIntelligenceCapabilities
What it isKnowledge and context about your organizationExecutable skills that define behavior
ExamplesCompany info, team structure, policiesCreate orders, schedule meetings, analyze documents
How it's configuredWebsite crawling (ChiroBot), document uploadsEnabled/configured by admins in Settings
PurposeInform responses with relevant contextDefine what actions assistant can take
ScopeOrganization-wide or user-specificCapability-specific with granular controls

Intelligence is retrieval context. Capabilities are permissions and operational boundaries.

Execution status

The current executable set is:

CapabilityStatusNotes
create_ordersExecutable handlerUser-level EA capability
analyze_documentsExecutable handlerUser-level EA capability
manage_tasksExecutable handlerWrites to the canonical Task collection
access_user_analyticsExecutable handlerUser-level EA capability
manage_contactsExecutable handlerUser-level EA capability
send_emailsAction bridgeBridges to send_email action
schedule_meetingsAction bridgeBridges to schedule_meeting action

The remaining registry entries are configuration and prompt metadata unless a handler or action bridge is added.

Available Capabilities

Capabilities are scoped to either organization-level (Chiro only), user-level (Executive Assistants only), or shared (both types). Your organization's tier determines how many capabilities you can enable simultaneously.

Organization-Level Capabilities (Chiro Only)

These capabilities are only available to your organization-wide Chiro assistant and operate at the organization scope.

Access Organization Analytics

ID: access_org_analytics
Category: Organization Intelligence

Query org-wide metrics, KPIs, and dashboards to provide data-driven insights.

Use cases:

  • "What's our company-wide revenue this quarter?"
  • "Show me department headcount across the organization"
  • "Compare performance metrics year-over-year"

Configuration required:

  • allowedMetrics - Which metrics can be queried
  • dataRetention - How far back historical data can be accessed

Tier availability: Seed and above


Manage Organization Policies

ID: manage_org_policies
Category: Organization Management

Access and explain company policies, procedures, and organizational guidelines.

Use cases:

  • "What's our PTO policy?"
  • "Explain the expense reimbursement process"
  • "What are the security requirements for new vendors?"

Configuration required: None

Tier availability: All tiers (Spark and above)


Provision Resources

ID: provision_resources
Category: Organization Management

Registry entry for shared resource provisioning. No executable capability handler is registered in the current capability registry.

Use cases:

  • "Create a Slack channel for the Q2 planning initiative"
  • "Set up a new project for the website redesign"
  • "Create a shared folder for HR documents"

Configuration required:

  • allowedResourceTypes - What types of resources can be created
  • requiresApproval - Whether provisioning requires approval

Tier availability: Growth-equivalent operational tier and above


Broadcast Announcements

ID: broadcast_announcements
Category: Organization Communication

Registry entry for organization-wide communications. No executable capability handler is registered in the current capability registry.

Use cases:

  • "Announce the all-hands meeting to everyone"
  • "Send a company update about the new policy"
  • "Notify all departments about the system upgrade"

Configuration required:

  • requiresApproval - Whether announcements require approval
  • allowedChannels - Which channels can be used for broadcasts

Tier availability: Seed and above


Access System Health

ID: access_system_health
Category: Organization Intelligence

Registry entry for observability and system status. No executable capability handler is registered in the current capability registry.

Use cases:

  • "Are there any system errors today?"
  • "Show me slow API endpoints"
  • "What's our uptime this month?"

Configuration required: None

Tier availability: All tiers (Spark and above)


Manage Departments

ID: manage_departments
Category: Organization Management

Registry entry for department structures and organizational hierarchy. No executable capability handler is registered in the current capability registry.

Use cases:

  • "Who's in the engineering department?"
  • "Show me the org chart for marketing"
  • "What teams report to the CTO?"

Configuration required: None

Tier availability: All tiers (Spark and above)


Onboard Employees

ID: onboard_employees
Category: Organization Management

Registry entry for employee onboarding workflows. No executable capability handler is registered in the current capability registry.

Use cases:

  • "Create an onboarding checklist for the new hire"
  • "What are the Day 1 requirements for new employees?"
  • "Send welcome materials to the new team member"

Configuration required:

  • onboardingWorkflows - Which onboarding workflows to use
  • requiresHRApproval - Whether actions require HR approval

Tier availability: Growth-equivalent operational tier and above


User-Level Capabilities (Executive Assistants Only)

These capabilities are only available to individual Executive Assistants and operate on behalf of their assigned user.

Create Orders

ID: create_orders
Category: Commerce & Transactions

Your assistant can create orders in your system on your behalf.

Use cases:

  • "Create an order for 100 units of SKU-12345"
  • "Order office supplies for the marketing team"
  • "Place a recurring order for monthly subscriptions"

Configuration required:

  • allowedOrderTypes - Which order types can be created
  • maxOrdersPerDay - Daily order creation limit
  • requiresApproval - Whether orders require approval

Tier availability: All tiers (Spark and above)

Scope: User-level only (operates on assigned user's behalf)


Schedule Meetings

ID: schedule_meetings
Category: Productivity & Organization

Your assistant can schedule meetings and manage your calendar.

Use cases:

  • "Schedule a team sync for next Tuesday at 2pm"
  • "Find a time for me and Sarah to meet this week"
  • "Move my 3pm meeting to tomorrow"

Configuration required:

  • calendarProvider - Calendar integration (Google Calendar, Microsoft 365, etc.)

Tier availability: Seed and above

Scope: User-level only


Analyze Documents

ID: analyze_documents
Category: Intelligence & Analysis

Your assistant can process and analyze uploaded documents.

Use cases:

  • "Summarize this 50-page contract"
  • "Extract key metrics from this financial report"
  • "Compare these two proposals"

Configuration required: None

Tier availability: All tiers (Spark and above)

Scope: User-level only (analyzes user's documents)


Manage Tasks

ID: manage_tasks
Category: Productivity & Organization

Your assistant can create, update, complete, and track tasks when this capability is enabled.

Use cases:

  • "Create a task to review the Q1 report"
  • "Mark the onboarding task as complete"
  • "Show me my high-priority tasks"

Configuration required: None

Tier availability: All tiers (Spark and above)

Scope: User-level only


Send Emails

ID: send_emails
Category: Communication

Your assistant can send emails on your behalf.

Use cases:

  • "Email the team about tomorrow's meeting"
  • "Send a thank you note to the client"
  • "Draft a follow-up email to yesterday's call"

Configuration required:

  • emailProvider - Email service integration
  • requiresApproval - Whether emails require approval (recommended)

Tier availability: Seed and above

Scope: User-level only (sends from user's account)


Access User Analytics

ID: access_user_analytics
Category: Intelligence & Analysis

Query your personal metrics and analytics.

Use cases:

  • "What's my task completion rate this month?"
  • "Show me my meeting hours for this week"
  • "How many emails have I sent today?"

Configuration required: None

Tier availability: Seed and above

Scope: User-level only


Manage Contacts

ID: manage_contacts
Category: Productivity & Organization

Manage your contacts and professional relationships.

Use cases:

  • "Add John Doe to my contacts"
  • "Show me all contacts at Acme Corp"
  • "Update Sarah's phone number"

Configuration required: None

Tier availability: All tiers (Spark and above)

Scope: User-level only


Shared Capabilities (Both Chiro and EAs)

These capabilities are available to both organization-level and user-level assistants, but operate within appropriate scope.

Answer Questions

ID: answer_questions
Category: Intelligence & Analysis

Basic Q&A using knowledge base and context.

Use cases:

  • "What does our company do?"
  • "Tell me about Project Alpha"
  • "Explain the difference between our Pro and Enterprise plans"

Configuration required: None

Tier availability: All tiers (Spark and above)

Always enabled: Yes (cannot be disabled)

Scope: Shared (Chiro answers org questions, EA answers user-specific questions)


Search Knowledge

ID: search_knowledge
Category: Intelligence & Analysis

Search organization intelligence and uploaded documents.

Use cases:

  • "Find documents about our Q4 strategy"
  • "Search for information about Project Alpha"
  • "What do we know about competitor XYZ?"

Configuration required: None

Tier availability: All tiers (Spark and above)

Scope: Shared (Chiro searches org-wide, EA searches user's documents)


Access External APIs

ID: access_external_apis
Category: External Integrations

Registry entry for external API access. No executable capability handler is registered in the current capability registry.

Use cases:

  • "Check inventory levels in our warehouse system"
  • "Query Salesforce for this customer's status"
  • "Get weather forecast for our office locations"

Configuration required:

  • apiEndpoints - API endpoint configuration
  • rateLimit - Rate limiting configuration

Tier availability: Growth-equivalent operational tier and above

Scope: Shared (with appropriate access controls)


Managing Capabilities

For Organization Admins

Enabling Capabilities

  1. Go to your organization dashboard
  2. Navigate to SettingsAssistant Settings
  3. Select "Assistant Capabilities" section
  4. Browse capabilities grouped by category
  5. Toggle capabilities on/off using the switches
  6. Configure required settings for capabilities that need them
  7. Click Save Capabilities

Configuration Panels

For capabilities that require configuration (marked with ⚙️), you'll see an expandable configuration panel when you enable the capability. Fill in all required fields before saving.

Tier Limits

Your plan determines how many capabilities you can enable. The validator maps pricing plans into operational capability tiers.

TierCapability LimitNotes
Free3 capabilitiesSame capability limit as Spark
Spark3 capabilitiesPerfect for getting started
Seed7 capabilitiesIncludes commerce capabilities
Rise7 capabilitiesSame capability limit as Seed
Boost and aboveUnlimitedNo configured capability-count limit

Note: answer_questions is always enabled. The current validator excludes always-enabled capabilities when enforcing the limit.

For End Users

Your organization admin controls which capabilities are available to your assistant. If you need a capability that's not enabled, contact your admin or submit a request through SettingsRequest Capability.

You can see which capabilities your assistant has by asking: "What can you help me with?"

How Capabilities Work

In System Prompts

When you enable capabilities for an assistant, they're automatically included in the assistant's system prompt. This means the assistant "knows" what it can do and will reference these capabilities when responding to your requests.

For example, if "Create Orders" is enabled, the assistant will understand it can create orders and will offer to do so when appropriate.

Capability Detection

Assistants use their enabled capabilities to:

  • Understand what actions they can take
  • Reference capabilities in responses ("I can create an order for you")
  • Stay within their operational boundaries
  • Provide more helpful, actionable responses

Execution

When an assistant emits a capability marker, CapabilityExecutionService checks whether the capability is enabled and whether CapabilityRegistry has a handler or bridge. Unsupported or disabled capability markers are stripped and logged.

Security & Permissions

Scope Enforcement

Capabilities are strictly scoped:

  • Organization capabilities can only be enabled on Chiro
  • User capabilities can only be enabled on Executive Assistants
  • Shared capabilities work on both, but with appropriate scope restrictions

Attempting to enable a user capability on Chiro (or vice versa) will result in a validation error.

Approval Workflows

For sensitive executable capabilities, configure approval workflows where available:

  • Orders can require manager approval
  • Emails can require review before sending
  • Schedule and email actions use the action-substrate approval path

Audit Logs

All capability configuration changes are logged:

  • Who enabled/disabled the capability
  • When it was changed
  • What configuration was set

Troubleshooting

Capability Not Showing Up

Problem: Don't see a capability you expect

Solutions:

  1. Check your organization tier. Some capabilities require Seed or a growth-equivalent operational tier.
  2. Verify you haven't reached your tier's capability limit
  3. Check if capability is scope-appropriate (user capability on Chiro won't work)

Configuration Required Error

Problem: Can't save because configuration is missing

Solutions:

  1. Click the "Configuration" button to expand the config panel
  2. Fill in all required fields
  3. Make sure integrations are set up (e.g., email provider for Send Emails)

Can't Disable Capability

Problem: Toggle switch is disabled

Solutions:

  • The answer_questions capability is always enabled and cannot be disabled
  • This is by design—all assistants need basic Q&A capability

Best Practices

Start Small

Begin with 2-3 essential capabilities. Add more as your team gets comfortable with how they work.

Match to Role

  • Chiro: Enable organization-wide capabilities that help with company-wide questions
  • Executive Assistants: Enable productivity capabilities that help with individual work

Review Periodically

Quarterly, review enabled capabilities and disable those that aren't being used to stay within tier limits.

Use Clear Names

When configuring capabilities, use clear, descriptive names in configuration fields so your team understands what's enabled.

FAQ

Q: Can I create custom capabilities?
A: Custom executable capabilities require code changes: a registry entry plus a handler or action bridge. Contracted custom work is handled separately from the self-serve capability UI.

Q: Do capabilities cost extra?
A: Capability limits are part of the plan configuration. External services used by a capability may have their own costs.

Q: Can different assistants have different capabilities?
A: Yes! Each assistant (Chiro and each EA) can have its own capability configuration.

Q: What happens if I disable a capability mid-conversation?
A: The assistant will immediately lose access. The capability will no longer appear in its system prompt for new messages.

Q: Are capabilities shared across organizations?
A: No. Capabilities are isolated per organization. Your assistant can't use capabilities to access other organizations' data.

Q: Can I set daily limits for capabilities?
A: Yes, for certain capabilities like "Create Orders" you can configure maxOrdersPerDay and similar limits.

Q: What's the difference between registry entries and executable capabilities? A: Registry entries describe allowed capability metadata. Executable capabilities also have a handler or action bridge registered in CapabilityRegistry.

Support

Need help with capabilities?


Related Documentation:

Learn more: