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

Informações da origem

Repositório
OpenCTI-Platform/opencti
Última atividade na origem
12 de maio de 2026 às 12:56
Idioma detectado do SKILL.md
inglês
Estrelas
10.123
Forks
1.478

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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 no GitHub