Back to Nodes

Keephub

Last updated Dec 8, 2025

Keephub integration node for n8n workflow automation

104 Weekly Downloads
358 Monthly Downloads

Included Nodes

Keephub

Description

๐Ÿš€ n8n-nodes-keephub

npm version
npm downloads
MIT licensed
Maintenance

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 <n8n-container> 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

  1. In n8n, go to Credentials ๐Ÿ”
  2. Create New โ†’ Search for Keephub API
  3. Fill in your credentials:
  4. Test & Save โœ”๏ธ

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

  1. Click + to add a node
  2. Search for Keephub
  3. Select your resource and operation
  4. Configure parameters
  5. 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
โœจ 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
โœ๏ธ 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": "<p>Great news everyone!</p>" },
    "orgchartSelection": { "include": ["root0001"], "exclude": [] }
  }
}

Example – Find Content by Orgunit with Filtering:

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

Content Filtering Parameters:

Limit (optional, default: 50): Maximum number of results to return

Options:

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 Operations

Operation Description
โž• Create Create a new task template
๐Ÿ—‘๏ธ Delete Remove a task template
๐Ÿ“‹ Get by ID Retrieve a task template
๐Ÿ” Get By Orgunit Fetch tasks by organization unit with filtering & pagination
๐Ÿ“Š Get Progress Check task template progress
๐Ÿ“ˆ Get Status Counts View task completion statistics

Example:

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

Example – Get Tasks by Orgunit with Filtering:

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

Parameters:

Orgunit ID (required): The organization unit ID to filter tasks

Limit (optional, default: 50): Maximum number of results to return

Options:

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 created/updated after this date (dateTime picker)

Start Date Before: Filter tasks created/updated before this date (dateTime picker)


๐Ÿ“‹ Form Submission Operations

Operation Description
๐Ÿ“ฅ 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 – 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:

{
  resource: "orgchart",
operation: "getChildren",
nodeId: "node123"
}

๐Ÿ” Credentials Setup

Bearer Token Authentication

โœ“ Most secure for API integrations
โœ“ Use existing API tokens from Keephub
โœ“ Perfect for server-to-server communication

Username/Password Authentication

โœ“ Automatic token generation
โœ“ Simple to set up
โœ“ Credentials securely stored in n8n

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

Keephub: Form Submission Trigger
  โ†“
Get submitter details
  โ†“
Calculate response time
  โ†“
Store in database
  โ†“
Send thank you message

โš™๏ธ Node Configuration

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 v0.199.0+
Node.js 14.20.0+
npm 6.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


๐Ÿ—๏ธ 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
โ”‚       โ”œโ”€โ”€ actions/                  # Operation implementations
โ”‚       โ”‚   โ”œโ”€โ”€ user/
โ”‚       โ”‚   โ”œโ”€โ”€ content/
โ”‚       โ”‚   โ”œโ”€โ”€ task/
โ”‚       โ”‚   โ”œโ”€โ”€ formSubmission/
โ”‚       โ”‚   โ””โ”€โ”€ orgchart/
โ”‚       โ””โ”€โ”€ utils/
โ”‚           โ””โ”€โ”€ helpers.ts
โ”œโ”€โ”€ credentials/
โ”‚   โ””โ”€โ”€ KeephubApi.credentials.ts
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ README.md

๐Ÿš€ Development

Build

npm run build

Test

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

๐Ÿค 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?


โญ 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