directsaz

n8n community node for Directsaz — Instagram DM/comment automation. Trigger on Instagram events (DMs, comments, story replies) and send replies through the Directsaz Developer API.

Package Information

Released: 2 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.2
Author: Directsaz

Documentation

n8n-nodes-directsaz

n8n community nodes for Directsaz (international brand: Roxjet) — Instagram DM & comment automation.

  • Directsaz Trigger — starts a workflow when your Instagram account receives a DM, story reply, comment, live comment, or button postback (delivered by the Directsaz Developer API webhook, HMAC-verified).
  • Directsaz — sends replies back: direct messages (text / image / video / audio / PDF / carousel with buttons), private replies to comments, public comment replies, message likes — plus reading your posts and checking whether a user follows you.

Prerequisites

  1. A Directsaz channel with an active Instagram subscription and a connected Instagram account.
  2. A developer app created in the Directsaz panel, which gives you:
    • the API key ds_live_… (shown once — store it safely),
    • a webhook_token you choose,
    • an ip_whitelist that must include your n8n server's public IP (API calls from other IPs get HTTP 403).

Installation

In n8n: Settings → Community Nodes → Install and enter n8n-nodes-directsaz.

Credential setup

Create a Directsaz API credential:

Field Value
API Key your ds_live_… key
Base URL https://developers.directsaz.com/api/v1 (default)
Webhook Token the webhook_token of your developer app (needed for the Trigger node)

Receiving events (Directsaz Trigger)

The order matters, because Directsaz challenges your webhook URL at save time:

  1. Add the Directsaz Trigger node, select the credential (with Webhook Token set).
  2. Activate the workflow. The challenge only passes while the workflow is active, and only against the Production webhook URL.
  3. Copy the node's Production URL and set it as your developer app's webhook_url in the Directsaz panel (PUT /developer-app/{channel}/webhook), with the same webhook_token as in the credential.
  4. Directsaz sends the GET challenge; the node answers it automatically. If subscription fails, check that the workflow is active and the tokens match.

Each Instagram event becomes one workflow item, e.g.:

{
  "type": "dm",
  "account_id": "17841…",
  "sender": { "id": "IGSCOPED_USER_ID" },
  "message": { "id": "MESSAGE_MID", "text": "hello" },
  "actions": {
    "dm": { "recipient_id": "IGSCOPED_USER_ID" },
    "like": { "recipient_id": "IGSCOPED_USER_ID", "message_id": "MESSAGE_MID" }
  }
}

Feed actions.* values straight into the Directsaz node (e.g. Recipient ID = {{ $json.actions.dm.recipient_id }}).

Deliveries are verified against the X-Directsaz-Signature HMAC header (300s clock-skew tolerance) — you can tune or disable this under Options.

Note: repeated failed deliveries (timeouts / non-2xx) cause Directsaz to disable the webhook subscription until you set it again. Keep the workflow active.

Sending (Directsaz node)

Operation What it does
Send Direct Message DM by recipient ID — text (+ up to 3 buttons), image, video, audio, PDF, or a 1–10 card carousel
Send Private Reply DM in reply to a comment (same message types)
Reply to Comment Public text reply under a comment (max 2200 chars)
Like Message Like a received DM
Get Posts List the account's Instagram posts (paginated)
Check Follow Status Does this user follow the account?

A 202 response means queued — delivery to Instagram is asynchronous. Requests that violate Instagram messaging limits are rejected up front with HTTP 422 and a list of field errors. Comment replies share the account's rate budget (550/hour) with panel automations; on limit you get HTTP 429.

Full API reference: the Directsaz Developer API client guide (CLIENT.md).

Development

npm install
npm run build       # tsc + copy icons to dist/

To test locally, link the package into your n8n custom nodes directory:

npm run build
mkdir -p ~/.n8n/custom
cd ~/.n8n/custom && npm link n8n-nodes-directsaz

(after npm link in this repo's root), then restart n8n.

License

MIT

Discussion