n8n-nodes-ninjapipe 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Changelog
2
2
 
3
- ## 0.8.2
4
- - Refreshed NP logo SVG in both NinjaPipe nodes
5
- - npm-ready release bundle for direct publishing
6
- - Added helper scripts for publish and local install
7
- - Kept hardened validation and cleaner UX from 0.8.x
3
+ ## 0.8.4
4
+ - replaced old icon references and bundled the updated NP SVG icon in both nodes
5
+ - removed remaining V7 wording from package docs
6
+ - refreshed README, docs, and release metadata for npm
7
+ - kept hardened validation and safer advanced-mode behavior
package/INSTALL.md CHANGED
@@ -1,16 +1,18 @@
1
1
  # Install
2
2
 
3
- ## Install from npm in n8n
3
+ ## From npm
4
4
 
5
- Community Nodes package name:
5
+ Install in n8n Community Nodes:
6
6
 
7
- `n8n-nodes-ninjapipe`
7
+ `n8n-nodes-ninjapipe@0.8.4`
8
8
 
9
- ## Local publish
9
+ ## Local link
10
10
 
11
11
  ```bash
12
12
  npm install
13
- npm publish
13
+ npm link
14
+ mkdir -p ~/.n8n/custom
15
+ cd ~/.n8n/custom
16
+ npm init -y
17
+ npm link n8n-nodes-ninjapipe
14
18
  ```
15
-
16
- After updating the package, refresh or restart n8n if the UI doesn't immediately show the new labels or icon.
package/README.md CHANGED
@@ -1,71 +1,103 @@
1
1
  # n8n-nodes-ninjapipe
2
2
 
3
- A clean UI community node package for NinjaPipe in n8n.
3
+ Production-ready NinjaPipe community nodes for n8n.
4
4
 
5
- ## Included nodes
5
+ This package focuses on clean UX, safer defaults, updated NP SVG branding, and an update-friendly structure. Instead of scattering NinjaPipe actions across many separate node variants, it keeps the package intentionally simple:
6
6
 
7
- - **NinjaPipe**
8
- - **NinjaPipe Trigger**
7
+ - **NinjaPipe** for actions
8
+ - **NinjaPipe Trigger** for polling-based event workflows
9
9
 
10
- ## V7 focus
10
+ ## Highlights
11
11
 
12
- This package keeps the UX intentionally simple.
12
+ - one action node and one trigger node
13
+ - guided fields for core NinjaPipe resources
14
+ - safer validation before requests are sent
15
+ - friendlier error messages for common API failures
16
+ - select boxes for pipelines, contacts, companies, projects, countries, states, currencies, and deal status where supported by the workspace API
17
+ - optional pipeline stage lookup after choosing a pipeline
18
+ - contact upsert by email
19
+ - company upsert by exact company name
20
+ - custom fields as flexible repeatable entries
21
+ - safer advanced mode with relative-path validation
22
+ - bundled example workflows for forms and lead processing
23
+ - updated NP SVG icon included in both nodes
24
+
25
+ ## Included resources
26
+
27
+ - Contacts
28
+ - Companies
29
+ - Deals
30
+ - Products
31
+ - Projects
32
+ - Tasks
33
+ - Budgets
34
+ - Lists
35
+ - Pipelines
36
+ - Pipeline Items
37
+ - Invoices
38
+ - Orders
39
+ - Databins
40
+ - Custom API Request
41
+
42
+ ## Included examples
13
43
 
14
- ### In the action node
15
- Choose:
44
+ See the `examples` folder:
16
45
 
17
- - **Resource**
18
- - **Action**
46
+ - `databin-lead-to-contact.json`
47
+ - `np-form-simple-contact-upsert.json`
48
+ - `np-form-multipage-branching.json`
19
49
 
20
- Then fill in only the fields that matter.
50
+ ## Install in n8n
21
51
 
22
- ### In the trigger node
23
- Choose:
52
+ Install this package in **Settings → Community Nodes**:
24
53
 
25
- - **Source**
26
- - **Polling mode**
27
- - optional **Custom path**
54
+ ```text
55
+ n8n-nodes-ninjapipe@0.8.4
56
+ ```
28
57
 
29
- ## Highlights
58
+ ## Run locally from a custom folder
30
59
 
