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.
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
- 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.
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
| Port | Wire | Payload | Notes |
|---|---|---|---|
VK connectionvk_config | Datadata | — | required |
Outputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Outcomeoutput | 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. 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 |
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.