linq

Linq API integration for n8n

Package Information

Released: 6 mo ago
Downloads: 62 weekly / 110 monthly
Latest Version: 4.1.0
Author: alexautomates

Documentation

n8n-nodes-linq

Community node for the Linq Partner API v3 in n8n. The current implementation covers chats, messages, attachments, phone numbers, webhook subscriptions, and Linq webhooks from your workflows.

Ownership: The Linq Partner API is owned and operated by Linq (https://linqapp.com/). This repository is community-maintained by Everyday Workflows.

Disclaimer: This is a community-built integration. It is not affiliated with, endorsed by, or supported by Linq App Inc.

Acceptable use: Users are responsible for complying with Linq’s Acceptable Use Policy and Apple’s Business Chat guidelines. Automated messaging should only be used for transactional or opted‑in communications.

Quick links

Requirements

  • Node.js >= 20.15
  • n8n compatible with n8n-workflow ^1.120.10

Installation (in n8n)

  • Using the n8n UI:

    1. Settings → Community Nodes → Install
    2. Enter: n8n-nodes-linq
    3. Restart n8n if prompted
  • Headless / environment variable:

    • Add n8n-nodes-linq to N8N_COMMUNITY_PACKAGES (or install with npm in your instance) and restart n8n.

Credentials

Create a new credential of type Linq API:

  • API Token: Linq Partner API token used as Authorization: Bearer <token>
  • Webhook Signing Secret: Required for Linq Trigger signature verification
    • This is returned only once when a webhook subscription is created. Store it securely.

Where it’s defined:

Node usage

Add the Linq node to your workflow. Operations map to Linq Partner API v3 endpoints.

Supported resources and operations

Chat

  • Get Many → GET /v3/chats (supports optional from, to, cursor, and limit)
  • Get One → GET /v3/chats/{chatId}
  • Find (legacy helper) → GET /v3/chats using to plus the older phone_numbers[] fallback when multiple handles are supplied
  • Create → POST /v3/chats
  • Leave → POST /v3/chats/{chatId}/leave
  • Share Contact → POST /v3/chats/{chatId}/share_contact_card
  • Start Typing → POST /v3/chats/{chatId}/typing
  • Stop Typing → DELETE /v3/chats/{chatId}/typing
  • Mark as Read → POST /v3/chats/{chatId}/read
  • Send Voice Memo → POST /v3/chats/{chatId}/voicememo

Create and send operations support:

  • text parts
  • direct media URLs
  • pre-uploaded attachment_id values
  • rich link URLs
  • threaded replies (reply_to)
  • iMessage effects
  • preferred service selection
  • idempotency keys

Chat Message

  • Get Many → GET /v3/chats/{chatId}/messages
  • Get One → GET /v3/messages/{messageId}
  • Create → POST /v3/chats/{chatId}/messages
  • Edit → PATCH /v3/messages/{messageId}
  • Delete → DELETE /v3/messages/{messageId}
  • React → POST /v3/messages/{messageId}/reactions
  • Get Thread → GET /v3/messages/{messageId}/thread

Phone Number

  • Get Many → GET /v3/phone_numbers

Webhook Subscription

  • Get Events → GET /v3/webhook-events
  • Get Many → GET /v3/webhook-subscriptions
  • Get One → GET /v3/webhook-subscriptions/{subscriptionId}
  • Create → POST /v3/webhook-subscriptions
  • Update → PUT /v3/webhook-subscriptions/{subscriptionId}
  • Delete → DELETE /v3/webhook-subscriptions/{subscriptionId}

Linq Trigger Node

Add the Linq Trigger node to start workflows when Linq events occur. The trigger automatically registers a webhook with Linq when the workflow is activated.

Supported Events

The trigger supports the current documented webhook event families, including:

  • message.*
  • participant.*
  • reaction.*
  • chat.*
  • phone_number.status_updated
  • call.*

Security

  • The trigger verifies Linq webhooks using HMAC-SHA256
  • Uses X-Webhook-Timestamp + raw request body for the signature payload: {timestamp}.{payload}
  • Requires the Webhook Signing Secret from credentials
  • Accepts both the current documented webhook envelope (event_type + data) and the older legacy envelope (event + payload)

Examples

Send a group message

  • Resource: Chat → Create
  • Fields:
    • Send From (required): +13175551234
    • Display Name (optional): Project A
    • Phone Numbers: +13341234567, +13347654321
    • Message Text: Hello from n8n!

Create a webhook subscription

  • Resource: Webhook Subscription → Create
  • Fields:
    • Webhook URL: https://example.com/webhooks/linq
    • Events: message.sent, message.received, contact.created
    • Active: true

Development

Requirements:

  • Node.js >= 20
  • npm or pnpm (npm commands below)

Install and build:

cd n8n-nodes-linq
npm install
npm run build
npm run lint

Local link for testing in n8n:

# in this folder
npm link
# in your n8n folder
npm link n8n-nodes-linq
# restart n8n, then add "Linq" node

Project files of interest:

Publishing to npm

npm run build
npm publish --access public

License

MIT — see LICENSE.md.

Discussion