Skip to content

agent-plugin-webhook / Exports / WebhookPlugin

Class: WebhookPlugin

Sends HTTP webhook notifications for agent execution lifecycle events.

Routes events to configured endpoints with optional event filtering per endpoint. Supports asynchronous delivery with configurable concurrency, automatic retries via WebhookHttpClient, and optional payload batching.

Lifecycle hooks used: AbstractPlugin.afterExecution | afterExecution, AbstractPlugin.afterConversation | afterConversation, AbstractPlugin.afterToolExecution | afterToolExecution, AbstractPlugin.onError | onError

See

  • IWebhookPluginOptions - configuration options
  • WebhookTransformer - payload transformation utilities
  • WebhookHttpClient - HTTP delivery client

Example

ts
const plugin = new WebhookPlugin({
  endpoints: [{ url: 'https://example.com/hook' }],
  async: true,
  maxConcurrency: 3,
});

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new WebhookPlugin(options): WebhookPlugin

Parameters

NameType
optionsIWebhookPluginOptions

Returns

WebhookPlugin

Overrides

AbstractPlugin<IWebhookPluginOptions, IWebhookPluginStats>.constructor

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:99

Properties

enabled

enabled: boolean

Inherited from

AbstractPlugin.enabled

Defined in

agent-core/dist/node/index.d.ts:1049


category

category: PluginCategory

Inherited from

AbstractPlugin.category

Defined in

agent-core/dist/node/index.d.ts:1050


priority

priority: number

Inherited from

AbstractPlugin.priority

Defined in

agent-core/dist/node/index.d.ts:1051


name

name: string = 'WebhookPlugin'

Overrides

AbstractPlugin.name

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:85


version

version: string = '1.0.0'

Overrides

AbstractPlugin.version

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:86

Methods

initialize

initialize(options?): Promise<void>

Parameters

NameType
options?IWebhookPluginOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.initialize

Defined in

agent-core/dist/node/index.d.ts:1063


subscribeToModuleEvents

subscribeToModuleEvents(eventEmitter): Promise<void>

Parameters

NameType
eventEmitterIEventEmitterPlugin

Returns

Promise<void>

Inherited from

AbstractPlugin.subscribeToModuleEvents

Defined in

agent-core/dist/node/index.d.ts:1064


unsubscribeFromModuleEvents

unsubscribeFromModuleEvents(eventEmitter): Promise<void>

Parameters

NameType
eventEmitterIEventEmitterPlugin

Returns

Promise<void>

Inherited from

AbstractPlugin.unsubscribeFromModuleEvents

Defined in

agent-core/dist/node/index.d.ts:1065


dispose

dispose(): Promise<void>

Returns

Promise<void>

Inherited from

AbstractPlugin.dispose

Defined in

agent-core/dist/node/index.d.ts:1066


enable

enable(): void

Returns

void

Inherited from

AbstractPlugin.enable

Defined in

agent-core/dist/node/index.d.ts:1067


disable

disable(): void

Returns

void

Inherited from

AbstractPlugin.disable

Defined in

agent-core/dist/node/index.d.ts:1068


isEnabled

isEnabled(): boolean

Returns

boolean

Inherited from

AbstractPlugin.isEnabled

Defined in

agent-core/dist/node/index.d.ts:1069


getConfig

getConfig(): IPluginConfig

Returns

IPluginConfig

Inherited from

AbstractPlugin.getConfig

Defined in

agent-core/dist/node/index.d.ts:1070


updateConfig

updateConfig(_config): void

Parameters

NameType
_configIPluginConfig

Returns

void

Inherited from

AbstractPlugin.updateConfig

Defined in

agent-core/dist/node/index.d.ts:1071


getData

getData(): IPluginData

Returns

IPluginData

Inherited from

AbstractPlugin.getData

Defined in

agent-core/dist/node/index.d.ts:1072


clearData

clearData(): void

Returns

void

Inherited from

AbstractPlugin.clearData

Defined in

agent-core/dist/node/index.d.ts:1073


getStatus

getStatus(): Object

Returns

Object

NameType
namestring
versionstring
enabledboolean
initializedboolean
categoryPluginCategory
prioritynumber
subscribedEventsCountnumber
hasEventEmitterboolean

Inherited from

AbstractPlugin.getStatus

Defined in

agent-core/dist/node/index.d.ts:1074


beforeRun

beforeRun(input, options?): Promise<void>

Parameters

NameType
inputstring
options?IRunOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeRun

Defined in

agent-core/dist/node/index.d.ts:1087


afterRun

afterRun(input, response, options?): Promise<void>

Parameters

NameType
inputstring
responsestring
options?IRunOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.afterRun