31
- - one main action node
32
- - one trigger node
33
- - guided fields for core resources
34
- - pipeline, contact, company, and project lookups
35
- - deal status select box
36
- - country and state select boxes for DACH-friendly setups
37
- - custom fields as flexible entries
38
- - custom API request fallback
39
- - example workflow templates included
60
+ n8n loads custom nodes from `~/.n8n/custom` by default, or from paths provided via `N8N_CUSTOM_EXTENSIONS`.
40
61
 
41
- ## Included workflow templates
62
+ ## Link a local development copy
42
63
 
43
- See the `examples` folder:
64
+ For local development, use `npm link` in the package folder and link it into `~/.n8n/custom`.
44
65
 
45
- - `np-form-simple-contact-upsert.json`
46
- - `np-form-multipage-branching.json`
66
+ ## Update policy
47
67
 
48
- ## Install
68
+ This package follows semantic versioning.
49
69
 
50
- In n8n Community Nodes, install:
70
+ ### Practical release rules
51
71
 
52
- ```text
53
- n8n-nodes-ninjapipe
54
- ```
72
+ - `patch` = bug fixes and non-breaking improvements
73
+ - `minor` = new actions or fields without breaking existing flows
74
+ - `major` = breaking UI or payload changes
75
+
76
+ ## Security notes
77
+
78
+ - credentials are stored in n8n credentials, not inside workflows
79
+ - advanced path overrides only accept relative API paths
80
+ - full URLs are blocked in custom request paths
81
+ - friendly validation runs before common create and update calls
82
+ - custom fields remain flexible, but guided validation protects common mistakes
83
+
84
+ See `SECURITY.md` for operational guidance.
55
85
 
56
- ## Publish locally
86
+ ## Known limitations
87
+
88
+ - owner and pipeline stage lookup depend on what the NinjaPipe workspace exposes through its API
89
+ - if a workspace does not expose those endpoints, the select box may remain empty
90
+ - in that case you can still use Additional Fields or Advanced mode for manual payload overrides
91
+ - no package can guarantee absolute security in every environment, so production use should still be tested in your workspace before rollout
92
+
93
+ ## Publish
57
94
 
58
95
  ```bash
59
96
  npm install
97
+ npm pack --dry-run
60
98
  npm publish
61
99
  ```
62
100
 
63
- ## Important
64
-
65
- - Replace the placeholder pipeline IDs in the workflow templates
66
- - Adjust custom field keys to your NinjaPipe workspace
67
- - Use **Create Or Update By Email** for public lead forms
68
-
69
- ## Docs
101
+ ## Maintainer
70
102
 
71
- Additional package docs live in the `docs` folder.
103
+ Michael Hemmersbach
package/SECURITY.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # Security
2
2
 
3
- ## What this package does
4
- - Stores API credentials in n8n credentials, not inside workflows
5
- - Validates common required fields before sending requests
6
- - Restricts advanced path overrides to relative API paths
7
- - Blocks full URLs and path traversal patterns in custom request paths
8
-
9
- ## Operational guidance
10
- - Use least-privilege NinjaPipe API keys when possible
11
- - Test new package versions in a staging workflow first
12
- - Prefer patch releases for fixes and minor releases for non-breaking additions
13
- - Review workflow mappings after upgrading if you changed resource fields
3
+ This package uses n8n credentials for API secrets and does not store secrets inside workflows.
4
+
5
+ Operational guidance:
6
+
7
+ - use least-privilege NinjaPipe API keys where possible
8
+ - test in a non-production workspace before rollout
9
+ - keep n8n and this package updated
10
+ - use guided fields unless you specifically need Advanced mode
11
+ - review custom field mappings before enabling public forms
12
+
13
+ Important:
14
+ No third-party package can guarantee 100 percent security in every environment. This package is hardened for safer defaults, but production safety still depends on your n8n setup, server security, key management, and NinjaPipe workspace configuration.
@@ -0,0 +1,12 @@
1
+ # NinjaPipe Clean UI
2
+
3
+ This package keeps the UX intentionally simple:
4
+
5
+ - one **NinjaPipe** action node
6
+ - one **NinjaPipe Trigger** node
7
+ - resource first, action second
8
+ - guided fields for common NinjaPipe use cases
9
+ - custom fields as repeatable entries
10
+ - advanced options hidden unless explicitly enabled
11
+
12
+ The goal is not to mirror the raw API one to one, but to provide a safer and more usable n8n integration.
package/install-local.sh CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env bash
2
2
  set -euo pipefail
