n8n-nodes-innotes
v1.0.18
Published
N8N node for InNotes CRM API integration
Maintainers
Readme
InNotes N8N Node
An N8N custom node that enables seamless integration with the InNotes LinkedIn CRM application. This node allows you to automate workflows involving contacts, notes, jobs, statuses, tags, and user management within the InNotes platform.
Note The LinkedIn scraper microservice node now lives in
../n8n_linkedin_scraper_nodeso it can be published as an independent community package.
Features
- Complete CRUD Operations: Create, read, update, and delete operations for all InNotes resources
- LinkedIn CRM Integration: Specifically designed for LinkedIn-based contact management
- Comprehensive Resource Support:
- Contacts (LinkedIn profiles, emails, phone numbers)
- Notes (conversation logs, meeting notes, follow-ups)
- Jobs (job applications, opportunities, tracking)
- Statuses (contact status management)
- Tags (categorization and organization)
- Users (user account management)
- Advanced Filtering: Search and filter capabilities for efficient data retrieval
- Pagination Support: Handle large datasets with built-in pagination
- Error Handling: Robust error handling with meaningful error messages
- Authentication: Secure API authentication using username/password credentials
Installation
Prerequisites
- N8N instance (self-hosted or cloud)
- Node.js 18+ and yarn package manager
- Access to InNotes API credentials
Building the Node
Clone or download this node package to your local machine
Install dependencies:
yarn installBuild the node:
yarn buildLink the node to your N8N installation:
# For local N8N development yarn link cd /path/to/your/n8n yarn link n8n-nodes-innotes # Or copy the dist folder to your N8N custom nodes directory cp -r dist/* ~/.n8n/custom/
Development
For development and testing:
# Install dependencies
yarn install
# Run linting
yarn lint
# Run tests
yarn test
# Watch mode for development
yarn dev
# Build for production
yarn buildConfiguration
API Credentials
Before using the InNotes node, you need to configure your API credentials:
- In N8N, go to Credentials → Create New
- Search for InNotes API and select it
- Fill in the required fields:
- Username: Your InNotes account email
- Password: Your InNotes account password
- Base URL: Your InNotes instance URL (e.g.,
https://app.innotes.com)
Node Setup
- Add the InNotes node to your workflow
- Select your configured credentials
- Choose the Resource (Contact, Note, Job, Status, Tag, User)
- Select the desired Operation (Get, Create, Update, Delete, etc.)
- Configure the specific parameters for your operation
Usage Examples
Managing Contacts
Get All Contacts
- Resource: Contact
- Operation: Get All
- Parameters:
- Limit: Number of contacts to retrieve (default: 50)
- Return All: Whether to return all contacts or paginate
Create New Contact
- Resource: Contact
- Operation: Create
- Required Fields:
- Name: Contact's full name
- LinkedIn URL: LinkedIn profile URL
- Optional Fields:
- Email, Phone, Company, Position, etc.
Update Contact
- Resource: Contact
- Operation: Update
- Required Fields:
- Contact ID: ID of the contact to update
- Update Fields: Any contact fields you want to modify
Search Contacts
- Resource: Contact
- Operation: Search
- Parameters:
- Query: Search term (name, email, company)
- Filters: Additional filtering options
Managing Notes
Create Note
- Resource: Note
- Operation: Create
- Required Fields:
- Contact ID: ID of the associated contact
- Content: Note content (supports rich text)
- Optional Fields:
- Type: Note type (meeting, call, email, etc.)
- Tags: Associated tags
Get Notes for Contact
- Resource: Note
- Operation: Get All
- Parameters:
- Contact ID: Filter notes by contact
- Date Range: Filter by creation date
Managing Jobs
Track Job Application
- Resource: Job
- Operation: Create
- Required Fields:
- Title: Job title
- Company: Company name
- Optional Fields:
- Status, URL, Description, Salary Range, etc.
Update Job Status
- Resource: Job
- Operation: Update
- Fields:
- Job ID: ID of the job to update
- Status: New status (applied, interviewing, offer, etc.)
Managing Tags and Statuses
Create Custom Tags
- Resource: Tag
- Operation: Create
- Fields:
- Name: Tag name
- Color: Tag color (hex code)
Update Contact Status
- Resource: Status
- Operation: Create/Update
- Fields:
- Contact ID: Associated contact
- Status: Status value
- Type: Status type
Workflow Integration Examples
Automated LinkedIn Outreach
- Trigger: Webhook or schedule
- InNotes Node: Get contacts with specific tags
- Filter: Process only contacts without recent notes
- InNotes Node: Create follow-up notes
- Email/LinkedIn Node: Send personalized messages
Job Application Tracking
- Trigger: New job posting (webhook/RSS)
- InNotes Node: Create new job entry
- InNotes Node: Link to relevant contacts
- InNotes Node: Create application tracking note
- Calendar Node: Schedule follow-up reminders
Contact Enrichment
- Trigger: New contact created
- External API: Enrich contact data (company info, etc.)
- InNotes Node: Update contact with enriched data
- InNotes Node: Create initial contact note
- InNotes Node: Apply relevant tags
API Reference
Resources
| Resource | Operations | Description | |----------|------------|-------------| | Contact | Get All, Get, Create, Update, Delete, Search | LinkedIn contact management | | Note | Get All, Get, Create, Update, Delete | Conversation and meeting notes | | Job | Get All, Get, Create, Update, Delete | Job application tracking | | Status | Get All, Get, Create, Update, Delete | Contact status management | | Tag | Get All, Get, Create, Update, Delete | Categorization and organization | | User | Get, Update | User account management |
Common Parameters
- Limit: Maximum number of items to return (pagination)
- Return All: Override limit and return all items
- Sort By: Field to sort results by
- Sort Order: Ascending or descending sort
- Filters: Resource-specific filtering options
Error Handling
The node provides comprehensive error handling:
- Authentication Errors: Invalid credentials or expired sessions
- Validation Errors: Missing required fields or invalid data
- API Errors: Server errors or rate limiting
- Network Errors: Connection issues or timeouts
All errors include detailed messages to help with troubleshooting.
Contributing
Development Setup
- Fork the repository
- Install dependencies:
yarn install - Make your changes
- Run tests:
yarn test - Run linting:
yarn lint - Build:
yarn build - Submit a pull request
Code Style
- Follow TypeScript best practices
- Use ESLint configuration provided
- Add JSDoc comments for public methods
- Include unit tests for new features
- Follow existing naming conventions
Testing
# Run all tests
yarn test
# Run tests in watch mode
yarn test:watch
# Run tests with coverage
yarn test:coverageSupport
Documentation
Issues
If you encounter any issues or have feature requests, please:
- Check existing issues in the repository
- Create a new issue with detailed description
- Include error messages and steps to reproduce
Community
- Join the N8N Community Discord
- Check the InNotes user community
License
This project is licensed under the MIT License - see the LICENSE file for details.
Changelog
Version 1.0.0
- Initial release
- Support for all InNotes resources (Contact, Note, Job, Status, Tag, User)
- Complete CRUD operations
- Search and filtering capabilities
- Pagination support
- Comprehensive error handling
- Full TypeScript support
Author: marco
Last Updated: 2025-06-01
