All nodes/Integrations/VK / VK Teams

Send VK Message

Sends a message via the VK API (messages.send). Requires VK Config via the 'vk_config' port. peer_id and text are set in the config (templates supported).

Send VK Message
VK ConfigSuccess
Error

Type in the graph: vk_send_message

Exec

An error branch can be enabled (expose_error_output) to handle failures on their own path.

Try it

Minimal working workflow

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.

For the corporate messenger VK Teams there is a different node — Send VK Teams Message.

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 workflow 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 Configvk_configDatadata

required

Outputs

PortWirePayloadNotes
SuccessoutputExecute + 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's VK peer_id (user/chat/community; templates 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.