Actions10
Custom Chat Call
AI-generatedSummary
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!' }
