n8n-nodes-clientify 0.2.8 → 0.2.10
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 +2 -2
- package/dist/README.md +2 -2
- package/dist/credentials/ClientifyApi.credentials.d.ts +14 -0
- package/dist/credentials/ClientifyApi.credentials.js +14 -0
- package/dist/nodes/ClientifyApi/ClientifyApi.node.js +1 -1
- package/dist/package.json +2 -2
- package/package.json +2 -2
- package/dist/appmixer/clientify/crm/AddCompanyAddress/AddCompanyAddress.js +0 -33
- package/dist/appmixer/clientify/crm/AddCompanyAddress/component.json +0 -115
- package/dist/appmixer/clientify/crm/AddCompanyCall/AddCompanyCall.js +0 -32
- package/dist/appmixer/clientify/crm/AddCompanyCall/component.json +0 -109
- package/dist/appmixer/clientify/crm/AddCompanyCheckin/AddCompanyCheckin.js +0 -31
- package/dist/appmixer/clientify/crm/AddCompanyCheckin/component.json +0 -98
- package/dist/appmixer/clientify/crm/AddCompanyEmail/AddCompanyEmail.js +0 -25
- package/dist/appmixer/clientify/crm/AddCompanyEmail/component.json +0 -84
- package/dist/appmixer/clientify/crm/AddCompanyEmployee/AddCompanyEmployee.js +0 -22
- package/dist/appmixer/clientify/crm/AddCompanyEmployee/component.json +0 -65
- package/dist/appmixer/clientify/crm/AddCompanyNote/AddCompanyNote.js +0 -25
- package/dist/appmixer/clientify/crm/AddCompanyNote/component.json +0 -75
- package/dist/appmixer/clientify/crm/AddCompanyPhone/AddCompanyPhone.js +0 -25
- package/dist/appmixer/clientify/crm/AddCompanyPhone/component.json +0 -87
- package/dist/appmixer/clientify/crm/AddCompanyTag/AddCompanyTag.js +0 -23
- package/dist/appmixer/clientify/crm/AddCompanyTag/component.json +0 -71
- package/dist/appmixer/clientify/crm/AddCompanyWebsite/AddCompanyWebsite.js +0 -23
- package/dist/appmixer/clientify/crm/AddCompanyWebsite/component.json +0 -65
- package/dist/appmixer/clientify/crm/AddContactAddress/AddContactAddress.js +0 -33
- package/dist/appmixer/clientify/crm/AddContactAddress/component.json +0 -115
- package/dist/appmixer/clientify/crm/AddContactCall/AddContactCall.js +0 -20
- package/dist/appmixer/clientify/crm/AddContactCall/component.json +0 -55
- package/dist/appmixer/clientify/crm/AddContactCheckin/AddContactCheckin.js +0 -33
- package/dist/appmixer/clientify/crm/AddContactCheckin/component.json +0 -109
- package/dist/appmixer/clientify/crm/AddContactEmail/AddContactEmail.js +0 -25
- package/dist/appmixer/clientify/crm/AddContactEmail/component.json +0 -85
- package/dist/appmixer/clientify/crm/AddContactNote/AddContactNote.js +0 -25
- package/dist/appmixer/clientify/crm/AddContactNote/component.json +0 -75
- package/dist/appmixer/clientify/crm/AddContactOtherCompany/AddContactOtherCompany.js +0 -23
- package/dist/appmixer/clientify/crm/AddContactOtherCompany/component.json +0 -65
- package/dist/appmixer/clientify/crm/AddContactPhone/AddContactPhone.js +0 -25
- package/dist/appmixer/clientify/crm/AddContactPhone/component.json +0 -88
- package/dist/appmixer/clientify/crm/AddContactTag/AddContactTag.js +0 -23
- package/dist/appmixer/clientify/crm/AddContactTag/component.json +0 -71
- package/dist/appmixer/clientify/crm/AssignContactOwner/AssignContactOwner.js +0 -23
- package/dist/appmixer/clientify/crm/AssignContactOwner/component.json +0 -93
- package/dist/appmixer/clientify/crm/BatchCreateContacts/BatchCreateContacts.js +0 -23
- package/dist/appmixer/clientify/crm/BatchCreateContacts/component.json +0 -90
- package/dist/appmixer/clientify/crm/CompleteTask/CompleteTask.js +0 -24
- package/dist/appmixer/clientify/crm/CompleteTask/component.json +0 -69
- package/dist/appmixer/clientify/crm/CreateCompany/CreateCompany.js +0 -19
- package/dist/appmixer/clientify/crm/CreateCompany/component.json +0 -58
- package/dist/appmixer/clientify/crm/CreateContact/CreateContact.js +0 -19
- package/dist/appmixer/clientify/crm/CreateContact/component.json +0 -88
- package/dist/appmixer/clientify/crm/CreateTask/CreateTask.js +0 -19
- package/dist/appmixer/clientify/crm/CreateTask/component.json +0 -167
- package/dist/appmixer/clientify/crm/DeleteCompany/DeleteCompany.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteCompany/component.json +0 -51
- package/dist/appmixer/clientify/crm/DeleteCompanyAddress/DeleteCompanyAddress.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteCompanyAddress/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteCompanyEmail/DeleteCompanyEmail.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteCompanyEmail/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteCompanyPhone/DeleteCompanyPhone.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteCompanyPhone/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteCompanyWebsite/DeleteCompanyWebsite.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteCompanyWebsite/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteContact/DeleteContact.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteContact/component.json +0 -51
- package/dist/appmixer/clientify/crm/DeleteContactAddress/DeleteContactAddress.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteContactAddress/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteContactEmail/DeleteContactEmail.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteContactEmail/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteContactOtherCompany/DeleteContactOtherCompany.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteContactOtherCompany/component.json +0 -62
- package/dist/appmixer/clientify/crm/DeleteContactPhone/DeleteContactPhone.js +0 -22
- package/dist/appmixer/clientify/crm/DeleteContactPhone/component.json +0 -62
- package/dist/appmixer/clientify/crm/GetCompany/GetCompany.js +0 -24
- package/dist/appmixer/clientify/crm/GetCompany/component.json +0 -69
- package/dist/appmixer/clientify/crm/GetContact/GetContact.js +0 -24
- package/dist/appmixer/clientify/crm/GetContact/component.json +0 -90
- package/dist/appmixer/clientify/crm/GetCurrentUser/GetCurrentUser.js +0 -17
- package/dist/appmixer/clientify/crm/GetCurrentUser/component.json +0 -49
- package/dist/appmixer/clientify/crm/GetTask/GetTask.js +0 -24
- package/dist/appmixer/clientify/crm/GetTask/component.json +0 -78
- package/dist/appmixer/clientify/crm/ListAllCompanyTags/ListAllCompanyTags.js +0 -16
- package/dist/appmixer/clientify/crm/ListAllCompanyTags/component.json +0 -67
- package/dist/appmixer/clientify/crm/ListAllContactTags/ListAllContactTags.js +0 -16
- package/dist/appmixer/clientify/crm/ListAllContactTags/component.json +0 -67
- package/dist/appmixer/clientify/crm/ListCompanies/ListCompanies.js +0 -26
- package/dist/appmixer/clientify/crm/ListCompanies/component.json +0 -117
- package/dist/appmixer/clientify/crm/ListCompanyAddresses/ListCompanyAddresses.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyAddresses/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListCompanyCustomfields/ListCompanyCustomfields.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyCustomfields/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListCompanyEmails/ListCompanyEmails.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyEmails/component.json +0 -88
- package/dist/appmixer/clientify/crm/ListCompanyEmployees/ListCompanyEmployees.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyEmployees/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListCompanyPhones/ListCompanyPhones.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyPhones/component.json +0 -91
- package/dist/appmixer/clientify/crm/ListCompanySectors/ListCompanySectors.js +0 -16
- package/dist/appmixer/clientify/crm/ListCompanySectors/component.json +0 -64
- package/dist/appmixer/clientify/crm/ListCompanyTags/ListCompanyTags.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyTags/component.json +0 -85
- package/dist/appmixer/clientify/crm/ListCompanyTasks/ListCompanyTasks.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyTasks/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListCompanyWallentries/ListCompanyWallentries.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyWallentries/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListCompanyWebsites/ListCompanyWebsites.js +0 -20
- package/dist/appmixer/clientify/crm/ListCompanyWebsites/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListContactAddresses/ListContactAddresses.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactAddresses/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListContactCustomfields/ListContactCustomfields.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactCustomfields/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListContactEmails/ListContactEmails.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactEmails/component.json +0 -88
- package/dist/appmixer/clientify/crm/ListContactOtherCompanies/ListContactOtherCompanies.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactOtherCompanies/component.json +0 -85
- package/dist/appmixer/clientify/crm/ListContactPhones/ListContactPhones.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactPhones/component.json +0 -91
- package/dist/appmixer/clientify/crm/ListContactTags/ListContactTags.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactTags/component.json +0 -85
- package/dist/appmixer/clientify/crm/ListContactTasks/ListContactTasks.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactTasks/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListContactWallentries/ListContactWallentries.js +0 -20
- package/dist/appmixer/clientify/crm/ListContactWallentries/component.json +0 -79
- package/dist/appmixer/clientify/crm/ListContacts/ListContacts.js +0 -26
- package/dist/appmixer/clientify/crm/ListContacts/component.json +0 -138
- package/dist/appmixer/clientify/crm/ListCustomFieldValues/ListCustomFieldValues.js +0 -19
- package/dist/appmixer/clientify/crm/ListCustomFieldValues/component.json +0 -77
- package/dist/appmixer/clientify/crm/ListCustomFields/ListCustomFields.js +0 -19
- package/dist/appmixer/clientify/crm/ListCustomFields/component.json +0 -77
- package/dist/appmixer/clientify/crm/ListTaskStages/ListTaskStages.js +0 -19
- package/dist/appmixer/clientify/crm/ListTaskStages/component.json +0 -87
- package/dist/appmixer/clientify/crm/ListTaskTypes/ListTaskTypes.js +0 -19
- package/dist/appmixer/clientify/crm/ListTaskTypes/component.json +0 -87
- package/dist/appmixer/clientify/crm/ListTasks/ListTasks.js +0 -25
- package/dist/appmixer/clientify/crm/ListTasks/component.json +0 -102
- package/dist/appmixer/clientify/crm/ListUsers/ListUsers.js +0 -24
- package/dist/appmixer/clientify/crm/ListUsers/component.json +0 -93
- package/dist/appmixer/clientify/crm/RemoveCompanyEmployee/RemoveCompanyEmployee.js +0 -22
- package/dist/appmixer/clientify/crm/RemoveCompanyEmployee/component.json +0 -62
- package/dist/appmixer/clientify/crm/RemoveCompanyTag/RemoveCompanyTag.js +0 -22
- package/dist/appmixer/clientify/crm/RemoveCompanyTag/component.json +0 -62
- package/dist/appmixer/clientify/crm/RemoveContactTag/RemoveContactTag.js +0 -22
- package/dist/appmixer/clientify/crm/RemoveContactTag/component.json +0 -62
- package/dist/appmixer/clientify/crm/SearchCompanies/SearchCompanies.js +0 -29
- package/dist/appmixer/clientify/crm/SearchCompanies/component.json +0 -111
- package/dist/appmixer/clientify/crm/UpdateCompany/UpdateCompany.js +0 -24
- package/dist/appmixer/clientify/crm/UpdateCompany/component.json +0 -60
- package/dist/appmixer/clientify/crm/UpdateCompanyAddress/UpdateCompanyAddress.js +0 -35
- package/dist/appmixer/clientify/crm/UpdateCompanyAddress/component.json +0 -131
- package/dist/appmixer/clientify/crm/UpdateCompanyEmail/UpdateCompanyEmail.js +0 -27
- package/dist/appmixer/clientify/crm/UpdateCompanyEmail/component.json +0 -91
- package/dist/appmixer/clientify/crm/UpdateCompanyPhone/UpdateCompanyPhone.js +0 -27
- package/dist/appmixer/clientify/crm/UpdateCompanyPhone/component.json +0 -91
- package/dist/appmixer/clientify/crm/UpdateCompanyWebsite/UpdateCompanyWebsite.js +0 -25
- package/dist/appmixer/clientify/crm/UpdateCompanyWebsite/component.json +0 -81
- package/dist/appmixer/clientify/crm/UpdateContact/UpdateContact.js +0 -24
- package/dist/appmixer/clientify/crm/UpdateContact/component.json +0 -81
- package/dist/appmixer/clientify/crm/UpdateContactAddress/UpdateContactAddress.js +0 -35
- package/dist/appmixer/clientify/crm/UpdateContactAddress/component.json +0 -152
- package/dist/appmixer/clientify/crm/UpdateContactEmail/UpdateContactEmail.js +0 -27
- package/dist/appmixer/clientify/crm/UpdateContactEmail/component.json +0 -112
- package/dist/appmixer/clientify/crm/UpdateContactMarketingStatus/UpdateContactMarketingStatus.js +0 -25
- package/dist/appmixer/clientify/crm/UpdateContactMarketingStatus/component.json +0 -92
- package/dist/appmixer/clientify/crm/UpdateContactOtherCompany/UpdateContactOtherCompany.js +0 -25
- package/dist/appmixer/clientify/crm/UpdateContactOtherCompany/component.json +0 -102
- package/dist/appmixer/clientify/crm/UpdateContactPhone/UpdateContactPhone.js +0 -27
- package/dist/appmixer/clientify/crm/UpdateContactPhone/component.json +0 -112
- package/dist/appmixer/clientify/crm/UpdateTask/UpdateTask.js +0 -24
- package/dist/appmixer/clientify/crm/UpdateTask/component.json +0 -69
- package/dist/appmixer/clientify/crm/clientify.js +0 -49
- package/dist/appmixer/clientify/crm/fields.js +0 -24
- package/dist/appmixer/clientify/crm/module.json +0 -7
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
9
|
-
|
|
10
|
-
const payload = {
|
|
11
|
-
type: input.type,
|
|
12
|
-
comment: input.comment,
|
|
13
|
-
outcome: input.outcome,
|
|
14
|
-
date: input.date,
|
|
15
|
-
owner: input.owner,
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
for (const key of ['type', 'comment', 'outcome', 'date', 'owner']) {
|
|
19
|
-
if (!payload[key]) throw new context.CancelError(`${key} is required`);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const { data } = await clientifyRequest(context, {
|
|
23
|
-
apiKey,
|
|
24
|
-
baseUrl,
|
|
25
|
-
method: 'POST',
|
|
26
|
-
path: `/contacts/${contactId}/checkin/`,
|
|
27
|
-
data: payload,
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
return context.sendJson(data || { ok: true }, 'out');
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appmixer.clientify.crm.AddContactCheckin",
|
|
3
|
-
"author": "Clientify",
|
|
4
|
-
"label": "Add Contact Check-in",
|
|
5
|
-
"description": "Log a meeting/check-in on a contact.",
|
|
6
|
-
"private": false,
|
|
7
|
-
"version": "0.1.0",
|
|
8
|
-
"auth": {
|
|
9
|
-
"service": "appmixer:clientify"
|
|
10
|
-
},
|
|
11
|
-
"inPorts": [
|
|
12
|
-
{
|
|
13
|
-
"name": "in",
|
|
14
|
-
"schema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"additionalProperties": false,
|
|
17
|
-
"properties": {
|
|
18
|
-
"contactId": {
|
|
19
|
-
"type": "number"
|
|
20
|
-
},
|
|
21
|
-
"type": {
|
|
22
|
-
"type": "string",
|
|
23
|
-
"description": "Example: virtual"
|
|
24
|
-
},
|
|
25
|
-
"comment": {
|
|
26
|
-
"type": "string"
|
|
27
|
-
},
|
|
28
|
-
"outcome": {
|
|
29
|
-
"type": "string",
|
|
30
|
-
"description": "Example: scheduled"
|
|
31
|
-
},
|
|
32
|
-
"date": {
|
|
33
|
-
"type": "string",
|
|
34
|
-
"description": "Example: 2021-07-08 12:34"
|
|
35
|
-
},
|
|
36
|
-
"owner": {
|
|
37
|
-
"type": "number",
|
|
38
|
-
"description": "User id."
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
"required": [
|
|
42
|
-
"contactId",
|
|
43
|
-
"type",
|
|
44
|
-
"comment",
|
|
45
|
-
"outcome",
|
|
46
|
-
"date",
|
|
47
|
-
"owner"
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
"inspector": {
|
|
51
|
-
"inputs": {
|
|
52
|
-
"contactId": {
|
|
53
|
-
"type": "number",
|
|
54
|
-
"label": "Contact ID",
|
|
55
|
-
"tooltip": "Set Contact ID (can be mapped from previous steps).",
|
|
56
|
-
"index": 1
|
|
57
|
-
},
|
|
58
|
-
"type": {
|
|
59
|
-
"type": "text",
|
|
60
|
-
"label": "Type",
|
|
61
|
-
"tooltip": "Set Type (can be mapped from previous steps).",
|
|
62
|
-
"index": 2
|
|
63
|
-
},
|
|
64
|
-
"comment": {
|
|
65
|
-
"type": "text",
|
|
66
|
-
"label": "Comment",
|
|
67
|
-
"tooltip": "Set Comment (can be mapped from previous steps).",
|
|
68
|
-
"index": 3
|
|
69
|
-
},
|
|
70
|
-
"outcome": {
|
|
71
|
-
"type": "text",
|
|
72
|
-
"label": "Outcome",
|
|
73
|
-
"tooltip": "Set Outcome (can be mapped from previous steps).",
|
|
74
|
-
"index": 4
|
|
75
|
-
},
|
|
76
|
-
"date": {
|
|
77
|
-
"type": "text",
|
|
78
|
-
"label": "Date",
|
|
79
|
-
"tooltip": "Set Date (can be mapped from previous steps).",
|
|
80
|
-
"index": 5
|
|
81
|
-
},
|
|
82
|
-
"owner": {
|
|
83
|
-
"type": "number",
|
|
84
|
-
"label": "Owner",
|
|
85
|
-
"tooltip": "Set Owner (can be mapped from previous steps).",
|
|
86
|
-
"index": 6
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
],
|
|
92
|
-
"outPorts": [
|
|
93
|
-
{
|
|
94
|
-
"name": "out",
|
|
95
|
-
"schema": {
|
|
96
|
-
"type": "object",
|
|
97
|
-
"additionalProperties": true,
|
|
98
|
-
"properties": {
|
|
99
|
-
"id": {
|
|
100
|
-
"type": "number"
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"required": [
|
|
104
|
-
"id"
|
|
105
|
-
]
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
const email = input.email;
|
|
9
|
-
const type = input.type;
|
|
10
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
11
|
-
if (!email) throw new context.CancelError('email is required');
|
|
12
|
-
if (!type) throw new context.CancelError('type is required');
|
|
13
|
-
|
|
14
|
-
const { data } = await clientifyRequest(context, {
|
|
15
|
-
apiKey,
|
|
16
|
-
baseUrl,
|
|
17
|
-
method: 'POST',
|
|
18
|
-
path: `/contacts/${contactId}/emails/`,
|
|
19
|
-
data: { email, type },
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return context.sendJson(data || { ok: true }, 'out');
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appmixer.clientify.crm.AddContactEmail",
|
|
3
|
-
"author": "Clientify",
|
|
4
|
-
"label": "Add Contact Email",
|
|
5
|
-
"description": "Add an email to a contact.",
|
|
6
|
-
"private": false,
|
|
7
|
-
"version": "0.1.0",
|
|
8
|
-
"auth": {
|
|
9
|
-
"service": "appmixer:clientify"
|
|
10
|
-
},
|
|
11
|
-
"inPorts": [
|
|
12
|
-
{
|
|
13
|
-
"name": "in",
|
|
14
|
-
"schema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"additionalProperties": false,
|
|
17
|
-
"properties": {
|
|
18
|
-
"contactId": {
|
|
19
|
-
"type": "number"
|
|
20
|
-
},
|
|
21
|
-
"email": {
|
|
22
|
-
"type": "string"
|
|
23
|
-
},
|
|
24
|
-
"type": {
|
|
25
|
-
"type": "number",
|
|
26
|
-
"description": "Email type id/choice."
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"required": [
|
|
30
|
-
"contactId",
|
|
31
|
-
"email",
|
|
32
|
-
"type"
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
"inspector": {
|
|
36
|
-
"inputs": {
|
|
37
|
-
"contactId": {
|
|
38
|
-
"type": "number",
|
|
39
|
-
"label": "Contact ID",
|
|
40
|
-
"tooltip": "Set Contact ID (can be mapped from previous steps).",
|
|
41
|
-
"index": 1
|
|
42
|
-
},
|
|
43
|
-
"email": {
|
|
44
|
-
"type": "text",
|
|
45
|
-
"label": "Email",
|
|
46
|
-
"tooltip": "Set Email (can be mapped from previous steps).",
|
|
47
|
-
"index": 2
|
|
48
|
-
},
|
|
49
|
-
"type": {
|
|
50
|
-
"type": "number",
|
|
51
|
-
"label": "Type",
|
|
52
|
-
"tooltip": "Set Type (can be mapped from previous steps).",
|
|
53
|
-
"index": 3
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
],
|
|
59
|
-
"outPorts": [
|
|
60
|
-
{
|
|
61
|
-
"name": "out",
|
|
62
|
-
"schema": {
|
|
63
|
-
"type": "object",
|
|
64
|
-
"additionalProperties": true,
|
|
65
|
-
"properties": {
|
|
66
|
-
"id": {
|
|
67
|
-
"type": "number"
|
|
68
|
-
},
|
|
69
|
-
"type": {
|
|
70
|
-
"type": "number"
|
|
71
|
-
},
|
|
72
|
-
"email": {
|
|
73
|
-
"type": "string"
|
|
74
|
-
},
|
|
75
|
-
"is_hard_bounce": {
|
|
76
|
-
"type": "boolean"
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"required": [
|
|
80
|
-
"id"
|
|
81
|
-
]
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
const name = input.name;
|
|
9
|
-
const comment = input.comment;
|
|
10
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
11
|
-
if (!name) throw new context.CancelError('name is required');
|
|
12
|
-
if (!comment) throw new context.CancelError('comment is required');
|
|
13
|
-
|
|
14
|
-
const { data } = await clientifyRequest(context, {
|
|
15
|
-
apiKey,
|
|
16
|
-
baseUrl,
|
|
17
|
-
method: 'POST',
|
|
18
|
-
path: `/contacts/${contactId}/note/`,
|
|
19
|
-
data: { name, comment },
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return context.sendJson(data || { ok: true }, 'out');
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appmixer.clientify.crm.AddContactNote",
|
|
3
|
-
"author": "Clientify",
|
|
4
|
-
"label": "Add Contact Note",
|
|
5
|
-
"description": "Add a note to a contact.",
|
|
6
|
-
"private": false,
|
|
7
|
-
"version": "0.1.0",
|
|
8
|
-
"auth": {
|
|
9
|
-
"service": "appmixer:clientify"
|
|
10
|
-
},
|
|
11
|
-
"inPorts": [
|
|
12
|
-
{
|
|
13
|
-
"name": "in",
|
|
14
|
-
"schema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"additionalProperties": false,
|
|
17
|
-
"properties": {
|
|
18
|
-
"contactId": {
|
|
19
|
-
"type": "number"
|
|
20
|
-
},
|
|
21
|
-
"name": {
|
|
22
|
-
"type": "string"
|
|
23
|
-
},
|
|
24
|
-
"comment": {
|
|
25
|
-
"type": "string"
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
"required": [
|
|
29
|
-
"contactId",
|
|
30
|
-
"name",
|
|
31
|
-
"comment"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
"inspector": {
|
|
35
|
-
"inputs": {
|
|
36
|
-
"contactId": {
|
|
37
|
-
"type": "number",
|
|
38
|
-
"label": "Contact ID",
|
|
39
|
-
"tooltip": "Set Contact ID (can be mapped from previous steps).",
|
|
40
|
-
"index": 1
|
|
41
|
-
},
|
|
42
|
-
"name": {
|
|
43
|
-
"type": "text",
|
|
44
|
-
"label": "Name",
|
|
45
|
-
"tooltip": "Set Name (can be mapped from previous steps).",
|
|
46
|
-
"index": 2
|
|
47
|
-
},
|
|
48
|
-
"comment": {
|
|
49
|
-
"type": "text",
|
|
50
|
-
"label": "Comment",
|
|
51
|
-
"tooltip": "Set Comment (can be mapped from previous steps).",
|
|
52
|
-
"index": 3
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
"outPorts": [
|
|
59
|
-
{
|
|
60
|
-
"name": "out",
|
|
61
|
-
"schema": {
|
|
62
|
-
"type": "object",
|
|
63
|
-
"additionalProperties": true,
|
|
64
|
-
"properties": {
|
|
65
|
-
"id": {
|
|
66
|
-
"type": "number"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"required": [
|
|
70
|
-
"id"
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
]
|
|
75
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
const title = input.title;
|
|
9
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
10
|
-
if (!title) throw new context.CancelError('title is required');
|
|
11
|
-
|
|
12
|
-
const { data } = await clientifyRequest(context, {
|
|
13
|
-
apiKey,
|
|
14
|
-
baseUrl,
|
|
15
|
-
method: 'POST',
|
|
16
|
-
path: `/contacts/${contactId}/other_companies/`,
|
|
17
|
-
data: { title },
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return context.sendJson(data, 'out');
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appmixer.clientify.crm.AddContactOtherCompany",
|
|
3
|
-
"author": "Clientify",
|
|
4
|
-
"label": "Add Contact Other Company",
|
|
5
|
-
"description": "Create an additional company relationship for a contact (by title).",
|
|
6
|
-
"private": false,
|
|
7
|
-
"version": "0.1.0",
|
|
8
|
-
"auth": {
|
|
9
|
-
"service": "appmixer:clientify"
|
|
10
|
-
},
|
|
11
|
-
"inPorts": [
|
|
12
|
-
{
|
|
13
|
-
"name": "in",
|
|
14
|
-
"schema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"additionalProperties": false,
|
|
17
|
-
"properties": {
|
|
18
|
-
"contactId": {
|
|
19
|
-
"type": "number"
|
|
20
|
-
},
|
|
21
|
-
"title": {
|
|
22
|
-
"type": "string"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
"required": [
|
|
26
|
-
"contactId",
|
|
27
|
-
"title"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"inspector": {
|
|
31
|
-
"inputs": {
|
|
32
|
-
"contactId": {
|
|
33
|
-
"type": "number",
|
|
34
|
-
"label": "Contact ID",
|
|
35
|
-
"tooltip": "Set Contact ID (can be mapped from previous steps).",
|
|
36
|
-
"index": 1
|
|
37
|
-
},
|
|
38
|
-
"title": {
|
|
39
|
-
"type": "text",
|
|
40
|
-
"label": "Title",
|
|
41
|
-
"tooltip": "Set Title (can be mapped from previous steps).",
|
|
42
|
-
"index": 2
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
],
|
|
48
|
-
"outPorts": [
|
|
49
|
-
{
|
|
50
|
-
"name": "out",
|
|
51
|
-
"schema": {
|
|
52
|
-
"type": "object",
|
|
53
|
-
"additionalProperties": true,
|
|
54
|
-
"properties": {
|
|
55
|
-
"id": {
|
|
56
|
-
"type": "number"
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
"required": [
|
|
60
|
-
"id"
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
const phone = input.phone;
|
|
9
|
-
const type = input.type;
|
|
10
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
11
|
-
if (!phone) throw new context.CancelError('phone is required');
|
|
12
|
-
if (!type) throw new context.CancelError('type is required');
|
|
13
|
-
|
|
14
|
-
const { data } = await clientifyRequest(context, {
|
|
15
|
-
apiKey,
|
|
16
|
-
baseUrl,
|
|
17
|
-
method: 'POST',
|
|
18
|
-
path: `/contacts/${contactId}/phones/`,
|
|
19
|
-
data: { phone, type },
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return context.sendJson(data || { ok: true }, 'out');
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appmixer.clientify.crm.AddContactPhone",
|
|
3
|
-
"author": "Clientify",
|
|
4
|
-
"label": "Add Contact Phone",
|
|
5
|
-
"description": "Add a phone to a contact.",
|
|
6
|
-
"private": false,
|
|
7
|
-
"version": "0.1.0",
|
|
8
|
-
"auth": {
|
|
9
|
-
"service": "appmixer:clientify"
|
|
10
|
-
},
|
|
11
|
-
"inPorts": [
|
|
12
|
-
{
|
|
13
|
-
"name": "in",
|
|
14
|
-
"schema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"additionalProperties": false,
|
|
17
|
-
"properties": {
|
|
18
|
-
"contactId": {
|
|
19
|
-
"type": "number"
|
|
20
|
-
},
|
|
21
|
-
"phone": {
|
|
22
|
-
"type": "string"
|
|
23
|
-
},
|
|
24
|
-
"type": {
|
|
25
|
-
"type": "number",
|
|
26
|
-
"description": "Phone type id/choice."
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"required": [
|
|
30
|
-
"contactId",
|
|
31
|
-
"phone",
|
|
32
|
-
"type"
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
"inspector": {
|
|
36
|
-
"inputs": {
|
|
37
|
-
"contactId": {
|
|
38
|
-
"type": "number",
|
|
39
|
-
"label": "Contact ID",
|
|
40
|
-
"tooltip": "Set Contact ID (can be mapped from previous steps).",
|
|
41
|
-
"index": 1
|
|
42
|
-
},
|
|
43
|
-
"phone": {
|
|
44
|
-
"type": "text",
|
|
45
|
-
"label": "Phone",
|
|
46
|
-
"tooltip": "Set Phone (can be mapped from previous steps).",
|
|
47
|
-
"index": 2
|
|
48
|
-
},
|
|
49
|
-
"type": {
|
|
50
|
-
"type": "number",
|
|
51
|
-
"label": "Type",
|
|
52
|
-
"tooltip": "Set Type (can be mapped from previous steps).",
|
|
53
|
-
"index": 3
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
],
|
|
59
|
-
"outPorts": [
|
|
60
|
-
{
|
|
61
|
-
"name": "out",
|
|
62
|
-
"schema": {
|
|
63
|
-
"type": "object",
|
|
64
|
-
"additionalProperties": true,
|
|
65
|
-
"properties": {
|
|
66
|
-
"id": {
|
|
67
|
-
"type": "number"
|
|
68
|
-
},
|
|
69
|
-
"type": {
|
|
70
|
-
"type": "number"
|
|
71
|
-
},
|
|
72
|
-
"phone": {
|
|
73
|
-
"type": "string"
|
|
74
|
-
},
|
|
75
|
-
"whatsapp": {
|
|
76
|
-
"type": "boolean"
|
|
77
|
-
},
|
|
78
|
-
"is_hard_bounce": {
|
|
79
|
-
"type": "boolean"
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
"required": [
|
|
83
|
-
"id"
|
|
84
|
-
]
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
const name = input.name;
|
|
9
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
10
|
-
if (!name) throw new context.CancelError('name is required');
|
|
11
|
-
|
|
12
|
-
const { data } = await clientifyRequest(context, {
|
|
13
|
-
apiKey,
|
|
14
|
-
baseUrl,
|
|
15
|
-
method: 'POST',
|
|
16
|
-
path: `/contacts/${contactId}/tags/`,
|
|
17
|
-
data: { name },
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return context.sendJson(data || { ok: true }, 'out');
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "appmixer.clientify.crm.AddContactTag",
|
|
3
|
-
"author": "Clientify",
|
|
4
|
-
"label": "Add Contact Tag",
|
|
5
|
-
"description": "Add a tag to a contact (creates the tag if needed).",
|
|
6
|
-
"private": false,
|
|
7
|
-
"version": "0.1.0",
|
|
8
|
-
"auth": {
|
|
9
|
-
"service": "appmixer:clientify"
|
|
10
|
-
},
|
|
11
|
-
"inPorts": [
|
|
12
|
-
{
|
|
13
|
-
"name": "in",
|
|
14
|
-
"schema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"additionalProperties": false,
|
|
17
|
-
"properties": {
|
|
18
|
-
"contactId": {
|
|
19
|
-
"type": "number"
|
|
20
|
-
},
|
|
21
|
-
"name": {
|
|
22
|
-
"type": "string"
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
"required": [
|
|
26
|
-
"contactId",
|
|
27
|
-
"name"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"inspector": {
|
|
31
|
-
"inputs": {
|
|
32
|
-
"contactId": {
|
|
33
|
-
"type": "number",
|
|
34
|
-
"label": "Contact ID",
|
|
35
|
-
"tooltip": "Set Contact ID (can be mapped from previous steps).",
|
|
36
|
-
"index": 1
|
|
37
|
-
},
|
|
38
|
-
"name": {
|
|
39
|
-
"type": "text",
|
|
40
|
-
"label": "Name",
|
|
41
|
-
"tooltip": "Set Name (can be mapped from previous steps).",
|
|
42
|
-
"index": 2
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
],
|
|
48
|
-
"outPorts": [
|
|
49
|
-
{
|
|
50
|
-
"name": "out",
|
|
51
|
-
"schema": {
|
|
52
|
-
"type": "object",
|
|
53
|
-
"additionalProperties": true,
|
|
54
|
-
"properties": {
|
|
55
|
-
"id": {
|
|
56
|
-
"type": "number"
|
|
57
|
-
},
|
|
58
|
-
"name": {
|
|
59
|
-
"type": "string"
|
|
60
|
-
},
|
|
61
|
-
"color": {
|
|
62
|
-
"type": "string"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"required": [
|
|
66
|
-
"id"
|
|
67
|
-
]
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const { clientifyRequest } = require('../clientify');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
async receive(context) {
|
|
5
|
-
const { apiKey, baseUrl } = context.auth;
|
|
6
|
-
const input = (context.messages.in && context.messages.in.content) || {};
|
|
7
|
-
const contactId = input.contactId;
|
|
8
|
-
const ownerId = input.ownerId;
|
|
9
|
-
if (!contactId) throw new context.CancelError('contactId is required');
|
|
10
|
-
if (!ownerId) throw new context.CancelError('ownerId is required');
|
|
11
|
-
|
|
12
|
-
const { data } = await clientifyRequest(context, {
|
|
13
|
-
apiKey,
|
|
14
|
-
baseUrl,
|
|
15
|
-
method: 'PUT',
|
|
16
|
-
path: `/contacts/${contactId}/owner/`,
|
|
17
|
-
data: { owner: ownerId },
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return context.sendJson(data || { ok: true }, 'out');
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|