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 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
- ### Available Triggers
130
-
131
- #### 👥 Contact Triggers
132
- - **Contact Created** - Fires when a new contact is added to Clientify
133
- - **Contact Updated** - Fires when contact details are modified
134
- - **Contact Deleted** - Fires when a contact is removed
135
-
136
- #### 📊 Company Triggers
137
- - **Company Created** - Fires when a new company is added to Clientify
138
- - **Company Updated** - Fires when company details are modified
139
- - **Company Deleted** - Fires when a company is removed
140
-
141
- #### 💼 Deal Triggers
142
- - **Deal Created** - Fires when a new deal is created
143
- - **Deal Updated** - Fires when deal details are modified
144
- - **Deal Won** - Fires when a deal is marked as won
145
- - **Deal Lost** - Fires when a deal is marked as lost
146
- - **Deal Stage Changed** - Fires when a deal moves to a different pipeline stage
147
- - **Deal Deleted** - Fires when a deal is removed
148
-
149
- #### Task Triggers
150
- - **Task Created** - Fires when a new task is created
151
- - **Task Completed** - Fires when a task is marked as completed
152
- - **Task Due Soon** - Fires when a task is approaching its due date
153
- - **Task Overdue** - Fires when a task passes its due date
154
-
155
- ### Setting Up Webhooks
156
-
157
- 1. **Add Clientify Trigger node** to your workflow in n8n
158
- 2. **Select the event** you want to listen for (e.g., "Contact Created")
159
- 3. **Save and activate** the workflow to generate webhook URL
160
- 4. **Copy the webhook URL** from the trigger node
161
- 5. **Configure webhook in Clientify:**
162
- - Go to Clientify Settings → Webhooks
163
- - Add new webhook
164
- - Paste the n8n webhook URL
165
- - Select the corresponding event type
166
- - Save the webhook configuration
167
-
168
- ### Webhook Data Structure
169
-
170
- When a webhook triggers your workflow, the data is automatically flattened for easy access:
171
-
172
- **Contact Created Example:**
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
- **Deal Won Example:**
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-02T17:00:00Z",
224
+ "timestamp": "2025-10-02T23:00:00Z",
192
225
  "deal_id": 98765,
193
226
  "title": "Enterprise License Sale",
194
- "value": 50000,
227
+ "value": 60000,
195
228
  "currency": "USD",
196
229
  "contact_id": 12345,
197
230
  "contact_name": "John Doe",
198
- "company_id": 789,
199
- "company_name": "New Corp"
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