Creates a new connector spec for Kibana. Use when asked to create (or add) a new connector, integration, or data source.
We're going to create a new connector spec for $0. The connector will enable Kibana to interact with the third-party service and expose operations as tools for AI agents.
Check if $0 has an official hosted MCP server. If so, creating an MCP-native connector is preferred.
MCP server available? → Read reference/mcp-connector-setup.md and follow its steps.
No MCP server available? → Read and follow its steps.
Follow only the steps for the chosen path. Do not mix them.
Create the connector spec in src/platform/packages/shared/kbn-connector-specs/src/specs/{connector_name}/.
Follow the patterns in reference/connector-patterns.md:
{connector_name}.ts — ConnectorSpec definition with metadata, auth, schema, and actionstypes.ts — Zod input schemas and inferred TypeScript types for each action{connector_name}.test.ts — Unit testsicon/index.tsx — Brand icon componentRegister in src/platform/packages/shared/kbn-connector-specs/src/all_specs.ts and connector_icons_map.ts.
Replace the placeholder icon with a proper brand icon. Search for existing SVG/PNG files in:
src/platform/packages/shared/kbn-connector-specs/src/specs/*/icon/x-pack/platform/plugins/shared/stack_connectors/public/connector_types/{connector}/AI agents rely on descriptions to choose the right action and construct valid inputs. Every action and parameter must have high-quality descriptive text.
isTool and action descriptionsActions should set isTool: true to be discoverable by AI agents in Agent Builder. This is the default for most actions. Use isTool: false only for actions that should not be invoked autonomously (e.g. destructive or admin-only operations).
Every entry MUST have a description field (plain string, NOT i18n.translate()) that explains:
Every Zod parameter in input schemas MUST have a .describe() call that includes:
See the ServiceNow, Slack, and GitHub connector specs for examples of strong description quality.
skill propertyAdd a skill property to the ConnectorSpec — a markdown string providing higher-level LLM guidance:
Use the [...].join('\n') pattern to keep the string readable in source: