n8n-nodes-clientify 0.2.0 → 0.2.2
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/README.md +114 -52
- package/dist/README.md +574 -0
- package/dist/TRIGGERS_REFERENCE.md +922 -0
- package/dist/package.json +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -124,52 +124,68 @@ This node dynamically supports **26 operations** from the Clientify MCP API:
|
|
|
124
124
|
|
|
125
125
|
## Trigger Events
|
|
126
126
|
|
|
127
|
-
**NEW in v0.2.0!** The Clientify Trigger node enables automatic workflow execution when events occur in Clientify CRM.
|
|
128
|
-
|
|
129
|
-
###
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
127
|
+
**NEW in v0.2.0!** The Clientify Trigger node enables automatic workflow execution when events occur in Clientify CRM. With 16 event types covering contacts, companies, deals, and tasks, you can automate workflows instantly when things happen in your CRM.
|
|
128
|
+
|
|
129
|
+
### How It Works
|
|
130
|
+
|
|
131
|
+
1. Add "Clientify Trigger" node to your n8n workflow
|
|
132
|
+
2. Select which event should start the workflow (e.g., "Contact Created")
|
|
133
|
+
3. Activate the workflow to get your unique webhook URL
|
|
134
|
+
4. Configure the webhook in Clientify to point to your n8n URL
|
|
135
|
+
5. When the event happens in Clientify, your workflow runs automatically with the data
|
|
136
|
+
|
|
137
|
+
### 16 Available Triggers
|
|
138
|
+
|
|
139
|
+
| Event | Trigger Name | When It Fires | Common Use Cases |
|
|
140
|
+
|-------|--------------|---------------|------------------|
|
|
141
|
+
| 👥 **Contacts** | | | |
|
|
142
|
+
| | Contact Created | New contact added | Welcome email, create follow-up task, add to CRM |
|
|
143
|
+
| | Contact Updated | Contact details changed | Sync to other systems, log changes, update records |
|
|
144
|
+
| | Contact Deleted | Contact removed | Archive data, remove from email lists, cleanup |
|
|
145
|
+
| 📊 **Companies** | | | |
|
|
146
|
+
| | Company Created | New company added | Research company, assign account manager, notify team |
|
|
147
|
+
| | Company Updated | Company details changed | Update external systems, track changes |
|
|
148
|
+
| | Company Deleted | Company removed | Clean up related data, archive records |
|
|
149
|
+
| 💼 **Deals** | | | |
|
|
150
|
+
| | Deal Created | New deal/opportunity created | Notify sales team, create tasks, log in analytics |
|
|
151
|
+
| | Deal Updated | Deal details changed | Track value changes, update forecasts, log activity |
|
|
152
|
+
| | Deal Won | Deal closed successfully | Send celebration, create invoice, start onboarding |
|
|
153
|
+
| | Deal Lost | Deal closed unsuccessfully | Add to nurture campaign, analyze loss reason |
|
|
154
|
+
| | Deal Stage Changed | Deal moved to different stage | Stage-specific actions (send pricing, generate contract) |
|
|
155
|
+
| | Deal Deleted | Deal removed | Log deletion, archive data |
|
|
156
|
+
| ✅ **Tasks** | | | |
|
|
157
|
+
| | Task Created | New task added | Add to calendar, notify assignee, sync to project tools |
|
|
158
|
+
| | Task Completed | Task marked complete | Log activity, update metrics, trigger next steps |
|
|
159
|
+
| | Task Due Soon | Task approaching due date | Send reminder to assignee |
|
|
160
|
+
| | Task Overdue | Task past due date | Escalate to manager, send urgent notification |
|
|
161
|
+
|
|
162
|
+
### Setup Instructions
|
|
163
|
+
|
|
164
|
+
**In n8n:**
|
|
165
|
+
1. Add "Clientify Trigger" node to your workflow
|
|
166
|
+
2. Select the event from the dropdown
|
|
167
|
+
3. Choose your Clientify MCP credentials
|
|
168
|
+
4. Save and **activate** the workflow (toggle ON)
|
|
169
|
+
5. Click the trigger node → Expand "Webhook URLs"
|
|
170
|
+
6. Switch to "Production URL" tab
|
|
171
|
+
7. Copy the webhook URL
|
|
172
|
+
|
|
173
|
+
**In Clientify:**
|
|
174
|
+
1. Go to Settings → Webhooks
|
|
175
|
+
2. Click "Add Webhook"
|
|
176
|
+
3. Select the matching event (e.g., "contact.created")
|
|
177
|
+
4. Paste your n8n webhook URL
|
|
178
|
+
5. Set status to "Active"
|
|
179
|
+
6. Save
|
|
180
|
+
|
|
181
|
+
**Test It:**
|
|
182
|
+
Create a contact, deal, or task in Clientify → Check n8n executions → Your workflow should have run!
|
|
183
|
+
|
|
184
|
+
### Data You'll Receive
|
|
185
|
+
|
|
186
|
+
All webhook data is automatically flattened so you can easily access it in your workflow. Here's what you get for each event type:
|
|
187
|
+
|
|
188
|
+
**Contact Events** (`contact.created`, `contact.updated`, `contact.deleted`)
|
|
173
189
|
```json
|
|
174
190
|
{
|
|
175
191
|
"event": "contact.created",
|
|
@@ -180,25 +196,71 @@ When a webhook triggers your workflow, the data is automatically flattened for e
|
|
|
180
196
|
"email": "john.doe@example.com",
|
|
181
197
|
"phone": "+1234567890",
|
|
182
198
|
"company_id": 456,
|
|
183
|
-
"company_name": "Acme Corp"
|
|
199
|
+
"company_name": "Acme Corp",
|
|
200
|
+
"changes": { /* only for .updated events */ }
|
|
184
201
|
}
|
|
185
202
|
```
|
|
203
|
+
Access with: `{{$json.first_name}}`, `{{$json.email}}`, `{{$json.company_name}}`
|
|
186
204
|
|
|
187
|
-
**
|
|
205
|
+
**Company Events** (`company.created`, `company.updated`, `company.deleted`)
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"event": "company.created",
|
|
209
|
+
"timestamp": "2025-10-02T18:00:00Z",
|
|
210
|
+
"company_id": 999,
|
|
211
|
+
"name": "Tech Startup Inc",
|
|
212
|
+
"domain": "techstartup.com",
|
|
213
|
+
"industry": "Technology",
|
|
214
|
+
"size": "50-100",
|
|
215
|
+
"country": "USA"
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
Access with: `{{$json.name}}`, `{{$json.domain}}`, `{{$json.industry}}`
|
|
219
|
+
|
|
220
|
+
**Deal Events** (`deal.created`, `deal.updated`, `deal.won`, `deal.lost`, `deal.stage_changed`, `deal.deleted`)
|
|
188
221
|
```json
|
|
189
222
|
{
|
|
190
223
|
"event": "deal.won",
|
|
191
|
-
"timestamp": "2025-10-
|
|
224
|
+
"timestamp": "2025-10-02T23:00:00Z",
|
|
192
225
|
"deal_id": 98765,
|
|
193
226
|
"title": "Enterprise License Sale",
|
|
194
|
-
"value":
|
|
227
|
+
"value": 60000,
|
|
195
228
|
"currency": "USD",
|
|
196
229
|
"contact_id": 12345,
|
|
197
230
|
"contact_name": "John Doe",
|
|
198
|
-
"company_id":
|
|
199
|
-
"company_name": "
|
|
231
|
+
"company_id": 999,
|
|
232
|
+
"company_name": "Tech Startup Inc",
|
|
233
|
+
"stage_name": "Won",
|
|
234
|
+
"won_at": "2025-10-02T23:00:00Z"
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
Access with: `{{$json.title}}`, `{{$json.value}}`, `{{$json.contact_name}}`
|
|
238
|
+
|
|
239
|
+
**Task Events** (`task.created`, `task.completed`, `task.due_soon`, `task.overdue`)
|
|
240
|
+
```json
|
|
241
|
+
{
|
|
242
|
+
"event": "task.created",
|
|
243
|
+
"timestamp": "2025-10-03T03:00:00Z",
|
|
244
|
+
"task_id": 5555,
|
|
245
|
+
"title": "Follow up with John Doe",
|
|
246
|
+
"description": "Discuss pricing options",
|
|
247
|
+
"type": "call",
|
|
248
|
+
"contact_id": 12345,
|
|
249
|
+
"contact_name": "John Doe",
|
|
250
|
+
"deal_id": 98765,
|
|
251
|
+
"assigned_to_name": "Sales Rep",
|
|
252
|
+
"due_date": "2025-10-05"
|
|
200
253
|
}
|
|
201
254
|
```
|
|
255
|
+
Access with: `{{$json.title}}`, `{{$json.contact_name}}`, `{{$json.due_date}}`
|
|
256
|
+
|
|
257
|
+
### Important Notes
|
|
258
|
+
|
|
259
|
+
- **Event names are case-sensitive**: Use exact names like `contact.created` (not `Contact.Created`)
|
|
260
|
+
- **Webhook URLs are unique** per workflow - if you recreate a workflow, you'll get a new URL
|
|
261
|
+
- **Workflows must be active** for webhooks to work - inactive workflows won't receive events
|
|
262
|
+
- **All data includes `_raw`** field with the original payload for advanced use cases
|
|
263
|
+
- **Update events include `changes`** object showing what changed (old/new values)
|
|
202
264
|
|
|
203
265
|
## Usage Examples
|
|
204
266
|
|