Defined in

agent-core/dist/node/index.d.ts:1088


beforeExecution

beforeExecution(context): Promise<void>

Parameters

NameType
contextIPluginExecutionContext

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeExecution

Defined in

agent-core/dist/node/index.d.ts:1089


beforeConversation

beforeConversation(context): Promise<void>

Parameters

NameType
contextIPluginExecutionContext

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeConversation

Defined in

agent-core/dist/node/index.d.ts:1091


beforeToolCall

beforeToolCall(toolName, parameters): Promise<void>

Parameters

NameType
toolNamestring
parametersTToolParameters

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeToolCall

Defined in

agent-core/dist/node/index.d.ts:1093


beforeToolExecution

beforeToolExecution(context, toolData): Promise<void>

Parameters

NameType
contextIPluginExecutionContext
toolDataIToolExecutionContext

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeToolExecution

Defined in

agent-core/dist/node/index.d.ts:1094


afterToolCall

afterToolCall(toolName, parameters, result): Promise<void>

Parameters

NameType
toolNamestring
parametersTToolParameters
resultIToolExecutionResult

Returns

Promise<void>

Inherited from

AbstractPlugin.afterToolCall

Defined in

agent-core/dist/node/index.d.ts:1095


beforeProviderCall

beforeProviderCall(messages): Promise<void>

Parameters

NameType
messagesTUniversalMessage[]

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeProviderCall

Defined in

agent-core/dist/node/index.d.ts:1097


afterProviderCall

afterProviderCall(messages, response): Promise<void>

Parameters

NameType
messagesTUniversalMessage[]
responseTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.afterProviderCall

Defined in

agent-core/dist/node/index.d.ts:1098


onStreamingChunk

onStreamingChunk(chunk): Promise<void>

Parameters

NameType
chunkTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.onStreamingChunk

Defined in

agent-core/dist/node/index.d.ts:1099


onMessageAdded

onMessageAdded(message): Promise<void>

Parameters

NameType
messageTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.onMessageAdded

Defined in

agent-core/dist/node/index.d.ts:1101


onModuleEvent

onModuleEvent(eventName, eventData): Promise<void>

Parameters

NameType
eventNameTEventName
eventDataIEventEmitterEventData

Returns

Promise<void>

Inherited from

AbstractPlugin.onModuleEvent

Defined in

agent-core/dist/node/index.d.ts:1102


afterExecution

afterExecution(context, result): Promise<void>

Sends an execution-complete webhook after the agent finishes processing.

Parameters

NameType
contextIPluginExecutionContext
resultIPluginExecutionResult

Returns

Promise<void>

Overrides

AbstractPlugin.afterExecution

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:157


afterConversation

afterConversation(context, result): Promise<void>

Sends a conversation-complete webhook after a conversation round finishes.

Parameters

NameType
contextIPluginExecutionContext
resultIPluginExecutionResult

Returns

Promise<void>

Overrides

AbstractPlugin.afterConversation

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:171


afterToolExecution

afterToolExecution(context, toolResults): Promise<void>

Sends a tool-executed webhook for each tool call in the result set.

Parameters

NameType
contextIPluginExecutionContext
toolResultsIPluginExecutionResult

Returns

Promise<void>

Overrides

AbstractPlugin.afterToolExecution

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:185


onError

onError(error, context?): Promise<void>

Sends both an error-occurred and execution-error webhook on failure.

Parameters

NameType
errorError
context?IPluginErrorContext

Returns

Promise<void>

Overrides

AbstractPlugin.onError

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:209


sendWebhook

sendWebhook(event, data, metadata?): Promise<void>

Builds a webhook payload and delivers it to all matching endpoints. When batching is enabled, payloads are queued and flushed at the configured interval.

Parameters

NameType
eventTWebhookEventName
dataIWebhookEventData
metadata?TWebhookMetadata

Returns

Promise<void>

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:232


sendCustomWebhook

sendCustomWebhook(data, metadata?): Promise<void>

Sends a webhook with the custom event type.

Parameters

NameType
dataIWebhookEventData
metadata?TWebhookMetadata

Returns

Promise<void>

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:273


getStats

getStats(): IWebhookPluginStats

Get webhook plugin statistics

Returns

IWebhookPluginStats

Overrides

AbstractPlugin.getStats

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:444


clearQueue

clearQueue(): void

Clear webhook queue

Returns

void

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:463


destroy

destroy(): Promise<void>

Flushes pending batches, clears request queues, and stops the batch timer.

Returns

Promise<void>

Defined in

agent-plugin-webhook/src/webhook-plugin.ts:472

Released under the MIT License.