Abilities represent pre-built, configurable functionality that you can integrate into your conversational AI agents. Each ability encapsulates specific capabilities such as web searching, code execution, file processing, or integration with external services like Google Calendar, Notion, or Slack.
Discovering Available Abilities
The platform provides a comprehensive catalog of abilities that you can browse and integrate into your applications. Each ability comes with a detailed schema defining its configuration parameters, making it easy to understand what inputs are required and how to configure the ability for your specific use case.
To retrieve the list of all available platform abilities, send a GET request to the abilities endpoint:
GET /api/v1/platform/ability/listhttp
The response includes an array of ability objects, each containing:
- id: URL-safe kebab-case slug derived from the template key (e.g.,
google-calendar-event-list) - template: The original catalogue identifier for the ability (e.g.,
google/calendar/event/list) - name: Human-readable name of the ability
- description: Detailed explanation of what the ability does
- icon: Visual icon identifier for UI representation
- instruction: The ability instruction template (ready to use)
- tags: Array of tags for categorization and filtering
- schema: JSON schema defining configuration parameters
- setup: Optional setup instructions for the ability
- commentary: Additional context or usage notes
Understanding Ability Schemas
Each ability includes a JSON schema that defines its configuration structure. The schema specifies the parameters that can be configured, their types, whether they're required or optional, enumerated values for select fields, and default values. This schema-driven approach ensures type safety and provides clear documentation for how to configure each ability.
{ "id": "web-search", "template": "web/search", "name": "Web Search", "description": "Search the web for information", "instruction": "template: \"web/search\"\\nparameters:\\n query: ...", "tags": ["search", "web"], "schema": { "type": "object", "parameters": { "query": { "type": "string", "title": "Search Query" }, "maxResults": { "type": "number", "default": 10 } }, "required": ["query"] } }javascript
Integration Considerations
When integrating abilities into your agents or applications, review the
schema carefully to understand configuration requirements. Some abilities
may require external API keys or authentication credentials, which should
be securely stored and referenced through the platform's secret management
system. The setup field provides guidance on any prerequisite steps needed
before using an ability.
Note: The list of available abilities may vary based on your subscription plan and account permissions. Some advanced abilities may require specific plan levels or additional configuration.
Searching Abilities
Semantic search helps you find the most relevant platform abilities quickly. The endpoint compares your natural language query against pre-generated embeddings for each ability and returns ranked results sorted by relevance. This is the recommended way to discover abilities before installing them on a skillset, especially when building dynamic or AI-driven configurations.
POST /api/v1/platform/ability/search Content-Type: application/json { "search": "calendar scheduling and event management", "take": 10 }http
The search field accepts natural language queries. Describe what you want
the ability to accomplish - for example "send an email with attachment",
"search and retrieve web pages", or "create a Jira issue". The optional
take parameter controls the number of returned results (between 1 and 100,
default 10).
Ability Search Response Fields
Each item in the items array contains the following fields:
- id: Kebab-case slug derived from the template key (e.g.
google-calendar-event-list). Use this as a stable reference. - template: The original catalogue key (e.g.
google/calendar/event/list). Use this when installing the ability on a skillset. - name: Human-readable name of the ability.
- description: Short explanation of what the ability does.
- instruction: The processed instruction text the AI model uses when invoking this ability. For non-example abilities, this is a callable template instruction with parameter placeholders.
- schema: JSON Schema object describing the parameters the ability accepts. Use this to understand required and optional inputs.
- bot: Optional bot configuration reference attached to this ability.
- file: Optional file resource linked to this ability.
- secret: The secret identifier required to authenticate this ability
(e.g.
@google/calendar). Use this to pre-configure secrets before installing. - space: Optional space resource reference for this ability.
- provider: The service provider name (e.g.
google,slack). - icon: URL or icon reference for displaying in UI.
- tags: Array of string tags for categorisation (e.g.
["calendar", "productivity"]). - setup: User-facing instructions for obtaining required credentials.
- commentary: Internal notes about quirks or caveats of this ability.
- score: Cosine similarity score between 0 and 1. Higher values indicate a closer semantic match to your query. Scores above 0.7 are typically strong matches.
- excerpt: Text snippet from the most semantically relevant section of the ability description - useful for quickly previewing relevance.
- link: URL to the full ability page on the ChatBotKit website.
{ "items": [ { "id": "google-calendar-event-list", "template": "google/calendar/event/list", "name": "List Calendar Events", "description": "Retrieve upcoming events from a Google Calendar", "secret": "@google/calendar", "provider": "google", "tags": ["calendar", "productivity", "google"], "score": 0.93, "excerpt": "Lists upcoming calendar events filtered by date range...", "link": "https://chatbotkit.com/abilities/google-calendar-event-list" } ] }javascript