Skip to main content

create-playbook-component

Use when: adding a new playbook automation component, implementing a PlaybookComponent interface, or registering a new playbook step

Datos de origen

Repositorio
OpenCTI-Platform/opencti
Última actividad en el origen
12 de mayo de 2026 a las 12:56
Idioma detectado de SKILL.md
inglés
Estrellas
10.200
Forks
1489

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
create-playbook-component
description
Use when: adding a new playbook automation component, implementing a PlaybookComponent interface, or registering a new playbook step
# Create Playbook Component ## Prerequisites - **Component ID**: Unique uppercase ID (e.g., `PLAYBOOK_MY_COMPONENT`). - **Configuration**: List of fields required from the user. ## Procedure ### Step 1 — Create Component File Location: `opencti-platform/opencti-graphql/src/modules/playbook/components/<name>-component.ts`. ### Step 2 — Define Configuration Schema Define a TypeScript interface for the config and a JSONSchema for validation. ```typescript export interface MyComponentConfig { key: string; } const SCHEMA: JSONSchemaType<MyComponentConfig> = { type: 'object', properties: { key: { type: 'string' }, }, required: ['key'], }; ``` ### Step 3 — Implement Component Interface Implement `PlaybookComponent<MyComponentConfig>`. ```typescript export const PLAYBOOK_MY_COMPONENT: PlaybookComponent<MyComponentConfig> = { id: 'PLAYBOOK_MY_COMPONENT', name: 'My Component', description: 'Does something useful', icon: 'icon-name', is_entry_point: false, is_internal: true, ports: [{ id: 'out', type: 'out' }], configuration_schema: SCHEMA, schema: async () => SCHEMA, executor: async ({ bundle, playbookNode }) => { // Business logic here const config = playbookNode.configuration; return { output_port: 'out', bundle }; }, }; ``` ### Step 4 — Register Component Import and add to `PLAYBOOK_COMPONENTS` in `src/modules/playbook/playbook-components.ts`.
Ver en GitHub