Back to Nodes

Keephub

Last updated Feb 23, 2026

Keephub integration node for n8n workflow automation

6 Weekly Downloads
102 Monthly Downloads

Included Nodes

Keephub

Description

๐Ÿš€ n8n-nodes-keephub

Keephub Banner

![npm version](https://www.npmjs.com/package/n8n-nodes-keephub)
![npm downloads](https://www.npmjs.com/package/n8n-nodes-keephub)
![MIT licensed](./LICENSE.md)
![Maintenance](https://github.com/RetailInTouch/n8n-nodes-keephub)

Seamlessly integrate Keephub with your n8n workflows ๐ŸŽฏ

Unlock the power of employee engagement and communication automation with this comprehensive n8n community node for Keephub.

๐Ÿ”ง Installation โ€ข ๐Ÿ“š Documentation โ€ข ๐Ÿš€ Quick Start โ€ข ๐Ÿ“ Changelog โ€ข ๐Ÿค Contributing

๐Ÿ“– About

This is a professional n8n community node that enables you to harness the full power of Keephub within your workflow automation.

Keephub is an enterprise-grade employee engagement platform for managing:

  • ๐Ÿ‘ฅ User management and organizational structures
  • ๐Ÿ“ฐ Content creation and distribution
  • โœ… Task management and templates
  • ๐Ÿ“‹ Dynamic form submissions and responses
  • n8n is a fair-code licensed workflow automation platform that puts automation in the hands of technical and business users.

    ๐Ÿ”ง Installation

    ๐Ÿ“ฆ Community Nodes Method (Recommended)

    1. Open your n8n instance
    2. Navigate to Settings โš™๏ธ โ†’ Community Nodes
    3. Click Install a community node
    4. Enter: n8n-nodes-keephub
    5. Click Install
    6. โœ… Done! The node is ready to use

    ๐Ÿ› ๏ธ Manual Installation

    For Local n8n:

    cd ~/.n8n/nodes
    npm install n8n-nodes-keephub
    

    For Docker:

    docker exec -it  sh
    cd /home/node/.n8n/nodes
    npm install n8n-nodes-keephub
    

    Restart your container

    For Node.js n8n:

    npm install -g n8n-nodes-keephub
    

    > [!TIP]
    > Restart your n8n instance and the Keephub node will appear in your palette! ๐ŸŽจ

    ๐Ÿš€ Quick Start

    1๏ธโƒฃ Set Up Credentials

    Keephub supports two separate credential types. Choose the one that matches your setup:

    Option A โ€” Bearer Token (recommended for API integrations):
    1. In n8n, go to Credentials ๐Ÿ”
    2. Create New โ†’ Search for Keephub Bearer API
    3. Fill in:
    Client URL: https://yourcompany.keephub.io
    Bearer Token: Your API token
    Language (optional): Default is en
    4. Test & Save โœ”๏ธ

    Option B โ€” Login Credentials (username & password):
    1. In n8n, go to Credentials ๐Ÿ”
    2. Create New โ†’ Search for Keephub Login API
    3. Fill in:
    Client URL: https://yourcompany.keephub.io
    Login Name: Your username
    Password: Your password
    Auth Endpoint (optional): Custom auth endpoint path
    Language (optional): Default is en
    4. Test & Save โœ”๏ธ

    2๏ธโƒฃ Add the Node to Your Workflow

    1. Click + to add a node
    2. Search for Keephub
    3. Select your Authentication method (Bearer Token or Login Credentials)
    4. Select your resource and operation
    5. Configure parameters
    6. Run! ๐Ÿƒ

    3๏ธโƒฃ Example: Get User Info

    Keephub Node Configuration:
    โ”œโ”€โ”€ Resource: User
    โ”œโ”€โ”€ Operation: Find by Login Name
    โ””โ”€โ”€ Login Name: john.doe

    Output: { "id": "63bd885034d0466d11073575", "loginName": "john.doe", "firstName": "John", "lastName": "Doe", "email": "john.doe@company.com" }

    ๐Ÿ“š Operations

    ๐Ÿ‘ฅ User Operations

    | Operation | Description |
    | ————————- | —————————————- |
    | ๐Ÿ†” Get by ID | Retrieve a user by their unique ID |
    | ๐Ÿ” Find by Login Name | Search users by login name |
    | ๐Ÿ‘จโ€๐Ÿ’ผ Find by Group | Fetch all users in a specific group |
    | ๐Ÿข Find by Orgunit | Retrieve users from an organization unit |

    Example:

    // Get all users in a group
    {
      "resource": "user",
      "operation": "findByGroup",
      "groupId": "group_12345"
    }
    

    ๐Ÿ“ฐ Content Operations

    | Operation | Description |
    | ————————— | —————————————————— |
    | โœ… Approve Content | Approve content that is pending approval |
    | โœจ Create | Create new content (news, forms, manuals, etc.) |
    | ๐Ÿ—‘๏ธ Delete | Remove content |
    | ๐Ÿ“ Find by Content Pool | Filter content by pool with optional sorting |
    | ๐Ÿท๏ธ Find by Group | Get content assigned to groups with optional sorting |
    | ๐Ÿข Find by Orgunit | Retrieve content by organization with optional sorting |
    | ๐Ÿ“– Get by ID | Retrieve specific content |
    | โŒ Reject Content | Reject content that is pending approval |
    | โœ๏ธ Update by ID | Modify existing content |

    Example – Create Content:

    {
    	"resource": "content",
    	"operation": "create",
    	"defineContentInput": "json",
    	"contentBody": {
    		"originLanguage": "en",
    		"contentType": "news",
    		"contentPool": "POOL_ID",
    		"title": { "en": "๐ŸŽ‰ Company Announcement" },
    		"message": { "en": "

    Great news everyone!

    " }, "orgchartSelection": { "include": ["root0001"], "exclude": [] } } }

    Example – Find Content by Orgunit with Filtering:

    {
    	"resource": "content",
    	"operation": "findByOrgunit",
    	"orgunitId": "root0077",
    	"options": {
    		"limit": 50,
    		"skip": 0,
    		"sortBy": "createdAt",
    		"sortOrder": 1
    	}
    }
    

    Content Filtering Parameters:

  • Orgunit ID (required): The organization unit ID
  • Options (all optional):

  • Limit: Maximum number of results (default: 50)
  • Skip: Number of results to skip (pagination)
  • Sort Field: Field to sort by (e.g., createdAt, updatedAt)
  • Sort Order: 1 for ascending, -1 for descending
  • โœ… Task Template Operations

    | Operation | Description |
    | —————————————— | ———————————————————————- |
    | โœ… Approve Task | Approve a pending task, with an optional comment |
    | โž• Create Task Template | Create a new task template |
    | ๐Ÿ—‘๏ธ Delete Task Template | Remove a task template |
    | ๐Ÿ“‹ Get Task | Fetch a task instance by its ID |
    | ๐Ÿ“‹ Get Task Template by ID | Retrieve a task template by its own ID |
    | ๐Ÿ” Get Task Template by Task | Fetch the template a specific task instance was created from |
    | ๐Ÿ” Get Task Templates by Orgunit | Fetch task templates by organization unit with filtering & pagination |
    | ๐Ÿ“Š Get Task Template Progress | Check task template progress |
    | ๐Ÿ“ˆ Get Task Template Status Counts | View task template completion statistics |
    | โŒ Reject Task | Reject a pending task with a required reason |

    Example – Create Task with JSON Body:

    {
    	"resource": "task",
    	"operation": "createTask",
    	"defineTaskInput": "json",
    	"taskJsonBody": {
    		"title": { "en": "Q4 Performance Review" },
    		"template": {
    			"form": {
    				"fields": [
    					{ "name": "rating", "type": "number" },
    					{ "name": "feedback", "type": "text" }
    				]
    			}
    		}
    	}
    }
    

    Example – Create Task with Additional Fields:

    {
    	"resource": "task",
    	"operation": "createTask",
    	"defineTaskInput": "fields",
    	"taskTitle": "Q4 Performance Review",
    	"taskType": "form",
    	"additionalFields": {
    		"taskMessage": "Please complete your review by end of quarter.",
    		"taskNotification": true
    	}
    }
    

    Example – Get Tasks by Orgunit with Filtering:

    {
    	"resource": "task",
    	"operation": "getTaskByOrgunit",
    	"orgunitId": "root0077",
    	"options": {
    		"limit": 50,
    		"skip": 0,
    		"sortBy": "template.dueDate",
    		"sortOrder": 1,
    		"startDateGte": "2025-11-01T00:00:00Z",
    		"startDateLte": "2025-11-30T23:59:59Z"
    	}
    }
    

    Task Template Create Parameters:

  • Task Title (required): Name of the task template
  • Task Type (required): form, confirmation, or read
  • Additional Fields (optional):

  • Message: Custom message body for the task template
  • Send Notification: Whether to notify assigned users (true/false)
  • Task Template Get by Orgunit Parameters:

  • Orgunit ID (required): The organization unit ID to filter task templates
  • Options (all optional):

  • Limit: Maximum number of results (default: 50)
  • Skip: Number of results to skip (pagination)
  • Sort Field: Field to sort by (e.g., template.dueDate)
  • Sort Order: 1 for ascending, -1 for descending
  • Start Date After: Filter tasks after this date
  • Start Date Before: Filter tasks before this date
  • ๐Ÿ“‹ Form Submission Operations

    | Operation | Description |
    | ———————————- | ————————————————- |
    | ๐Ÿ” Find by Form | Retrieve all submissions for a form with filtering |
    | ๐Ÿ“ฅ Get | Fetch complete form submission data |
    | ๐Ÿ‘ค Get Submitter Details | Retrieve full user profile of submitter |
    | ๐Ÿข Get Submission Orgunits | View orgunit hierarchy |
    | ๐Ÿ“ Update Submission Orgunits | Change visibility by orgunit |
    | โฑ๏ธ Calculate Response Duration | Time from creation to submission |

    Example – Find Submissions by Form:

    {
    	"resource": "formSubmission",
    	"operation": "findByForm",
    	"contentRef": "699848533ab62d9d50409890",
    	"options": {
    		"limit": 50,
    		"skip": 0,
    		"sortBy": "updatedAt",
    		"sortOrder": -1
    	}
    }
    

    Find by Form Parameters:

  • Form Content ID (required): The content ID of the form (24-character MongoDB ObjectID)
  • Options (all optional):

  • Limit: Maximum number of results (default: 50)
  • Skip: Number of results to skip (pagination)
  • Sort Field: Field to sort by (default: updatedAt)
  • Sort Order: -1 for descending (newest first), 1 for ascending
  • Example – Calculate Response Time:

    {
      "resource": "formSubmission",
      "operation": "calculateResponseDuration",
      "formSubmissionId": "form_67890"
    }

    // Returns: { "duration": { "days": 2, "hours": 5, "minutes": 30, "totalSeconds": 183930 } }

    ๐Ÿข Orgchart Operations

    | Operation | Description |
    | ————————— | ————————————————– |
    | ๐ŸŒณ Get Ancestors | Get all ancestors in the org hierarchy |
    | ๐Ÿ”— Get by External Ref | Retrieve an orgchart node by its externalRef value |
    | ๐Ÿ†” Get by ID | Retrieve an orgchart node by ID |
    | ๐Ÿ‘ถ Get Children | Retrieve all children/descendants |
    | โฌ†๏ธ Get Parent | Fetch the parent node of an orgchart node |

    Example – Get Children with Depth Limit:

    {
    	"resource": "orgchart",
    	"operation": "getChildren",
    	"orgunitId": "node123",
    	"additionalFields": {
    		"limit": 100
    	}
    }
    

    Example – Get Ancestors with Depth Limit:

    {
    	"resource": "orgchart",
    	"operation": "getAncestors",
    	"orgunitId": "node123",
    	"additionalFields": {
    		"depthLimit": 3
    	}
    }
    

    Optional Additional Fields:

  • Get Children โ†’ limit: Maximum number of child nodes to return (default: 0 = unlimited)
  • Get Ancestors โ†’ depthLimit: How many levels up to traverse (default: 0 = unlimited)
  • ๐Ÿ—„๏ธ Storage Operations

    | Operation | Description |
    | ——————- | ——————————————————— |
    | ๐Ÿ”— Get Signed URL | Generate a pre-signed URL for secure access to a stored file |

    Use case: Retrieve a signed CloudFront URL for a file attached to a task, form answer, or content item, then pass it directly to an AI vision model for analysis.

    Required fields:

    | Field | Description |
    | —– | ———– |
    | Origin | The entity type that owns the file (e.g. Task Form Answer, Content Attachment) |
    | Origin ID | The id of the owning entity โ€” use {{ $json.id }} from a preceding Keephub node |
    | Storage ID | The S3 path of the file โ€” use {{ $json.answers[N].value.value }} for upload form answers |
    | Force Download | Optional. Sets Content-Disposition: attachment to force a file download instead of inline display |

    Example:

    {
    	"resource": "storage",
    	"operation": "getSignedUrl",
    	"origin": "taskFormAnswer",
    	"originId": "699974e8f6c386b2e3e93cbc",
    	"storageId": "live/image/dev/contents/abc123/photo.jpg"
    }
    

    Output:

    {
    	"url": "https://d2qp115j4w1ptn.cloudfront.net/live/image/...?Expires=...&Signature=..."
    }
    

    > โš ๏ธ The returned URL is time-limited and contains embedded credentials. Treat it as a secret and use it immediately in your workflow โ€” do not log or store it.

    ๐Ÿ” Credentials Setup

    Keephub uses two separate credential types โ€” select the matching authentication method from the Authentication dropdown on the Keephub node.

    ๐Ÿ”‘ Keephub Bearer API

    โœ“ Most secure for API integrations
    โœ“ Use existing API tokens from Keephub
    โœ“ Perfect for server-to-server communication
    โœ“ Uses IAuthenticateGeneric โ€” token sent automatically in headers
    

    | Field | Description |
    | ————– | ———————————— |
    | Client URL | Your Keephub instance base URL |
    | Bearer Token | API bearer token |
    | Language | Language code (default: en) |

    ๐Ÿ”’ Keephub Login API

    โœ“ Automatic token generation from username/password
    โœ“ Simple to set up
    โœ“ Token refreshed dynamically per request
    โœ“ Credentials securely stored and encrypted in n8n
    

    | Field | Description |
    | —————— | ———————————————– |
    | Client URL | Your Keephub instance base URL |
    | Login Name | Username for authentication |
    | Password | Password for authentication |
    | Auth Endpoint | Custom auth path (default: /authentication) |
    | Language | Language code (default: en) |

    All credentials are encrypted ๐Ÿ”’ and never exposed in logs or workflows.

    ๐Ÿ’ก Real-World Examples

    ๐Ÿ“ง Example 1: Auto-Create Tasks from Email

    Gmail Trigger
      โ†“
    Extract email data
      โ†“
    Keephub: Create Task
      โ†“
    Send confirmation email
    

    ๐Ÿ“Š Example 2: Sync Users to Slack

    Keephub: Get all users in a group
      โ†“
    Filter active users
      โ†“
    Slack: Create channels per active users in group
    

    ๐Ÿ“‹ Example 3: Form Response Automation

    Schedule Trigger (daily)
      โ†“
    Keephub: Get Form Submission
      โ†“
    Keephub: Get Submitter Details
      โ†“
    Keephub: Calculate Response Duration
      โ†“
    Store in database
    

    โš™๏ธ Node Configuration

    Authentication

    The Keephub node provides an Authentication dropdown at the top of the configuration panel:

  • Bearer Token โ†’ uses the Keephub Bearer API credential
  • Login Credentials โ†’ uses the Keephub Login API credential
  • Input Data

  • All parameters support dynamic expressions with {{ }}
  • Use previous node outputs: {{ $node["Previous Node"].json.field }}
  • Access environment variables: {{ $env.MY_VAR }}
  • Output Format

    {
      "pairedItem": { "item": 0 },
      "json": {
        // API response data
      }
    }
    

    Error Handling

    Enable “Continue on Error” to handle failures gracefully in your workflow.

    ๐Ÿ“ฆ Requirements

    | Requirement | Version |
    | ———– | ——– |
    | n8n | v1.0.0+ |
    | Node.js | 18.17.0+ |
    | npm | 8.0.0+ |

    ๐Ÿ› Troubleshooting

    โŒ “Authentication failed”

  • โœ… Verify your Keephub instance URL
  • โœ… Check API credentials are correct
  • โœ… Ensure credentials have required permissions
  • โŒ “Unknown operation”

  • โœ… Verify resource and operation combination exist
  • โœ… Check node version is latest
  • โœ… Try refreshing the node palette
  • โŒ “Connection timeout”

  • โœ… Check network connectivity
  • โœ… Verify firewall allows outbound HTTPS
  • โœ… Check Keephub instance is accessible
  • ๐Ÿ“š Documentation

  • ๐Ÿ“– n8n Documentation
  • ๐Ÿ”— Keephub API Docs
  • ๐Ÿ’ฌ n8n Community Forum
  • ๐Ÿ—๏ธ Project Structure

    n8n-nodes-keephub/
    โ”œโ”€โ”€ nodes/
    โ”‚   โ””โ”€โ”€ Keephub/
    โ”‚       โ”œโ”€โ”€ Keephub.node.ts           # Main node class
    โ”‚       โ”œโ”€โ”€ descriptions/             # Field definitions
    โ”‚       โ”‚   โ”œโ”€โ”€ UserDescription.ts
    โ”‚       โ”‚   โ”œโ”€โ”€ ContentDescription.ts
    โ”‚       โ”‚   โ”œโ”€โ”€ TaskDescription.ts
    โ”‚       โ”‚   โ”œโ”€โ”€ FormSubmissionDescription.ts
    โ”‚       โ”‚   โ”œโ”€โ”€ OrgchartDescription.ts
    โ”‚       โ”‚   โ””โ”€โ”€ StorageDescription.ts
    โ”‚       โ”œโ”€โ”€ actions/                  # Operation implementations
    โ”‚       โ”‚   โ”œโ”€โ”€ user/
    โ”‚       โ”‚   โ”œโ”€โ”€ content/
    โ”‚       โ”‚   โ”œโ”€โ”€ task/
    โ”‚       โ”‚   โ”œโ”€โ”€ formSubmission/
    โ”‚       โ”‚   โ”œโ”€โ”€ orgchart/
    โ”‚       โ”‚   โ””โ”€โ”€ storage/
    โ”‚       โ””โ”€โ”€ utils/
    โ”‚           โ””โ”€โ”€ helpers.ts
    โ”œโ”€โ”€ credentials/
    โ”‚   โ”œโ”€โ”€ KeephubBearerApi.credentials.ts
    โ”‚   โ””โ”€โ”€ KeephubLoginApi.credentials.ts
    โ”œโ”€โ”€ package.json
    โ””โ”€โ”€ README.md
    

    ๐Ÿš€ Development

    Build

    npm run build
    

    Verify (lint + build)

    npm run test
    

    Lint

    npm run lint
    

    ๐Ÿ“ Version History

    v1.0.0 (2025-01-09) ๐ŸŽ‰

  • โœจ Initial release
  • ๐Ÿ‘ฅ User management operations
  • ๐Ÿ“ฐ Content creation & management
  • โœ… Task template operations
  • ๐Ÿ“‹ Form submission handling
  • ๐Ÿ” Secure API authentication
  • v1.1.0 (2025-11-10) ๐Ÿ“ฆ

  • ๐Ÿ“Š Added Orgchart operations (Get, Parent, Ancestors, Children)
  • ๐Ÿงน Fixed console.log in updateById operation
  • ๐Ÿ”ง Code cleanup and optimizations
  • v1.2.0 (2025-11-12) ๐Ÿ†•

  • ๐Ÿ” Added Get By Orgunit task operation
  • ๐Ÿ“… Date range filtering support for tasks (Start Date Before/After)
  • ๐Ÿ“ฐ Enhanced Content filtering
  • v1.2.1 (2025-11-20)

  • ๐Ÿ“– README updates and documentation improvements
  • v1.2.2 (2025-11-20)

  • ๐Ÿงน Build process improvements (added dist folder cleanup script)
  • v1.3.0 (2025-12-04)

  • ๐Ÿ” Added Get by External Ref operation to Orgchart resource for querying nodes by external reference
  • v1.3.4 (2025-12-08)

  • ๐Ÿ”ง Added externalRef of orgunit to the output of the Get submission orgunits node
  • ๐Ÿงน Fixed typo that was causing README rendering issues
  • v1.4.0 (2026-02-09) ๐Ÿ”

  • ๐Ÿ”‘ Split credentials into two separate types: Keephub Bearer API and Keephub Login API
  • ๐Ÿ›ก๏ธ Added IAuthenticateGeneric to Bearer credential for automatic header injection
  • ๐Ÿ”€ Added Authentication selector dropdown to the node UI (Bearer Token / Login Credentials)
  • ๐Ÿ”Œ Updated inputs/outputs to use NodeConnectionTypes.Main (n8n best practice)
  • ๐Ÿ“ฆ Moved non-required fields into Additional Fields / Options collections:
  • – Content: Limit, Skip, Sort Field, Sort Order โ†’ Options
    – Orgchart: Depth Limit, Result Limit โ†’ Additional Fields
    – Task: Message, Send Notification โ†’ Additional Fields; Limit โ†’ Options

  • ๐Ÿงน Updated helpers to dynamically resolve credentials based on authentication selector
  • ๐Ÿ“– Updated README documentation to reflect all changes
  • v1.4.3 (2026-02-19)

  • ๐Ÿ–ผ๏ธ Changed Image assets to better match n8n’s dark theme
  • v1.4.4 (2026-02-19)

  • ๐Ÿ› Empty content/task searches now return [] instead of throwing error (findByContentPool, findByGroup, findByOrgunit, task/getByOrgunit)
  • ๐Ÿ› Orgchart node IDs now properly URL-encoded (getById, getParent, getAncestors)
  • ๐Ÿ› Added null check for submitter ID in form submissions (getSubmitterDetails)
  • ๐Ÿ› Fixed double indentation in content delete operation
  • ๐Ÿ› Fixed paginated response unwrapping in user findByLoginName, findByGroup, findByOrgunit โ€” now correctly returns individual user items instead of the raw envelope
  • ๐Ÿ“‹ Added codex metadata with expanded aliases for better node discoverability
  • ๐Ÿ” Expanded package keywords from 4 to 19 for better discoverability
  • ๐Ÿ–ผ๏ธ Optimized icon SVG viewBox to show full logo without cutoff
  • ๐Ÿ–ผ๏ธ Restored white ellipse border for visibility in dark mode
  • ๐Ÿ” Improved credential test behavior for both auth methods:
  • – Bearer credential test now handles both client URL and API subdomain URL formats (strips .api. for compatibility)
    – Login credential test now performs real auth validation via POST to the configured auth endpoint (uses string manipulation compatible with n8n’s expression sandbox)
    – Both use protocol normalization to handle URLs without https:// prefix

  • ๐Ÿงฉ Renamed Login credential field from Token Endpoint to Auth Endpoint for clarity (runtime keeps backward compatibility with legacy tokenEndpoint)
  • ๐Ÿ“š Fixed metadata/docs pointers:
  • – Updated node credential documentation anchor link
    – Fixed README MIT badge link target
    – Updated clientUrl field descriptions to clarify “Do not use the API URL”

  • ๐Ÿ“ฆ Added prepublishOnly guard (npm run test) and aligned package Node engine requirement to >=18.17.0
  • ๐Ÿ”— Enhanced URL transformation robustness:
  • – Client URL now auto-normalizes .api. subdomain (handles both formats transparently)
    – Protocol normalization adds https:// if missing

    v1.5.0 (2026-02-20) ๐Ÿ“‹

  • ๐Ÿ” Added Find by Form operation to Form Submission resource โ€” retrieve all submissions for a given form with pagination & sorting
  • ๐Ÿ“ฆ Supports Limit, Skip, Sort Field, Sort Order options (consistent with Content and Task list operations)
  • ๐Ÿ”— Uses $sort[_id]=1 tiebreaker for stable pagination across pages
  • v1.6.0 (2026-02-22)

  • โœ… Added Approve Task operation โ€” approve a pending task with an optional comment
  • โŒ Added Reject Task operation โ€” reject a pending task with a required reason
  • โœ… Added Approve Content operation โ€” approve content pending approval
  • โŒ Added Reject Content operation โ€” reject content pending approval
  • v1.8.0 (2026-02-23)

  • ๐Ÿ—„๏ธ Added Storage resource with Get Signed URL operation โ€” generates pre-signed CloudFront URLs for secure file access from tasks, form answers, and content
  • Supports all 11 origin types with inline field hints for common expressions; optional Force Download flag
  • ๐Ÿท๏ธ Renamed Task resource display label to Task Template for clarity across all template-managing operations (Create, Delete, Get by ID, Get by Orgunit, Get Progress, Get Status Counts)
  • Approve Task and Reject Task intentionally kept as-is โ€” they operate on task instances, not templates; no breaking changes
  • ๐Ÿ” Added Get Task Template by Task operation โ€” resolves a task template from a task instance ID via /tasks/{id} โ†’ /tasktemplates/{templateRef}
  • ๐Ÿ“‹ Added Get Task operation โ€” fetches a task instance directly by its ID from /tasks/{id}
  • v1.8.1 (2026-02-23)

  • ๐Ÿ› Fixed missing description property on six Task Template operations (Create, Delete, Get by ID, Progress, Status Counts, By Orgunit) โ€” these were not visible on the n8n integrations page
  • ๐Ÿค Contributing

    Contributions are welcome! ๐Ÿ™Œ

    1. Fork the repository
    2. Create a feature branch (git checkout -b feature/amazing-feature)
    3. Commit your changes (git commit -m 'Add amazing feature')
    4. Push to the branch (git push origin feature/amazing-feature)
    5. Open a Pull Request

    Development Setup

    git clone https://github.com/RetailInTouch/n8n-nodes-keephub.git
    cd n8n-nodes-keephub
    npm install
    npm run build
    

    ๐Ÿ“„ License

    This project is licensed under the MIT License – see the LICENSE file for details.

    ๐Ÿ™ Support

    Found a bug? Have a feature request?

  • ๐Ÿ› Open an Issue
  • ๐Ÿ’ฌ Start a Discussion
  • โญ Show Your Support

    If you find this node useful, please consider:

  • โญ Starring this repository
  • ๐Ÿฆ Sharing it on social media
  • ๐Ÿ“ข Recommending it to the community

Made with โค๏ธ for the automation community

Visit n8n โ€ข View on npm โ€ข GitHub Repo