Synology Chat icon

Synology Chat

Synology Chat operations (v2 safe set)

Custom Chat Call

AI-generated

Summary

Performs a custom call to any Synology Chat API endpoint.

Inputs

  • api — The Synology Chat API to call (e.g., SYNO.Chat.Channel, SYNO.Chat.Post). Defaults to SYNO.Chat.Channel if not set. Must be a string. This parameter is used with the method to construct the API request to the DSM web API entry point (entry.cgi). The node automatically determines the highest supported version of the API via the API info cache, logs in if needed, and sends the request with the provided parameters and session ID (_sid). The request is made via a GET request to the resolved API path with the parameters api, method, version, _sid, and any extra params normalized by normalizeParamValue. If the response indicates an authentication error (codes 105, 106, 107, 119), the node will retry after re‑logging in once. On success the raw DSM response (including success flag and data payload) is returned; on failure an error is thrown which n8n can surface as a node error.
  • method — The method to invoke on the selected API (e.g., list, get, create, send, add). Defaults to list if not set. Must be a string. It is passed directly to the DSM API call after version resolution.
  • paramsJson — Additional parameters for the API call, supplied as a JSON object. Defaults to an empty object. The values are normalized (booleans to 'true'/'false', objects/arrays to JSON strings, undefined/null omitted) before being merged into the request parameters.

Output shape

json

The node returns the raw response from the Synology DSM API. Typically this is an object with a success flag (true/false) and a data property containing the API-specific result. If the call fails, the node throws an error that can be caught by n8n's error handling (continueOnFail, etc.). Because the node uses executePerItem, each input item yields one output item where the output JSON is the API response wrapped under the json key (i.e., { json: }).

Examples

Example 1: List the first 20 channels

api: SYNO.Chat.Channel (default), method: list (default), paramsJson: { limit: 20 }

Example 2: Create a post in a known channel

api: SYNO.Chat.Post, method: create, paramsJson: { channel_id: 123, message: 'Hello from n8n!' }

Links

Discussion