dmly

This is an n8n community node. It lets you use DMLY in your n8n workflows.

Package Information

Downloads: 6 weekly / 32 monthly
Latest Version: 0.1.3
Author: DMLY

Documentation

n8n-nodes-dmly

This is an n8n community node that lets you integrate DMLY with your n8n workflows.

DMLY is an AI-powered business messaging platform for WhatsApp, Messenger, Instagram, Telegram, and website chat.

n8n is a workflow automation platform.

Installation

Automatic - from n8n UI (recommended)

  1. Go to Settings -> Community Nodes in your n8n instance.
  2. Click Install.
  3. Enter n8n-nodes-dmly as the package name.
  4. Click Install.

Manual - command line

Install in your custom nodes folder:

mkdir -p ~/.n8n/custom
cd ~/.n8n/custom
npm init -y
npm install n8n-nodes-dmly

Restart n8n after installation.

Included nodes

  • DMLY (action node)
  • DMLY Trigger (trigger node)

Supported resources and operations

Account

  • Get Info

Contacts

  • Create
  • Get
  • Get Many
  • Update
  • Delete
  • Add Tags
  • Remove Tags
  • Assign Chat

Contact Tags

  • Create
  • Get
  • Get Many
  • Delete

Staff

  • Get
  • Get Many

Workspaces

  • Get
  • Get Many

Segments

  • Create
  • Get
  • Get Many
  • Delete

Broadcasts

  • Create
  • Get
  • Get Many
  • Update
  • Delete
  • Get Logs

Webhooks

  • Create
  • Get
  • Get Many
  • Update
  • Delete

WhatsApp Templates

  • Create
  • Get
  • Get Many

Messages

  • Get by Contact
  • Send (multi-channel)

Message send coverage includes:

  • WhatsApp: text, media, template, catalog, product, product list, interactive list, interactive buttons, interactive CTA URL
  • Telegram: text, media, template
  • Instagram: text, media, template
  • Messenger: text, media, template
  • Website chat: text, media, template

Trigger events

The DMLY Trigger node auto-registers a webhook in DMLY and supports:

  • Incoming/Outgoing WhatsApp messages
  • Incoming/Outgoing Instagram messages
  • Incoming/Outgoing Messenger messages
  • Incoming/Outgoing Telegram messages
  • Incoming/Outgoing website messages
  • Contact created
  • Contact tag added
  • Contact tag removed

Credentials setup

Create DMLY API credentials in n8n:

  • Base URL: https://api.dmly.io/rest
  • API Key: your DMLY REST API key

You can generate API keys in DMLY under:

  • Integrations -> REST API

Notes

  • For complex operations, the node exposes a Payload (JSON) field so you can pass full API body objects.
  • For WhatsApp send operations, the node normalizes both recipient and recepient key variants for compatibility.

Quick payload examples

Use these in the corresponding Payload (JSON) fields in the DMLY node.

Contact -> Create (contactPayload)

{
  "name": "John Doe",
  "phoneNumber": "+15551234567",
  "notes": "Created from n8n",
  "tags": ["Lead", "VIP"],
  "workspace": {
    "id": "YOUR_WORKSPACE_ID"
  }
}

Segment -> Create (segmentPayload)

{
  "name": "VIP Leads",
  "type": "contact",
  "criteria": {
    "workspaces": [
      {
        "id": "YOUR_WORKSPACE_ID"
      }
    ],
    "tags": ["VIP"],
    "exclusionTags": ["unsubscribe"],
    "contactStage": "Lead"
  },
  "workspace": {
    "id": "YOUR_WORKSPACE_ID"
  }
}

Broadcast -> Create (broadcastPayload)

{
  "name": "Promo Broadcast",
  "type": "contact",
  "segments": [
    {
      "id": "YOUR_SEGMENT_ID"
    }
  ],
  "template": {
    "name": "your_template_name",
    "language": "en"
  },
  "bodyTextParameters": ["{{contact.name}}"],
  "workspace": {
    "id": "YOUR_WORKSPACE_ID"
  }
}

Message -> WhatsApp Text (messagePayload)

{
  "contact": {
    "id": "YOUR_CONTACT_ID"
  },
  "workspace": {
    "id": "YOUR_WORKSPACE_ID"
  },
  "textMessage": "Hello from n8n"
}

Message -> WhatsApp Template to phone (messagePayload)

{
  "recipient": {
    "phoneNumber": "+15551234567",
    "name": "John Doe"
  },
  "workspace": {
    "id": "YOUR_WORKSPACE_ID"
  },
  "template": {
    "name": "your_template_name",
    "language": "en"
  },
  "bodyTextParameters": ["John Doe"],
  "buttonUrlParameters": []
}

WhatsApp Template -> Create (whatsappTemplatePayload)

{
  "template": {
    "category": "UTILITY",
    "language": "en",
    "name": "order_update_template",
    "components": [
      {
        "type": "BODY",
        "text": "Hello {{1}}, your order {{2}} is ready."
      }
    ]
  },
  "workspace": {
    "id": "YOUR_WORKSPACE_ID"
  }
}

Development

npm install
npm run build
npm run lint

API and docs

License

MIT

Discussion