3
- PROJECT_DIR="${1:-$(cd "$(dirname "$0")" && pwd)}"
4
- cd "$PROJECT_DIR"
3
+ cd "$(dirname "$0")"
5
4
  npm install
6
5
  npm link
7
- mkdir -p "$HOME/.n8n/custom"
8
- cd "$HOME/.n8n/custom"
6
+ mkdir -p ~/.n8n/custom
7
+ cd ~/.n8n/custom
9
8
  [ -f package.json ] || npm init -y >/dev/null 2>&1
10
9
  npm link n8n-nodes-ninjapipe
11
- printf '\nLocal link installed. Restart n8n and hard-refresh the browser.\n'
10
+
11
+ echo "Local link created. Restart n8n and hard refresh the browser."
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "n8n-nodes-ninjapipe",
3
- "version": "0.8.3",
4
- "description": "Production-ready NinjaPipe community nodes for n8n with the new NP logo, safer defaults, and npm-ready packaging.",
3
+ "version": "0.8.4",
4
+ "description": "Production-ready NinjaPipe community nodes for n8n with clean UX, updated NP SVG icon, safer defaults, and update-friendly packaging.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
7
7
  "n8n",
package/publish.sh CHANGED
@@ -1,9 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  set -euo pipefail
3
- PROJECT_DIR="${1:-$(cd "$(dirname "$0")" && pwd)}"
4
- cd "$PROJECT_DIR"
5
- echo "Project: $PROJECT_DIR"
6
- grep -E '"name"|"version"' package.json || true
3
+ cd "$(dirname "$0")"
4
+ echo "Publishing $(node -p "require('./package.json').name")@$(node -p "require('./package.json').version")"
7
5
  npm install
8
6
  npm pack --dry-run
9
7
  npm publish
@@ -1,71 +0,0 @@
1
- # NinjaPipe V7 Clean UI
2
-
3
- ## What changed
4
-
5
- This package keeps the structure intentionally simple:
6
-
7
- - **NinjaPipe** for actions
8
- - **NinjaPipe Trigger** for polling-style events
9
-
10
- Inside the action node you first choose:
11
-
12
- - **Resource**
13
- - **Action**
14
-
15
- After that, only the relevant fields should matter.
16
-
17
- ## UI goals
18
-
19
- - clearer labels instead of generic "record" wording
20
- - easier select boxes for valid values
21
- - pipeline, contact, company, and project lookups
22
- - countries and states for common DACH use cases
23
- - flexible custom fields without forcing raw JSON
24
- - advanced fields only when needed
25
-
26
- ## Recommended usage
27
-
28
- Use the node for:
29
-
30
- - contacts and companies
31
- - deals and pipelines
32
- - products and budgets
33
- - projects and tasks
34
- - custom API requests for edge cases
35
-
36
- Use the trigger for:
37
-
38
- - polling contacts
39
- - polling deals
40
- - polling tasks
41
- - polling Databins
42
- - polling a custom path
43
-
44
- ## Workflow templates included
45
-
46
- See the `examples` folder for starter templates:
47
-
48
- - `np-form-simple-contact-upsert.json`
49
- - `np-form-multipage-branching.json`
50
-
51
- ## Important setup notes
52
-
53
- ### Pipeline IDs in workflows
54
- The included form workflows use a readable **pipeline choice** in the public form and then map this choice to a real NinjaPipe pipeline ID in a Code node.
55
-
56
- You must replace the placeholder values in the Code node, for example:
57
-
58
- - `REPLACE_PIPELINE_SALES_ID`
59
- - `REPLACE_PIPELINE_B2B_ID`
60
- - `REPLACE_PIPELINE_SUPPORT_ID`
61
-
62
- ### Custom field keys
63
- If your NinjaPipe workspace uses different keys, update these in the NinjaPipe nodes:
64
-
65
- - `lead_source`
66
- - `product_interest`
67
- - `deal_interest`
68
- - `budget_range`
69
-
70
- ### Contact deduplication
71
- Use **Create Or Update By Email** whenever a public form may be submitted more than once for the same email address.