All nodes/Integrations/VK

Send VK Message

Sends a message via the VK API (messages.send). Connection: a VK connection node on the 'VK connection' port, or a saved connection picked in the node itself (the port wins). peer_id and text are set in the config (templates supported). A VK error fails the node — wire the Error output to handle it in the scenario.

Send VK Message▶
VK connectionOutcome
Error

Type in the graph: vk_send_message

Exec

An error output can be enabled to handle failures on their own path.

Try it

Minimal working scenario

Entry
Send VK Message▶
VK Config
Exit▶
  • Execute
  • Data
  • Execute + Data
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Pick your own connection or knowledge base first — the graph carries REPLACE_ME.

When to use it

This node sends one text message through VK: a notice into a conversation, a reply in a community’s messages, an alert about how a run finished. You decide who gets what — this is a graph step, not an agent tool: the node has no tool_out port, so a model cannot call it. To let the model decide, wrap the node in a WF Tool.

How it works

“Peer ID” and “Message” are template fields, so run data can be substituted into them. The recipient id also encodes the kind of recipient: a user is a plain number (12345), a community is the same number negated (-98765), and a conversation is 2000000000 plus the conversation number (conversation 5 → 2000000005).

The node’s output is the message_id of the sent message. VK answers with HTTP 200 even for a refusal (an expired token, missing rights, an unreachable recipient), so the node inspects the reply itself and stops on failure. Turn on “Error output” to handle that in the graph; without it the run ends in failure.

Common mistakes

  • A wrong Peer ID. A bad number does not produce a refusal — the message simply reaches someone else. Mixing up a conversation (which needs 2000000000 + the number) with a user id is the easiest way to get there.
  • Empty text. The validator only insists on a Peer ID, so a blank “Message” survives until the run — and VK rejects it, stopping the node.
  • Attachments. The node sends text only; it has no ports for files or media.
  • Re-running as a way to “resend”. Every call carries a fresh uniqueness marker, so re-running the scenario sends a second message rather than replacing the first.
  • Formatting. The text goes out as-is; markup from a model’s answer reaches the recipient with its asterisks showing.

Inputs

PortWirePayloadNotes
VK connectionvk_configDatadata—

required

Outputs

PortWirePayloadNotes
OutcomeoutputExecute + Dataexecute_dataobject
Erroron_errorExecute + Dataexecute_data—

shown when expose_error_output = true

Configuration

FieldTypeDefaultDescription
VK connectionconnection_idstring""

Saved workspace VK connection, so a one-message graph does not need a separate VK Config node. A node wired to the 'vk_config' port wins over this field.

connection: vkoverridden by port: vk_config

Peer IDpeer_idstring""

Recipient. VK peer_id: a user id (12345), a community with a minus (-98765), a conversation is 2000000000 + its number (conversation 5 → 2000000005). Templates are supported

supports templates

Messagemessagestring""

Message text (templates supported)

supports templates

Shared fields

Every node has these three — the platform adds them, not the node author.

  • expose_error_output — When enabled, show an execution output to connect nodes that run if this step fails.

Ready-made examples using this node