Package Information
Documentation
n8n-nodes-linq
Linq Partner API (v2) community node for n8n. This node lets you manage chats, messages, phone numbers, webhooks, and contacts in Linq from your n8n workflows.
- Package:
n8n-nodes-linq - Node icon: included (SVG)
- API version: v2
- Auth: Integration Token (
X-LINQ-INTEGRATION-TOKEN)
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" and set your Integration Token:
- Header used:
X-LINQ-INTEGRATION-TOKEN: <your token> - The field is hidden in the UI (password type).
Where it's defined:
Node usage
Add the "Linq" node to your workflow. The node provides Resources and Operations that map 1:1 to the documented Linq Partner API endpoints.
- Node implementation:
- class Linq implements INodeType
- Icon is configured at the node-level:
icon: 'file:linq.svg' - SVG file: linq.svg
Supported resources and operations
The node implements all endpoints from your Linq Partner API documentation (v2):
Resource: Chat
- Operations:
- Get Many → GET
/chats(with pagination, optionalphone_number) - Get One → GET
/chats/:id - Find → GET
/chats/find(byphone_number) - Create → POST
/chats(supports group chats viaphone_numbers[], and optionalsend_from, and initialmessage.text) - Share Contact → POST
/chats/share-contact(feature must be enabled by Linq)
- Get Many → GET
- Operations:
Resource: Chat Message
- Operations:
- Get Many → GET
/chat_messages?chat_id=:chatId - Get One → GET
/chat_messages/:id - Create → POST
/chat_messages(chat_id,text) - Delete → DELETE
/chat_messages/:id - Edit → POST
/chat_messages/:id/edit(text) - React → POST
/chat_messages/:id/react(reaction) - Get Reaction → GET
/chat_messages/:id/reaction
- Get Many → GET
- Operations:
Resource: Phone Number
- Operations:
- Get Many → GET
/phone_numbers - Check iMessage Availability → GET
/phone_numbers/:phoneNumber/check_imessage
- Get Many → GET
- Operations:
Resource: Webhook Subscription
- Operations:
- Get Many → GET
/webhook_subscriptions - Get One → GET
/webhook_subscriptions/:id - Create → POST
/webhook_subscriptions - Update → PUT
/webhook_subscriptions/:id - Delete → DELETE
/webhook_subscriptions/:id
- Get Many → GET
- Operations:
Resource: Contact
- Operations:
- Create → POST
/contacts - Get One → GET
/contacts/:id - Update → PUT
/contacts/:id - Delete → DELETE
/contacts/:id
- Create → POST
- Operations:
Linq Trigger Node
Add the "Linq Trigger" node to automatically start workflows when Linq events occur. The node automatically registers a webhook with Linq when the workflow is activated.
Supported Events:
- Message Sent (
message.sent) - Message Received (
message.received) - Message Read (
message.read) - Call Completed (
call.completed) - Contact Created (
contact.created) - Contact Updated (
contact.updated) - Contact Deleted (
contact.deleted)
- Message Sent (
Configuration:
- Add the "Linq Trigger" node to your workflow
- Select which events should trigger the workflow
- Activate the workflow (this registers the webhook with Linq)
- Linq will send events to your workflow when they occur
Security:
- The node verifies the signature of incoming events using HMAC-SHA256
- Requires the same Linq API credentials as the main node
Example workflows
- Send a group message
- Resource: Chat
- Operation: Create
- Fields:
- Send From (optional):
+13175551234 - Display Name (optional):
Project A - Phone Numbers:
+13341234567, +13347654321 - Message Text:
Hello from n8n!
- Send From (optional):
- Check iMessage availability
- Resource: Phone Number
- Operation: Check iMessage Availability
- Field:
- Phone Number:
+13341234567
- Phone Number:
- Create a contact
- Resource: Contact
- Operation: Create
- Fields:
- First Name:
John - Last Name:
Doe - Email:
john@example.com - Phone Number:
+15551234567
- First Name:
- Manage webhook subscriptions
- Resource: Webhook Subscription
- Operation: Create
- Fields:
- Webhook URL:
https://example.com/webhooks/linq - Events:
message.sent, message.received, contact.created - Version:
2 - Active:
true
- Webhook URL:
Development
Requirements:
- Node.js ≥ 20
- npm or pnpm (npm commands shown below)
- n8n local instance if testing end-to-end
Install and build:
cd n8n-nodes-linq
npm install
npm run build
npm run lint
Local link for testing in a local 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:
- Node: Linq.node.ts
- Credentials: LinqApi.credentials.ts
- Gulp (copies icons): gulpfile.js
- TypeScript config: tsconfig.json
- Index shim: index.js
Publishing to npm
Ensure metadata is correct in package.json
- name:
n8n-nodes-linq - version: increment for each release, e.g.
0.1.0 - author:
"alexautomates" - keywords include:
n8n-community-node-package files: ["dist"]to publish only built filesn8nblock lists built nodes and credentials indist/
- name:
Build and publish:
npm run build
npm publish --access public
- Users can install from the n8n UI (Community Nodes) by typing
n8n-nodes-linq.
Icon / Branding
- Icon file is included at: nodes/Linq/linq.svg
- Node description references it as
icon: 'file:linq.svg', so it renders in the n8n UI.