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).
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
- Execute
- Data
- Execute + Data
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
| Port | Wire | Payload | Notes |
|---|---|---|---|
VK Configvk_config | Datadata | — | required |
Outputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Successoutput | Execute + Dataexecute_data | object | |
Erroron_error | Execute + Dataexecute_data | — | shown when expose_error_output = true |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
VK connectionconnection_id | string | "" | 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_id | string | "" | Recipient's VK peer_id (user/chat/community; templates supported) supports templates |
Messagemessage | string | "" | 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.