Skip to main content
Builtins catalog / nika:notify

Network

Tool family from the canonical registry.

invoke

Call this builtin through the invoke verb.

Read this contract

This reference preserves the specification at the revision linked below. Source examples are fragments: their surrounding tasks, inputs and permissions are not supplied here. Consult engine status and nika catalog --tools --json for the installed implementation; a registry declaration is not a runtime qualification.

Usage and behavior

illustration
Send notifications · channel: enum (webhook/slack/email/discord/sms · one builtin not 5). The 1.0 engine MUST support webhook · others MAY be feature-gated. data: (OPTIONAL · any JSON value) carries structured context alongside the human message: the webhook payload is { message, severity, data? } (the key is absent when not given · receivers branch on machine fields, never parse the message). Returns null on accepted delivery. Throws · NIKA-BUILTIN-NOTIFY-001 (channel unconfigured · validation_error) · -002 (delivery failed · network_error · transient engine-assessed). Injection defense (normative) · the webhook payload is JSON-encoded, so the message cannot break its transport (serde escaping neutralizes "/newlines). A channel that renders the message into a DIFFERENT medium MUST neutralize that medium’s injection surface when implemented · email MUST reject/strip CR/LF in any header-bound field (target:/subject) against RFC 5322 header injection · slack/discord MUST treat the message as text, never a trusted mrkdwn/mention control string · sms MUST bound length to the carrier segment limit. The webhook target: rides the same SSRF boundary as nika:fetch (private-network / cloud-metadata rejected). Same discipline as the nika:fetch SSRF requirement · an output channel that reaches an interpreter neutralizes that interpreter’s control surface.

Arguments

Pass the values required by the tool contract.

Permissions

Understand authority before granting effects.

Errors and recovery

Read diagnostics and choose a recovery policy.

Workflow templates

Put the fragment inside a complete workflow.

Contract provenance

Read the pinned specification · Canonical registry. Tool identity: nika:notify. Specification revision: f8c5df2127c7. The Lab language identity is language:tool:notify; the registry view is ecosystem:tool/nika:notify. They refer to this contract without merging their graph identities.