crm

n8n custom node for LLW CRM (Concord CRM) - comprehensive CRM integration with support for contacts, deals, companies, activities, and more

Package Information

Released: 4 mo ago
Downloads: 27 weekly / 674 monthly
Latest Version: 1.1.35

Documentation

n8n-nodes-llw-crm

This is an n8n community node that lets you use LLW CRM (Concord CRM) in your n8n workflows.

LLW CRM is a comprehensive customer relationship management platform based on Concord CRM that enables businesses to manage contacts, deals, companies, activities, and more.

n8n is a fair-code licensed workflow automation platform.

Installation
Operations
Credentials
Compatibility
Usage
Resources

Installation

Follow the installation guide in the n8n community nodes documentation.

Manual installation

To get started install the package in your n8n root directory:

npm install @aayshian/n8n-nodes-llw-crm

For Docker-based deployments, add the following line before the font installation command in your n8n Dockerfile:

RUN cd /usr/local/lib/node_modules/n8n && npm install @aayshian/n8n-nodes-llw-crm

Operations

This node provides comprehensive CRM functionality across 23+ resource types:

Core Resources

  • Contacts: Create, read, update, delete, search, and manage associations
  • Companies: Full CRUD operations and association management
  • Deals: Manage sales pipeline, deal stages, and products
  • Activities: Schedule and track activities with associations
  • Documents: Document management with associations
  • Products: Manage product catalog
  • Calls: Log and track call activities
  • Notes: Add notes to records
  • Pipelines & Stages: Configure and manage sales pipelines

Configuration & Metadata

  • Activity Types: Define custom activity types
  • Call Outcomes: Track call results
  • Document Types: Categorize documents
  • Industries: Industry classifications
  • Sources: Track lead sources
  • Teams: Team management
  • Users: User management
  • Roles: Manage roles and permissions

Utility Resources

  • Comments: Add comments to any resource
  • Trashed Records: Restore or permanently delete trashed items
  • Countries, Currencies, Timezones: Reference data

Common Operations

  • Create: Add new records
  • Get: Retrieve a single record by ID
  • Get All: List all records with pagination
  • Update: Modify existing records
  • Delete: Remove records
  • Search: Query records by search terms

Advanced Features

  • Associations: Link contacts, companies, and deals (attach/detach/sync)
  • Token Caching: Efficient authentication with automatic refresh
  • Pagination: Handle large datasets
  • Error Handling: Comprehensive error handling with retry logic

Credentials

You will need the following credentials to use this node:

  • Domain: Your LLW CRM domain (without https:// and without /api)
    • Example: hmrs.atican.dev/crm or crm.example.com
  • Email: Your LLW CRM account email
  • Password: Your LLW CRM account password
  • Device Name: A name for this integration (e.g., "n8n", "mobile", "desktop")

The node will automatically generate and cache an access token using these credentials.

Compatibility

  • Tested with n8n version 1.0.0 and above
  • Minimum n8n version required: 0.200.0
  • Compatible with Concord CRM API 1.x

Usage

Example 1: Create a Contact

  1. Add the LLW CRM node
  2. Select Resource: Contact
  3. Select Operation: Create
  4. Provide contact data in JSON:
{
  "first_name": "John",
  "last_name": "Doe",
  "email": "john@example.com",
  "phones": [
    {
      "type": "mobile",
      "number": "1234567890"
    }
  ]
}

Example 2: List All Deals

  1. Add the LLW CRM node
  2. Select Resource: Deal
  3. Select Operation: Get All
  4. Toggle Return All to fetch all deals
  5. Optionally add filters in Additional Fields

Example 3: Create Deal with Associations

  1. Add the LLW CRM node
  2. Select Resource: Deal
  3. Select Operation: Create
  4. Provide deal data:
{
  "name": "New Deal",
  "pipeline_id": 1,
  "stage_id": 2,
  "amount": 10000,
  "expected_close_date": "2024-12-31"
}
  1. Enable Manage Associations
  2. Select Association Operation: Attach
  3. Provide associations:
{
  "contacts": [1, 2],
  "companies": [1]
}

Example 4: Search Contacts

  1. Add the LLW CRM node
  2. Select Resource: Contact
  3. Select Operation: Search
  4. Enter Search Query: "john@example.com"
  5. Set Limit if needed

Example 5: Add Comment to Deal

  1. Add the LLW CRM node
  2. Select Resource: Comment
  3. Select Operation: Add
  4. Select Resource Type: Deals
  5. Enter Resource ID: (deal ID)
  6. Enter Comment Text: "Follow up next week"

Example Workflow: Complete Lead-to-Deal Process

Webhook (new lead)
  → LLW CRM (Create Contact)
  → LLW CRM (Create Company if needed)
  → LLW CRM (Create Deal with associations)
  → LLW CRM (Create Activity - follow-up task)
  → LLW CRM (Add Comment to Deal)
  → Email notification

API Reference

The node implements the Concord CRM API 1.x:

Common Endpoints

  • GET /contacts - List contacts
  • POST /contacts - Create contact
  • GET /contacts/{id} - Get contact
  • PUT /contacts/{id} - Update contact
  • DELETE /contacts/{id} - Delete contact
  • GET /contacts/search?q=query - Search contacts

Similar patterns apply to all resources (deals, companies, activities, etc.)

Resources

Development

Setup

  1. Clone this repository
  2. Install dependencies: npm install
  3. Build the node: npm run build
  4. Link for local development: npm link

Build

npm run build      # Build TypeScript and icons
npm run dev        # Watch mode for development

Lint

npm run lint       # Check for linting issues
npm run lintfix    # Auto-fix linting issues
npm run format     # Format code with Prettier

Testing

npm test                 # Run all tests
npm run test:watch      # Run tests in watch mode
npm run test:coverage   # Run tests with coverage report

See CLAUDE.md for detailed development documentation.

Features

Token Management

  • Automatic token generation and caching
  • Token refresh on expiration (401/403 errors)
  • Secure credential storage

Data Handling

  • Pagination support for large datasets
  • JSON input for flexible data structures
  • Array response handling

Error Handling

  • Comprehensive error messages
  • Retry logic for authentication errors
  • Continue on fail support

Troubleshooting

Authentication Issues

  • Verify domain format (no https://, no /api)
  • Check email and password credentials
  • Ensure device name is provided

API Errors

  • Check API documentation for required fields
  • Validate JSON data structure
  • Review error messages from API responses

Connection Issues

  • Verify domain is accessible
  • Check network connectivity
  • Ensure SSL certificates are valid

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Support

For issues and questions:

Discussion