n8n-nodes-linq
v4.1.0
Published
Linq API integration for n8n
Downloads
276
Maintainers
Readme
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
- Usage guide: docs/usage.md
- API reference (v3): docs/api-reference.md
- Official Linq docs: https://apidocs.linqapp.com/documentation/api-reference
- Cached OpenAPI snapshot: V3.yaml
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Requirements
- Node.js >= 20.15
- n8n compatible with
n8n-workflow^1.120.10
Installation (in n8n)
Using the n8n UI:
- Settings → Community Nodes → Install
- Enter:
n8n-nodes-linq - Restart n8n if prompted
Headless / environment variable:
- Add
n8n-nodes-linqtoN8N_COMMUNITY_PACKAGES(or install with npm in your instance) and restart n8n.
- Add
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.
- Node implementation: Linq.node.ts
- Icon: linq.svg
Supported resources and operations
Chat
- Get Many →
GET /v3/chats(supports optionalfrom,to, cursor, and limit) - Get One →
GET /v3/chats/{chatId} - Find (legacy helper) →
GET /v3/chatsusingtoplus the olderphone_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_idvalues - 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_updatedcall.*
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!
- Send From (required):
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
- Webhook URL:
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 lintLocal link for testing in n8n:
# in this folder
npm link
# in your n8n folder
npm link n8n-nodes-linq
# restart n8n, then add "Linq" nodeProject files of interest:
- Node: Linq.node.ts
- Trigger: LinqTrigger.node.ts
- Credentials: LinqApi.credentials.ts
- Gulp (icons): gulpfile.js
- TypeScript config: tsconfig.json
- Index shim: index.js
Publishing to npm
npm run build
npm publish --access publicLicense
MIT — see LICENSE.md.
