n8n-nodes-clientify 0.2.15 → 0.2.16
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/dist/credentials/ClientifyApi.credentials.d.ts +1 -0
- package/dist/credentials/ClientifyApi.credentials.js +1 -0
- package/dist/credentials/clientify.svg +3 -0
- package/dist/nodes/ClientifyApi/ClientifyApi.node.js +1 -0
- package/dist/nodes/ClientifyApi/ClientifyApiCatalog.js +2 -1
- package/dist/nodes/ClientifyMcp/clientify.png +0 -0
- package/dist/nodes/ClientifyMcp/clientify.svg +3 -0
- package/dist/nodes/ClientifyTrigger/ClientifyTrigger.node.js +1 -0
- package/package.json +11 -11
- package/dist/README.md +0 -103
- package/dist/package.json +0 -60
|
@@ -2,6 +2,7 @@ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodePro
|
|
|
2
2
|
export declare class ClientifyApi implements ICredentialType {
|
|
3
3
|
name: string;
|
|
4
4
|
displayName: string;
|
|
5
|
+
icon: "file:clientify.svg";
|
|
5
6
|
documentationUrl: string;
|
|
6
7
|
authenticate: IAuthenticateGeneric;
|
|
7
8
|
test: ICredentialTestRequest;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" width="60" height="60" fill="none">
|
|
2
|
+
<image width="60" height="60" href="data:image/png;base64,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" />
|
|
3
|
+
</svg>
|
|
@@ -80,7 +80,8 @@ exports.operationFields = (() => {
|
|
|
80
80
|
for (const [fieldName, inputDef] of sortedFieldEntries) {
|
|
81
81
|
const isRequired = def.requiredFieldNames.includes(fieldName);
|
|
82
82
|
const n8nType = mapInspectorTypeToN8nType(inputDef === null || inputDef === void 0 ? void 0 : inputDef.type);
|
|
83
|
-
const
|
|
83
|
+
const fallbackDefault = n8nType === "number" ? 0 : n8nType === "boolean" ? false : "";
|
|
84
|
+
const defaultValue = (_a = def.fieldDefaults[fieldName]) !== null && _a !== void 0 ? _a : fallbackDefault;
|
|
84
85
|
fields.push({
|
|
85
86
|
displayName: (inputDef === null || inputDef === void 0 ? void 0 : inputDef.label) || fieldName,
|
|
86
87
|
name: fieldName,
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" width="60" height="60" fill="none">
|
|
2
|
+
<image width="60" height="60" href="data:image/png;base64,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" />
|
|
3
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-clientify",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.16",
|
|
4
4
|
"description": "N8N node for Clientify CRM integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-node",
|
|
@@ -23,12 +23,14 @@
|
|
|
23
23
|
},
|
|
24
24
|
"main": "index.js",
|
|
25
25
|
"scripts": {
|
|
26
|
-
"build": "node scripts/generateOperationCatalog.cjs &&
|
|
27
|
-
"
|
|
26
|
+
"build": "node scripts/generateOperationCatalog.cjs && n8n-node build && cp TRIGGERS_REFERENCE.md dist/ && mkdir -p dist/nodes/ClientifyApi dist/nodes/ClientifyTrigger && cp nodes/ClientifyMcp/*.png dist/nodes/ClientifyApi/ 2>/dev/null || true && cp nodes/ClientifyMcp/*.svg dist/nodes/ClientifyApi/ 2>/dev/null || true && cp nodes/ClientifyMcp/*.png dist/nodes/ClientifyTrigger/ 2>/dev/null || true && cp nodes/ClientifyMcp/*.svg dist/nodes/ClientifyTrigger/ 2>/dev/null || true",
|
|
27
|
+
"build:watch": "tsc --watch",
|
|
28
|
+
"dev": "n8n-node dev",
|
|
28
29
|
"format": "prettier \"nodes/**/*.ts\" \"credentials/**/*.ts\" \"scripts/**/*.cjs\" package.json --write",
|
|
29
|
-
"lint": "
|
|
30
|
-
"
|
|
31
|
-
"prepublishOnly": "npm run build && npm run lint"
|
|
30
|
+
"lint": "n8n-node lint",
|
|
31
|
+
"lint:fix": "n8n-node lint --fix",
|
|
32
|
+
"prepublishOnly": "npm run build && npm run lint",
|
|
33
|
+
"release": "n8n-node release"
|
|
32
34
|
},
|
|
33
35
|
"files": [
|
|
34
36
|
"dist"
|
|
@@ -44,12 +46,10 @@
|
|
|
44
46
|
]
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
49
|
+
"@n8n/node-cli": "0.23.0",
|
|
50
|
+
"@eslint/js": "9.39.1",
|
|
47
51
|
"@types/node": "^20.0.0",
|
|
48
|
-
"
|
|
49
|
-
"@typescript-eslint/parser": "^5.45.0",
|
|
50
|
-
"eslint": "^8.28.0",
|
|
51
|
-
"eslint-config-prettier": "^8.5.0",
|
|
52
|
-
"eslint-plugin-n8n-nodes-base": "^1.11.0",
|
|
52
|
+
"eslint": "9.39.1",
|
|
53
53
|
"n8n-workflow": "^2.2.1",
|
|
54
54
|
"prettier": "^2.8.0",
|
|
55
55
|
"typescript": "^5.6.3"
|
package/dist/README.md
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
# n8n-nodes-clientify
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/n8n-nodes-clientify)
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
|
|
6
|
-
Connect n8n to Clientify CRM via the Clientify REST API using API keys (`Authorization: Token <apiKey>`).
|
|
7
|
-
|
|
8
|
-
This package stays aligned with the action catalog by generating actions/fields from a single shared connector spec at build time.
|
|
9
|
-
Under the hood, requests are executed directly via n8n’s HTTP request helper with `Authorization: Token <apiKey>`.
|
|
10
|
-
|
|
11
|
-
## Installation
|
|
12
|
-
|
|
13
|
-
### In n8n (GUI)
|
|
14
|
-
|
|
15
|
-
1. Go to **Settings** → **Community Nodes**
|
|
16
|
-
2. Click **Install**
|
|
17
|
-
3. Enter: `n8n-nodes-clientify`
|
|
18
|
-
4. Click **I understand the risks** and then **Install**
|
|
19
|
-
5. **Restart n8n** (important - it won't show up until you do)
|
|
20
|
-
|
|
21
|
-
### Via npm (Command Line)
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
cd ~/.n8n/nodes
|
|
25
|
-
npm install n8n-nodes-clientify
|
|
26
|
-
# Restart n8n
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Docker
|
|
30
|
-
|
|
31
|
-
Persist the nodes directory, or you’ll lose the node on restart:
|
|
32
|
-
|
|
33
|
-
```yaml
|
|
34
|
-
volumes:
|
|
35
|
-
- n8n_data:/home/node/.n8n
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Or enable auto-reinstall:
|
|
39
|
-
|
|
40
|
-
```yaml
|
|
41
|
-
environment:
|
|
42
|
-
- N8N_REINSTALL_MISSING_PACKAGES=true
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Prerequisites
|
|
46
|
-
|
|
47
|
-
You'll need:
|
|
48
|
-
- n8n 2.x
|
|
49
|
-
- Node.js 20+
|
|
50
|
-
- A Clientify API key
|
|
51
|
-
|
|
52
|
-
## Configuration
|
|
53
|
-
|
|
54
|
-
1. In n8n, go to **Credentials** → **New**
|
|
55
|
-
2. Search for **"Clientify API"**
|
|
56
|
-
3. Enter your **API Key**
|
|
57
|
-
4. Click **Save**
|
|
58
|
-
|
|
59
|
-
## Nodes
|
|
60
|
-
|
|
61
|
-
### Clientify (action node)
|
|
62
|
-
|
|
63
|
-
1. Add a node and search for **Clientify**.
|
|
64
|
-
2. Pick an **Action**.
|
|
65
|
-
3. Fill fields directly or map them from previous nodes using expressions.
|
|
66
|
-
|
|
67
|
-
### Clientify Trigger (webhook helper)
|
|
68
|
-
|
|
69
|
-
Use this when you want a Clientify-branded trigger in the workflow. Under the hood it behaves like an n8n webhook:
|
|
70
|
-
|
|
71
|
-
- Use **Test URL** when executing on the canvas.
|
|
72
|
-
- Use **Production URL** for always-on external calls (runs show up in **Executions**).
|
|
73
|
-
- The trigger verifies the incoming payload `event` matches the selected event type.
|
|
74
|
-
|
|
75
|
-
For payload formats and examples, see `TRIGGERS_REFERENCE.md`.
|
|
76
|
-
|
|
77
|
-
## Available Operations
|
|
78
|
-
|
|
79
|
-
Operations are generated from the bundled catalog (currently 81 actions).
|
|
80
|
-
|
|
81
|
-
## Mapping (inputs from earlier steps)
|
|
82
|
-
|
|
83
|
-
Mapping is field-based:
|
|
84
|
-
|
|
85
|
-
- Use the field’s **+** button (variable picker), or
|
|
86
|
-
- Toggle **=** and use expressions like `{{$node["Create Contact"].json.id}}`.
|
|
87
|
-
|
|
88
|
-
## Troubleshooting
|
|
89
|
-
|
|
90
|
-
- If the node does not appear after install, restart n8n.
|
|
91
|
-
- If the API returns `401`, verify your API key.
|
|
92
|
-
- If an operation requires an ID, ensure you mapped the correct numeric ID from a previous node.
|
|
93
|
-
|
|
94
|
-
## Support
|
|
95
|
-
|
|
96
|
-
- **Clientify API docs:** https://newapi.clientify.com/
|
|
97
|
-
- **Triggers reference:** [`TRIGGERS_REFERENCE.md`](TRIGGERS_REFERENCE.md)
|
|
98
|
-
|
|
99
|
-
## License
|
|
100
|
-
|
|
101
|
-
MIT License - see [LICENSE](LICENSE) file for details.
|
|
102
|
-
|
|
103
|
-
Copyright (c) 2025 Clientify
|
package/dist/package.json
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "n8n-nodes-clientify",
|
|
3
|
-
"version": "0.2.15",
|
|
4
|
-
"description": "N8N node for Clientify CRM integration",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"n8n-node",
|
|
7
|
-
"n8n-community-node-package",
|
|
8
|
-
"clientify",
|
|
9
|
-
"crm"
|
|
10
|
-
],
|
|
11
|
-
"license": "MIT",
|
|
12
|
-
"homepage": "https://github.com/contacteitor/clientify_n8n#readme",
|
|
13
|
-
"author": {
|
|
14
|
-
"name": "Clientify",
|
|
15
|
-
"email": "develop@clientify.com"
|
|
16
|
-
},
|
|
17
|
-
"repository": {
|
|
18
|
-
"type": "git",
|
|
19
|
-
"url": "https://github.com/contacteitor/clientify_n8n.git"
|
|
20
|
-
},
|
|
21
|
-
"engines": {
|
|
22
|
-
"node": ">=20.15"
|
|
23
|
-
},
|
|
24
|
-
"main": "index.js",
|
|
25
|
-
"scripts": {
|
|
26
|
-
"build": "node scripts/generateOperationCatalog.cjs && rm -rf dist && tsc && cp package.json dist/ && cp README.md dist/ && cp TRIGGERS_REFERENCE.md dist/ && mkdir -p dist/nodes/ClientifyApi dist/nodes/ClientifyTrigger && cp nodes/ClientifyMcp/*.png dist/nodes/ClientifyApi/ 2>/dev/null || true && cp nodes/ClientifyMcp/*.svg dist/nodes/ClientifyApi/ 2>/dev/null || true && cp nodes/ClientifyMcp/*.png dist/nodes/ClientifyTrigger/ 2>/dev/null || true && cp nodes/ClientifyMcp/*.svg dist/nodes/ClientifyTrigger/ 2>/dev/null || true",
|
|
27
|
-
"dev": "tsc --watch",
|
|
28
|
-
"format": "prettier \"nodes/**/*.ts\" \"credentials/**/*.ts\" \"scripts/**/*.cjs\" package.json --write",
|
|
29
|
-
"lint": "eslint nodes credentials package.json --ext .ts",
|
|
30
|
-
"lintfix": "eslint nodes credentials package.json --ext .ts --fix",
|
|
31
|
-
"prepublishOnly": "npm run build && npm run lint"
|
|
32
|
-
},
|
|
33
|
-
"files": [
|
|
34
|
-
"dist"
|
|
35
|
-
],
|
|
36
|
-
"n8n": {
|
|
37
|
-
"n8nNodesApiVersion": 1,
|
|
38
|
-
"credentials": [
|
|
39
|
-
"dist/credentials/ClientifyApi.credentials.js"
|
|
40
|
-
],
|
|
41
|
-
"nodes": [
|
|
42
|
-
"dist/nodes/ClientifyApi/ClientifyApi.node.js",
|
|
43
|
-
"dist/nodes/ClientifyTrigger/ClientifyTrigger.node.js"
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
"devDependencies": {
|
|
47
|
-
"@types/node": "^20.0.0",
|
|
48
|
-
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
|
49
|
-
"@typescript-eslint/parser": "^5.45.0",
|
|
50
|
-
"eslint": "^8.28.0",
|
|
51
|
-
"eslint-config-prettier": "^8.5.0",
|
|
52
|
-
"eslint-plugin-n8n-nodes-base": "^1.11.0",
|
|
53
|
-
"n8n-workflow": "^2.2.1",
|
|
54
|
-
"prettier": "^2.8.0",
|
|
55
|
-
"typescript": "^5.6.3"
|
|
56
|
-
},
|
|
57
|
-
"peerDependencies": {
|
|
58
|
-
"n8n-workflow": "*"
|
|
59
|
-
}
|
|
60
|
-
}
|