What Are Capabilities
A capability represents a specific type of action the gateway knows how to perform. This could be anything the gateway’s operator has registered — web search, code execution, document retrieval, database queries, external API calls, browser automation, or custom integrations. Capabilities are organised bykind, which describes the underlying integration mechanism:
The gateway owns all credential management for every capability. Your application code never handles provider API keys — the gateway injects credentials during execution as authorised by policy.
Searching Capabilities
Useclient.searchCapabilities() to find capabilities that match a described need. You pass a CapabilityRequirement object that specifies the actionFamily (a broad action category), the purpose (why you need it), and the targetType (the kind of resource being acted on). The gateway returns a ranked list of matching CapabilityManifest entries that your tenant’s policy permits.
principalId is injected automatically from your OAuth token and is forbidden from the CapabilityRequirement request body. You do not specify which principal is searching.
CapabilityManifest
Each result returned bysearchCapabilities() is a CapabilityManifest that describes a single registered capability:
Check
healthState before submitting missions that depend on a specific capability. If a required capability is unavailable or quarantined, your mission will likely fail or stall waiting for it.
Using Capabilities in Missions
You do not invoke capabilities directly from your application code. Instead, you describe your goal in thegoalSpec of a mission, and the agent autonomously selects and invokes the appropriate capabilities as it executes steps toward that goal. The Integration Gateway routes each step to an eligible capability based on the agent’s intent, your tenant’s policy, and the capability’s current health state.
Capability availability depends on your gateway’s configuration and your tenant’s policy. The same
searchCapabilities() call may return different results across different gateway deployments or after a gateway update. Always verify capability health at runtime rather than assuming a capability you saw yesterday is still available today.