@workbuddy/piece-workbuddy-edge 1.0.33 → 1.0.35
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/package.json +1 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +98 -14
- package/src/index.js.map +1 -1
- package/src/index.ts +183 -10
- package/src/lib/actions/crm-companies.d.ts +1 -0
- package/src/lib/actions/crm-companies.d.ts.map +1 -1
- package/src/lib/actions/crm-companies.js +9 -0
- package/src/lib/actions/crm-companies.js.map +1 -1
- package/src/lib/actions/crm-companies.ts +11 -0
- package/src/lib/actions/crm-contacts.d.ts +25 -0
- package/src/lib/actions/crm-contacts.d.ts.map +1 -1
- package/src/lib/actions/crm-contacts.js +135 -3
- package/src/lib/actions/crm-contacts.js.map +1 -1
- package/src/lib/actions/crm-contacts.ts +149 -2
- package/src/lib/actions/crm-contractors.d.ts +110 -0
- package/src/lib/actions/crm-contractors.d.ts.map +1 -1
- package/src/lib/actions/crm-contractors.js +585 -2
- package/src/lib/actions/crm-contractors.js.map +1 -1
- package/src/lib/actions/crm-contractors.ts +631 -1
- package/src/lib/actions/crm-customers.d.ts +94 -0
- package/src/lib/actions/crm-customers.d.ts.map +1 -1
- package/src/lib/actions/crm-customers.js +504 -3
- package/src/lib/actions/crm-customers.js.map +1 -1
- package/src/lib/actions/crm-customers.ts +545 -2
- package/src/lib/actions/crm-external-users.js +1 -1
- package/src/lib/actions/crm-external-users.js.map +1 -1
- package/src/lib/actions/crm-external-users.ts +1 -1
- package/src/lib/actions/crm-invites.d.ts +1 -0
- package/src/lib/actions/crm-invites.d.ts.map +1 -1
- package/src/lib/actions/crm-invites.js +9 -0
- package/src/lib/actions/crm-invites.js.map +1 -1
- package/src/lib/actions/crm-invites.ts +11 -0
- package/src/lib/actions/crm-sites.d.ts +10 -0
- package/src/lib/actions/crm-sites.d.ts.map +1 -1
- package/src/lib/actions/crm-sites.js +59 -3
- package/src/lib/actions/crm-sites.js.map +1 -1
- package/src/lib/actions/crm-sites.ts +70 -2
- package/src/lib/actions/crm-suppliers.d.ts +64 -0
- package/src/lib/actions/crm-suppliers.d.ts.map +1 -1
- package/src/lib/actions/crm-suppliers.js +352 -2
- package/src/lib/actions/crm-suppliers.js.map +1 -1
- package/src/lib/actions/crm-suppliers.ts +376 -1
- package/src/lib/actions/index.d.ts +11 -1
- package/src/lib/actions/index.d.ts.map +1 -1
- package/src/lib/actions/index.js +11 -1
- package/src/lib/actions/index.js.map +1 -1
- package/src/lib/actions/index.ts +11 -1
- package/src/lib/actions/items.d.ts +8 -0
- package/src/lib/actions/items.d.ts.map +1 -0
- package/src/lib/actions/items.js +42 -0
- package/src/lib/actions/items.js.map +1 -0
- package/src/lib/actions/items.ts +45 -0
- package/src/lib/actions/jobs-activities.d.ts +4 -3
- package/src/lib/actions/jobs-activities.d.ts.map +1 -1
- package/src/lib/actions/jobs-activities.js +19 -12
- package/src/lib/actions/jobs-activities.js.map +1 -1
- package/src/lib/actions/jobs-activities.ts +19 -12
- package/src/lib/actions/jobs-tasks.d.ts +0 -2
- package/src/lib/actions/jobs-tasks.d.ts.map +1 -1
- package/src/lib/actions/jobs-tasks.js +0 -12
- package/src/lib/actions/jobs-tasks.js.map +1 -1
- package/src/lib/actions/jobs-tasks.ts +0 -12
- package/src/lib/actions/jobs.d.ts +89 -3
- package/src/lib/actions/jobs.d.ts.map +1 -1
- package/src/lib/actions/jobs.js +499 -31
- package/src/lib/actions/jobs.js.map +1 -1
- package/src/lib/actions/jobs.ts +527 -30
- package/src/lib/actions/mcp.d.ts +3 -3
- package/src/lib/actions/mcp.d.ts.map +1 -1
- package/src/lib/actions/mcp.js +9 -9
- package/src/lib/actions/mcp.js.map +1 -1
- package/src/lib/actions/mcp.ts +8 -8
- package/src/lib/actions/pending-items.d.ts +8 -0
- package/src/lib/actions/pending-items.d.ts.map +1 -0
- package/src/lib/actions/pending-items.js +42 -0
- package/src/lib/actions/pending-items.js.map +1 -0
- package/src/lib/actions/pending-items.ts +45 -0
- package/src/lib/actions/service-plans-lines-tasks-subtasks.d.ts +52 -0
- package/src/lib/actions/service-plans-lines-tasks-subtasks.d.ts.map +1 -0
- package/src/lib/actions/service-plans-lines-tasks-subtasks.js +257 -0
- package/src/lib/actions/service-plans-lines-tasks-subtasks.js.map +1 -0
- package/src/lib/actions/service-plans-lines-tasks-subtasks.ts +274 -0
- package/src/lib/actions/service-plans-lines-tasks.d.ts +52 -0
- package/src/lib/actions/service-plans-lines-tasks.d.ts.map +1 -0
- package/src/lib/actions/service-plans-lines-tasks.js +261 -0
- package/src/lib/actions/service-plans-lines-tasks.js.map +1 -0
- package/src/lib/actions/service-plans-lines-tasks.ts +278 -0
- package/src/lib/actions/service-plans-lines.d.ts +52 -0
- package/src/lib/actions/service-plans-lines.d.ts.map +1 -0
- package/src/lib/actions/service-plans-lines.js +286 -0
- package/src/lib/actions/service-plans-lines.js.map +1 -0
- package/src/lib/actions/service-plans-lines.ts +302 -0
- package/src/lib/actions/service-plans.d.ts +45 -0
- package/src/lib/actions/service-plans.d.ts.map +1 -0
- package/src/lib/actions/service-plans.js +229 -0
- package/src/lib/actions/service-plans.js.map +1 -0
- package/src/lib/actions/service-plans.ts +250 -0
- package/src/lib/actions/settings-custom-fields.d.ts +21 -0
- package/src/lib/actions/settings-custom-fields.d.ts.map +1 -0
- package/src/lib/actions/settings-custom-fields.js +95 -0
- package/src/lib/actions/settings-custom-fields.js.map +1 -0
- package/src/lib/actions/settings-custom-fields.ts +107 -0
- package/src/lib/actions/settings-items.d.ts +136 -0
- package/src/lib/actions/settings-items.d.ts.map +1 -0
- package/src/lib/actions/settings-items.js +772 -0
- package/src/lib/actions/settings-items.js.map +1 -0
- package/src/lib/actions/settings-items.ts +818 -0
- package/src/lib/actions/{settings.d.ts → settings-reference-data.d.ts} +42 -10
- package/src/lib/actions/settings-reference-data.d.ts.map +1 -0
- package/src/lib/actions/settings-reference-data.js +505 -0
- package/src/lib/actions/settings-reference-data.js.map +1 -0
- package/src/lib/actions/settings-reference-data.ts +586 -0
- package/src/lib/actions/settings-templates.d.ts +15 -0
- package/src/lib/actions/settings-templates.d.ts.map +1 -0
- package/src/lib/actions/settings-templates.js +75 -0
- package/src/lib/actions/settings-templates.js.map +1 -0
- package/src/lib/actions/settings-templates.ts +79 -0
- package/src/lib/actions/stages-activities.d.ts +4 -3
- package/src/lib/actions/stages-activities.d.ts.map +1 -1
- package/src/lib/actions/stages-activities.js +19 -12
- package/src/lib/actions/stages-activities.js.map +1 -1
- package/src/lib/actions/stages-activities.ts +19 -12
- package/src/lib/actions/stages-pending-items.d.ts +75 -0
- package/src/lib/actions/stages-pending-items.d.ts.map +1 -0
- package/src/lib/actions/stages-pending-items.js +370 -0
- package/src/lib/actions/stages-pending-items.js.map +1 -0
- package/src/lib/actions/stages-pending-items.ts +404 -0
- package/src/lib/actions/stages-resources.d.ts.map +1 -1
- package/src/lib/actions/stages-resources.js +5 -8
- package/src/lib/actions/stages-resources.js.map +1 -1
- package/src/lib/actions/stages-resources.ts +8 -8
- package/src/lib/actions/stages-tasks.d.ts +0 -2
- package/src/lib/actions/stages-tasks.d.ts.map +1 -1
- package/src/lib/actions/stages-tasks.js +0 -12
- package/src/lib/actions/stages-tasks.js.map +1 -1
- package/src/lib/actions/stages-tasks.ts +0 -12
- package/src/lib/actions/stages.d.ts +20 -3
- package/src/lib/actions/stages.d.ts.map +1 -1
- package/src/lib/actions/stages.js +103 -21
- package/src/lib/actions/stages.js.map +1 -1
- package/src/lib/actions/stages.ts +116 -20
- package/src/lib/actions/webhooks-v2.js +11 -11
- package/src/lib/actions/webhooks-v2.js.map +1 -1
- package/src/lib/actions/webhooks-v2.ts +11 -11
- package/src/lib/actions/settings.d.ts.map +0 -1
- package/src/lib/actions/settings.js +0 -257
- package/src/lib/actions/settings.js.map +0 -1
- package/src/lib/actions/settings.ts +0 -301
|
@@ -8,6 +8,16 @@ export const PublicCrmCustomerController_list = createAction({
|
|
|
8
8
|
displayName: 'List customers',
|
|
9
9
|
description: '',
|
|
10
10
|
props: {
|
|
11
|
+
search: Property.ShortText({
|
|
12
|
+
displayName: 'Search',
|
|
13
|
+
description: 'Search by name, phone, email or legal name',
|
|
14
|
+
required: false,
|
|
15
|
+
}),
|
|
16
|
+
integrationId: Property.ShortText({
|
|
17
|
+
displayName: 'Integration Id',
|
|
18
|
+
description: 'Filter by external integration identifier',
|
|
19
|
+
required: false,
|
|
20
|
+
}),
|
|
11
21
|
status: Property.ShortText({
|
|
12
22
|
displayName: 'Status',
|
|
13
23
|
description: 'Filter by status (e.g. Active, Inactive). Default: Active only',
|
|
@@ -31,6 +41,18 @@ export const PublicCrmCustomerController_list = createAction({
|
|
|
31
41
|
const url = `${baseUrl}/customers`;
|
|
32
42
|
|
|
33
43
|
const queryParams = new URLSearchParams();
|
|
44
|
+
if (
|
|
45
|
+
context.propsValue.search !== undefined &&
|
|
46
|
+
context.propsValue.search !== null &&
|
|
47
|
+
context.propsValue.search !== ''
|
|
48
|
+
)
|
|
49
|
+
queryParams.append('search', String(context.propsValue.search));
|
|
50
|
+
if (
|
|
51
|
+
context.propsValue.integrationId !== undefined &&
|
|
52
|
+
context.propsValue.integrationId !== null &&
|
|
53
|
+
context.propsValue.integrationId !== ''
|
|
54
|
+
)
|
|
55
|
+
queryParams.append('integrationId', String(context.propsValue.integrationId));
|
|
34
56
|
if (
|
|
35
57
|
context.propsValue.status !== undefined &&
|
|
36
58
|
context.propsValue.status !== null &&
|
|
@@ -62,6 +84,117 @@ export const PublicCrmCustomerController_list = createAction({
|
|
|
62
84
|
},
|
|
63
85
|
});
|
|
64
86
|
|
|
87
|
+
export const PublicCrmCustomerController_create = createAction({
|
|
88
|
+
name: 'PublicCrmCustomerController_create',
|
|
89
|
+
auth: workbuddyAuth,
|
|
90
|
+
displayName: 'Create customer',
|
|
91
|
+
description: '',
|
|
92
|
+
props: {
|
|
93
|
+
name: Property.ShortText({
|
|
94
|
+
displayName: 'Name',
|
|
95
|
+
description: 'Display name',
|
|
96
|
+
required: true,
|
|
97
|
+
}),
|
|
98
|
+
address: Property.Json({
|
|
99
|
+
displayName: 'Address',
|
|
100
|
+
description: '',
|
|
101
|
+
required: true,
|
|
102
|
+
}),
|
|
103
|
+
contact: Property.Json({
|
|
104
|
+
displayName: 'Contact',
|
|
105
|
+
description: 'Inline contact object — alternative to contactId',
|
|
106
|
+
required: true,
|
|
107
|
+
}),
|
|
108
|
+
type: Property.StaticDropdown({
|
|
109
|
+
displayName: 'Type',
|
|
110
|
+
description: '',
|
|
111
|
+
required: true,
|
|
112
|
+
options: {
|
|
113
|
+
options: [
|
|
114
|
+
{ label: 'Service Provider', value: 'Service Provider' },
|
|
115
|
+
{ label: 'Business', value: 'Business' },
|
|
116
|
+
{ label: 'Residential', value: 'Residential' },
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
}),
|
|
120
|
+
legalName: Property.ShortText({
|
|
121
|
+
displayName: 'Legal Name',
|
|
122
|
+
description: '',
|
|
123
|
+
required: false,
|
|
124
|
+
}),
|
|
125
|
+
phone: Property.ShortText({
|
|
126
|
+
displayName: 'Phone',
|
|
127
|
+
description: 'Phone number',
|
|
128
|
+
required: false,
|
|
129
|
+
}),
|
|
130
|
+
email: Property.ShortText({
|
|
131
|
+
displayName: 'Email',
|
|
132
|
+
description: 'Email address',
|
|
133
|
+
required: false,
|
|
134
|
+
}),
|
|
135
|
+
website: Property.ShortText({
|
|
136
|
+
displayName: 'Website',
|
|
137
|
+
description: '',
|
|
138
|
+
required: false,
|
|
139
|
+
}),
|
|
140
|
+
integrationId: Property.ShortText({
|
|
141
|
+
displayName: 'Integration Id',
|
|
142
|
+
description: 'integration ID',
|
|
143
|
+
required: false,
|
|
144
|
+
}),
|
|
145
|
+
notes: Property.LongText({
|
|
146
|
+
displayName: 'Notes',
|
|
147
|
+
description: 'Additional notes or comments',
|
|
148
|
+
required: false,
|
|
149
|
+
}),
|
|
150
|
+
customFields: Property.Json({
|
|
151
|
+
displayName: 'Custom Fields',
|
|
152
|
+
description: 'Custom fields as key-value pairs — validated against tenant field definitions',
|
|
153
|
+
required: false,
|
|
154
|
+
}),
|
|
155
|
+
socialNetwork: Property.Json({
|
|
156
|
+
displayName: 'Social Network',
|
|
157
|
+
description: '',
|
|
158
|
+
required: false,
|
|
159
|
+
}),
|
|
160
|
+
},
|
|
161
|
+
async run(context) {
|
|
162
|
+
const token = await getAccessToken(context.auth);
|
|
163
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
164
|
+
|
|
165
|
+
const url = `${baseUrl}/api/v2/public/customers`;
|
|
166
|
+
|
|
167
|
+
const rawBody: Record<string, unknown> = {
|
|
168
|
+
name: context.propsValue.name,
|
|
169
|
+
legalName: context.propsValue.legalName,
|
|
170
|
+
phone: context.propsValue.phone,
|
|
171
|
+
email: context.propsValue.email,
|
|
172
|
+
website: context.propsValue.website,
|
|
173
|
+
integrationId: context.propsValue.integrationId,
|
|
174
|
+
address: context.propsValue.address,
|
|
175
|
+
contact: context.propsValue.contact,
|
|
176
|
+
notes: context.propsValue.notes,
|
|
177
|
+
customFields: context.propsValue.customFields,
|
|
178
|
+
type: context.propsValue.type,
|
|
179
|
+
socialNetwork: context.propsValue.socialNetwork,
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
const body = rawBody;
|
|
183
|
+
const response = await httpClient.sendRequest({
|
|
184
|
+
method: HttpMethod.POST,
|
|
185
|
+
url: `${baseUrl}/api/v2/public/customers`,
|
|
186
|
+
headers: {
|
|
187
|
+
Authorization: `Bearer ${token}`,
|
|
188
|
+
'Content-Type': 'application/json',
|
|
189
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
190
|
+
},
|
|
191
|
+
body: body,
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
return response.body;
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
|
|
65
198
|
export const PublicCrmCustomerController_getById = createAction({
|
|
66
199
|
name: 'PublicCrmCustomerController_getById',
|
|
67
200
|
auth: workbuddyAuth,
|
|
@@ -70,7 +203,7 @@ export const PublicCrmCustomerController_getById = createAction({
|
|
|
70
203
|
props: {
|
|
71
204
|
id: Property.ShortText({
|
|
72
205
|
displayName: 'Id',
|
|
73
|
-
description: 'Customer ID',
|
|
206
|
+
description: 'Customer ID or integration ID',
|
|
74
207
|
required: true,
|
|
75
208
|
}),
|
|
76
209
|
},
|
|
@@ -94,10 +227,213 @@ export const PublicCrmCustomerController_getById = createAction({
|
|
|
94
227
|
},
|
|
95
228
|
});
|
|
96
229
|
|
|
230
|
+
export const PublicCrmCustomerController_update = createAction({
|
|
231
|
+
name: 'PublicCrmCustomerController_update',
|
|
232
|
+
auth: workbuddyAuth,
|
|
233
|
+
displayName: 'Update customer',
|
|
234
|
+
description: '',
|
|
235
|
+
props: {
|
|
236
|
+
id: Property.ShortText({
|
|
237
|
+
displayName: 'Id',
|
|
238
|
+
description: 'Customer ID or integration ID',
|
|
239
|
+
required: true,
|
|
240
|
+
}),
|
|
241
|
+
name: Property.ShortText({
|
|
242
|
+
displayName: 'Name',
|
|
243
|
+
description: 'Display name',
|
|
244
|
+
required: false,
|
|
245
|
+
}),
|
|
246
|
+
legalName: Property.ShortText({
|
|
247
|
+
displayName: 'Legal Name',
|
|
248
|
+
description: '',
|
|
249
|
+
required: false,
|
|
250
|
+
}),
|
|
251
|
+
phone: Property.ShortText({
|
|
252
|
+
displayName: 'Phone',
|
|
253
|
+
description: 'Phone number',
|
|
254
|
+
required: false,
|
|
255
|
+
}),
|
|
256
|
+
email: Property.ShortText({
|
|
257
|
+
displayName: 'Email',
|
|
258
|
+
description: 'Email address',
|
|
259
|
+
required: false,
|
|
260
|
+
}),
|
|
261
|
+
website: Property.ShortText({
|
|
262
|
+
displayName: 'Website',
|
|
263
|
+
description: '',
|
|
264
|
+
required: false,
|
|
265
|
+
}),
|
|
266
|
+
integrationId: Property.ShortText({
|
|
267
|
+
displayName: 'Integration Id',
|
|
268
|
+
description: 'integration ID',
|
|
269
|
+
required: false,
|
|
270
|
+
}),
|
|
271
|
+
primaryContact: Property.Json({
|
|
272
|
+
displayName: 'Primary Contact',
|
|
273
|
+
description: '',
|
|
274
|
+
required: false,
|
|
275
|
+
}),
|
|
276
|
+
primarySite: Property.Json({
|
|
277
|
+
displayName: 'Primary Site',
|
|
278
|
+
description: '',
|
|
279
|
+
required: false,
|
|
280
|
+
}),
|
|
281
|
+
owner: Property.Json({
|
|
282
|
+
displayName: 'Owner',
|
|
283
|
+
description: '',
|
|
284
|
+
required: false,
|
|
285
|
+
}),
|
|
286
|
+
labels: Property.Json({
|
|
287
|
+
displayName: 'Labels',
|
|
288
|
+
description: '',
|
|
289
|
+
required: false,
|
|
290
|
+
defaultValue: [],
|
|
291
|
+
}),
|
|
292
|
+
notes: Property.LongText({
|
|
293
|
+
displayName: 'Notes',
|
|
294
|
+
description: 'Additional notes or comments',
|
|
295
|
+
required: false,
|
|
296
|
+
}),
|
|
297
|
+
customFields: Property.Json({
|
|
298
|
+
displayName: 'Custom Fields',
|
|
299
|
+
description: 'Custom fields as key-value pairs — validated against tenant field definitions',
|
|
300
|
+
required: false,
|
|
301
|
+
}),
|
|
302
|
+
socialNetwork: Property.Json({
|
|
303
|
+
displayName: 'Social Network',
|
|
304
|
+
description: '',
|
|
305
|
+
required: false,
|
|
306
|
+
}),
|
|
307
|
+
},
|
|
308
|
+
async run(context) {
|
|
309
|
+
const token = await getAccessToken(context.auth);
|
|
310
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
311
|
+
|
|
312
|
+
const url = `${baseUrl}/api/v2/public/customers/${context.propsValue.id}`;
|
|
313
|
+
|
|
314
|
+
// Build body with only defined values (for partial updates)
|
|
315
|
+
const rawBody: Record<string, unknown> = {
|
|
316
|
+
name: context.propsValue.name,
|
|
317
|
+
legalName: context.propsValue.legalName,
|
|
318
|
+
phone: context.propsValue.phone,
|
|
319
|
+
email: context.propsValue.email,
|
|
320
|
+
website: context.propsValue.website,
|
|
321
|
+
integrationId: context.propsValue.integrationId,
|
|
322
|
+
primaryContact: context.propsValue.primaryContact,
|
|
323
|
+
primarySite: context.propsValue.primarySite,
|
|
324
|
+
owner: context.propsValue.owner,
|
|
325
|
+
labels: context.propsValue.labels,
|
|
326
|
+
notes: context.propsValue.notes,
|
|
327
|
+
customFields: context.propsValue.customFields,
|
|
328
|
+
socialNetwork: context.propsValue.socialNetwork,
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
const body = Object.fromEntries(
|
|
332
|
+
Object.entries(rawBody).filter(([_, v]) => v !== undefined && v !== null && v !== '')
|
|
333
|
+
);
|
|
334
|
+
const response = await httpClient.sendRequest({
|
|
335
|
+
method: HttpMethod.PATCH,
|
|
336
|
+
url: `${baseUrl}/api/v2/public/customers/${context.propsValue.id}`,
|
|
337
|
+
headers: {
|
|
338
|
+
Authorization: `Bearer ${token}`,
|
|
339
|
+
'Content-Type': 'application/json',
|
|
340
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
341
|
+
},
|
|
342
|
+
body: body,
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
return response.body;
|
|
346
|
+
},
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
export const PublicCrmCustomerController_delete = createAction({
|
|
350
|
+
name: 'PublicCrmCustomerController_delete',
|
|
351
|
+
auth: workbuddyAuth,
|
|
352
|
+
displayName: 'Delete customer',
|
|
353
|
+
description: '',
|
|
354
|
+
props: {
|
|
355
|
+
id: Property.ShortText({
|
|
356
|
+
displayName: 'Id',
|
|
357
|
+
description: 'Customer ID or integration ID',
|
|
358
|
+
required: true,
|
|
359
|
+
}),
|
|
360
|
+
},
|
|
361
|
+
async run(context) {
|
|
362
|
+
const token = await getAccessToken(context.auth);
|
|
363
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
364
|
+
|
|
365
|
+
const url = `${baseUrl}/api/v2/public/customers/${context.propsValue.id}`;
|
|
366
|
+
|
|
367
|
+
const response = await httpClient.sendRequest({
|
|
368
|
+
method: HttpMethod.DELETE,
|
|
369
|
+
url: `${baseUrl}/api/v2/public/customers/${context.propsValue.id}`,
|
|
370
|
+
headers: {
|
|
371
|
+
Authorization: `Bearer ${token}`,
|
|
372
|
+
'Content-Type': 'application/json',
|
|
373
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
374
|
+
},
|
|
375
|
+
});
|
|
376
|
+
|
|
377
|
+
return response.body;
|
|
378
|
+
},
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
export const PublicCrmCustomerController_updateStatus = createAction({
|
|
382
|
+
name: 'PublicCrmCustomerController_updateStatus',
|
|
383
|
+
auth: workbuddyAuth,
|
|
384
|
+
displayName: 'Update customer status',
|
|
385
|
+
description: '',
|
|
386
|
+
props: {
|
|
387
|
+
id: Property.ShortText({
|
|
388
|
+
displayName: 'Id',
|
|
389
|
+
description: 'Customer ID or integration ID',
|
|
390
|
+
required: true,
|
|
391
|
+
}),
|
|
392
|
+
statusId: Property.ShortText({
|
|
393
|
+
displayName: 'Status Id',
|
|
394
|
+
description: 'status ID',
|
|
395
|
+
required: true,
|
|
396
|
+
}),
|
|
397
|
+
note: Property.ShortText({
|
|
398
|
+
displayName: 'Note',
|
|
399
|
+
description: '',
|
|
400
|
+
required: false,
|
|
401
|
+
}),
|
|
402
|
+
},
|
|
403
|
+
async run(context) {
|
|
404
|
+
const token = await getAccessToken(context.auth);
|
|
405
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
406
|
+
|
|
407
|
+
const url = `${baseUrl}/api/v2/public/customers/${context.propsValue.id}/status`;
|
|
408
|
+
|
|
409
|
+
// Build body with only defined values (for partial updates)
|
|
410
|
+
const rawBody: Record<string, unknown> = {
|
|
411
|
+
statusId: context.propsValue.statusId,
|
|
412
|
+
note: context.propsValue.note,
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
const body = Object.fromEntries(
|
|
416
|
+
Object.entries(rawBody).filter(([_, v]) => v !== undefined && v !== null && v !== '')
|
|
417
|
+
);
|
|
418
|
+
const response = await httpClient.sendRequest({
|
|
419
|
+
method: HttpMethod.PATCH,
|
|
420
|
+
url: `${baseUrl}/api/v2/public/customers/${context.propsValue.id}/status`,
|
|
421
|
+
headers: {
|
|
422
|
+
Authorization: `Bearer ${token}`,
|
|
423
|
+
'Content-Type': 'application/json',
|
|
424
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
425
|
+
},
|
|
426
|
+
body: body,
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
return response.body;
|
|
430
|
+
},
|
|
431
|
+
});
|
|
432
|
+
|
|
97
433
|
export const PublicCrmCustomerController_listContacts = createAction({
|
|
98
434
|
name: 'PublicCrmCustomerController_listContacts',
|
|
99
435
|
auth: workbuddyAuth,
|
|
100
|
-
displayName: 'List contacts for customer',
|
|
436
|
+
displayName: 'List contacts for customer (contacts + external users)',
|
|
101
437
|
description: '',
|
|
102
438
|
props: {
|
|
103
439
|
customerId: Property.ShortText({
|
|
@@ -148,6 +484,213 @@ export const PublicCrmCustomerController_listContacts = createAction({
|
|
|
148
484
|
},
|
|
149
485
|
});
|
|
150
486
|
|
|
487
|
+
export const PublicCrmCustomerController_createContact = createAction({
|
|
488
|
+
name: 'PublicCrmCustomerController_createContact',
|
|
489
|
+
auth: workbuddyAuth,
|
|
490
|
+
displayName: 'Create customer contact',
|
|
491
|
+
description: '',
|
|
492
|
+
props: {
|
|
493
|
+
customerId: Property.ShortText({
|
|
494
|
+
displayName: 'Customer Id',
|
|
495
|
+
description: 'Customer ID',
|
|
496
|
+
required: true,
|
|
497
|
+
}),
|
|
498
|
+
firstName: Property.ShortText({
|
|
499
|
+
displayName: 'First Name',
|
|
500
|
+
description: 'First name',
|
|
501
|
+
required: true,
|
|
502
|
+
}),
|
|
503
|
+
lastName: Property.ShortText({
|
|
504
|
+
displayName: 'Last Name',
|
|
505
|
+
description: 'Last name',
|
|
506
|
+
required: true,
|
|
507
|
+
}),
|
|
508
|
+
login: Property.Checkbox({
|
|
509
|
+
displayName: 'Login',
|
|
510
|
+
description: 'false = basic contact. true = external user with portal login (requires email and roleId).',
|
|
511
|
+
required: true,
|
|
512
|
+
}),
|
|
513
|
+
email: Property.ShortText({
|
|
514
|
+
displayName: 'Email',
|
|
515
|
+
description: 'Email address. Required when login is true.',
|
|
516
|
+
required: false,
|
|
517
|
+
}),
|
|
518
|
+
phone: Property.ShortText({
|
|
519
|
+
displayName: 'Phone',
|
|
520
|
+
description: 'Phone',
|
|
521
|
+
required: false,
|
|
522
|
+
}),
|
|
523
|
+
mobile: Property.ShortText({
|
|
524
|
+
displayName: 'Mobile',
|
|
525
|
+
description: 'Mobile',
|
|
526
|
+
required: false,
|
|
527
|
+
}),
|
|
528
|
+
title: Property.ShortText({
|
|
529
|
+
displayName: 'Title',
|
|
530
|
+
description: 'Job title',
|
|
531
|
+
required: false,
|
|
532
|
+
}),
|
|
533
|
+
note: Property.ShortText({
|
|
534
|
+
displayName: 'Note',
|
|
535
|
+
description: 'Note',
|
|
536
|
+
required: false,
|
|
537
|
+
}),
|
|
538
|
+
integrationId: Property.ShortText({
|
|
539
|
+
displayName: 'Integration Id',
|
|
540
|
+
description: 'External integration identifier',
|
|
541
|
+
required: false,
|
|
542
|
+
}),
|
|
543
|
+
roleId: Property.ShortText({
|
|
544
|
+
displayName: 'Role Id',
|
|
545
|
+
description:
|
|
546
|
+
'Portal security role id. Required when login is true. List via GET /settings/roles/client-portal or /settings/roles/contractor-portal.',
|
|
547
|
+
required: false,
|
|
548
|
+
}),
|
|
549
|
+
sendEmail: Property.Checkbox({
|
|
550
|
+
displayName: 'Send Email',
|
|
551
|
+
description: 'Send invite email when login is true. Default true.',
|
|
552
|
+
required: false,
|
|
553
|
+
}),
|
|
554
|
+
autoDispatch: Property.Checkbox({
|
|
555
|
+
displayName: 'Auto Dispatch',
|
|
556
|
+
description: 'Automatically dispatch when contractor is assigned. Only for external users under a contractor.',
|
|
557
|
+
required: false,
|
|
558
|
+
}),
|
|
559
|
+
},
|
|
560
|
+
async run(context) {
|
|
561
|
+
const token = await getAccessToken(context.auth);
|
|
562
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
563
|
+
|
|
564
|
+
const url = `${baseUrl}/api/v2/public/customers/${context.propsValue.customerId}/contacts`;
|
|
565
|
+
|
|
566
|
+
const rawBody: Record<string, unknown> = {
|
|
567
|
+
firstName: context.propsValue.firstName,
|
|
568
|
+
lastName: context.propsValue.lastName,
|
|
569
|
+
email: context.propsValue.email,
|
|
570
|
+
phone: context.propsValue.phone,
|
|
571
|
+
mobile: context.propsValue.mobile,
|
|
572
|
+
title: context.propsValue.title,
|
|
573
|
+
note: context.propsValue.note,
|
|
574
|
+
integrationId: context.propsValue.integrationId,
|
|
575
|
+
login: context.propsValue.login,
|
|
576
|
+
roleId: context.propsValue.roleId,
|
|
577
|
+
sendEmail: context.propsValue.sendEmail,
|
|
578
|
+
autoDispatch: context.propsValue.autoDispatch,
|
|
579
|
+
};
|
|
580
|
+
|
|
581
|
+
const body = rawBody;
|
|
582
|
+
const response = await httpClient.sendRequest({
|
|
583
|
+
method: HttpMethod.POST,
|
|
584
|
+
url: `${baseUrl}/api/v2/public/customers/${context.propsValue.customerId}/contacts`,
|
|
585
|
+
headers: {
|
|
586
|
+
Authorization: `Bearer ${token}`,
|
|
587
|
+
'Content-Type': 'application/json',
|
|
588
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
589
|
+
},
|
|
590
|
+
body: body,
|
|
591
|
+
});
|
|
592
|
+
|
|
593
|
+
return response.body;
|
|
594
|
+
},
|
|
595
|
+
});
|
|
596
|
+
|
|
597
|
+
export const PublicCrmCustomerController_deleteContact = createAction({
|
|
598
|
+
name: 'PublicCrmCustomerController_deleteContact',
|
|
599
|
+
auth: workbuddyAuth,
|
|
600
|
+
displayName: 'Delete customer contact',
|
|
601
|
+
description: '',
|
|
602
|
+
props: {
|
|
603
|
+
customerId: Property.ShortText({
|
|
604
|
+
displayName: 'Customer Id',
|
|
605
|
+
description: 'Customer ID',
|
|
606
|
+
required: true,
|
|
607
|
+
}),
|
|
608
|
+
contactId: Property.ShortText({
|
|
609
|
+
displayName: 'Contact Id',
|
|
610
|
+
description: 'Contact ID',
|
|
611
|
+
required: true,
|
|
612
|
+
}),
|
|
613
|
+
},
|
|
614
|
+
async run(context) {
|
|
615
|
+
const token = await getAccessToken(context.auth);
|
|
616
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
617
|
+
|
|
618
|
+
const url = `${baseUrl}/api/v2/public/customers/${context.propsValue.customerId}/contacts/${context.propsValue.contactId}`;
|
|
619
|
+
|
|
620
|
+
const response = await httpClient.sendRequest({
|
|
621
|
+
method: HttpMethod.DELETE,
|
|
622
|
+
url: `${baseUrl}/api/v2/public/customers/${context.propsValue.customerId}/contacts/${context.propsValue.contactId}`,
|
|
623
|
+
headers: {
|
|
624
|
+
Authorization: `Bearer ${token}`,
|
|
625
|
+
'Content-Type': 'application/json',
|
|
626
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
627
|
+
},
|
|
628
|
+
});
|
|
629
|
+
|
|
630
|
+
return response.body;
|
|
631
|
+
},
|
|
632
|
+
});
|
|
633
|
+
|
|
634
|
+
export const PublicCrmCustomerController_inviteContact = createAction({
|
|
635
|
+
name: 'PublicCrmCustomerController_inviteContact',
|
|
636
|
+
auth: workbuddyAuth,
|
|
637
|
+
displayName: 'Invite contact (CRM)',
|
|
638
|
+
description: '',
|
|
639
|
+
props: {
|
|
640
|
+
customerId: Property.ShortText({
|
|
641
|
+
displayName: 'Customer Id',
|
|
642
|
+
description: 'Customer ID',
|
|
643
|
+
required: true,
|
|
644
|
+
}),
|
|
645
|
+
contactId: Property.ShortText({
|
|
646
|
+
displayName: 'Contact Id',
|
|
647
|
+
description: 'Contact ID',
|
|
648
|
+
required: true,
|
|
649
|
+
}),
|
|
650
|
+
roleId: Property.ShortText({
|
|
651
|
+
displayName: 'Role Id',
|
|
652
|
+
description: 'role ID',
|
|
653
|
+
required: true,
|
|
654
|
+
}),
|
|
655
|
+
email: Property.ShortText({
|
|
656
|
+
displayName: 'Email',
|
|
657
|
+
description: 'Email address',
|
|
658
|
+
required: false,
|
|
659
|
+
}),
|
|
660
|
+
sendEmail: Property.Checkbox({
|
|
661
|
+
displayName: 'Send Email',
|
|
662
|
+
description: '',
|
|
663
|
+
required: false,
|
|
664
|
+
}),
|
|
665
|
+
},
|
|
666
|
+
async run(context) {
|
|
667
|
+
const token = await getAccessToken(context.auth);
|
|
668
|
+
const baseUrl = context.auth.props.baseUrl;
|
|
669
|
+
|
|
670
|
+
const url = `${baseUrl}/api/v2/public/customers/${context.propsValue.customerId}/contacts/${context.propsValue.contactId}/invite`;
|
|
671
|
+
|
|
672
|
+
const rawBody: Record<string, unknown> = {
|
|
673
|
+
email: context.propsValue.email,
|
|
674
|
+
roleId: context.propsValue.roleId,
|
|
675
|
+
sendEmail: context.propsValue.sendEmail,
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
const body = rawBody;
|
|
679
|
+
const response = await httpClient.sendRequest({
|
|
680
|
+
method: HttpMethod.POST,
|
|
681
|
+
url: `${baseUrl}/api/v2/public/customers/${context.propsValue.customerId}/contacts/${context.propsValue.contactId}/invite`,
|
|
682
|
+
headers: {
|
|
683
|
+
Authorization: `Bearer ${token}`,
|
|
684
|
+
'Content-Type': 'application/json',
|
|
685
|
+
'X-WorkBuddy-Version': '2026-01',
|
|
686
|
+
},
|
|
687
|
+
body: body,
|
|
688
|
+
});
|
|
689
|
+
|
|
690
|
+
return response.body;
|
|
691
|
+
},
|
|
692
|
+
});
|
|
693
|
+
|
|
151
694
|
export const PublicCrmCustomerController_listSites = createAction({
|
|
152
695
|
name: 'PublicCrmCustomerController_listSites',
|
|
153
696
|
auth: workbuddyAuth,
|
|
@@ -50,7 +50,7 @@ exports.PublicCrmExternalUserController_getById = (0, pieces_framework_1.createA
|
|
|
50
50
|
name: 'PublicCrmExternalUserController_getById',
|
|
51
51
|
auth: auth_1.workbuddyAuth,
|
|
52
52
|
displayName: 'Get external user by ID',
|
|
53
|
-
description: '',
|
|
53
|
+
description: 'Login Contact (portal user). parents lists active parent accounts only; portal role is parents[].role.',
|
|
54
54
|
props: {
|
|
55
55
|
id: pieces_framework_1.Property.ShortText({
|
|
56
56
|
displayName: 'Id',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crm-external-users.js","sourceRoot":"","sources":["crm-external-users.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,+DAAqE;AACrE,kCAAwD;AAE3C,QAAA,oCAAoC,GAAG,IAAA,+BAAY,EAAC;IAC/D,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,oBAAa;IACnB,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,EAAE;IACf,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,GAAG,CAAC,OAAO;QACf,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAE3C,MAAM,GAAG,GAAG,GAAG,OAAO,iBAAiB,CAAC;QAExC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,IACE,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS;YACvC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI;YAClC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,EAAE;YAEhC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI;YAC7E,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;YAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;YACtB,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;gBAClC,qBAAqB,EAAE,SAAS;aACjC;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,uCAAuC,GAAG,IAAA,+BAAY,EAAC;IAClE,IAAI,EAAE,yCAAyC;IAC/C,IAAI,EAAE,oBAAa;IACnB,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"crm-external-users.js","sourceRoot":"","sources":["crm-external-users.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ export const PublicCrmExternalUserController_getById = createAction({
|
|
|
55
55
|
name: 'PublicCrmExternalUserController_getById',
|
|
56
56
|
auth: workbuddyAuth,
|
|
57
57
|
displayName: 'Get external user by ID',
|
|
58
|
-
description: '',
|
|
58
|
+
description: 'Login Contact (portal user). parents lists active parent accounts only; portal role is parents[].role.',
|
|
59
59
|
props: {
|
|
60
60
|
id: Property.ShortText({
|
|
61
61
|
displayName: 'Id',
|
|
@@ -3,6 +3,7 @@ export declare const PublicCrmInviteController_list: import("@activepieces/piece
|
|
|
3
3
|
clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
4
4
|
clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
|
|
5
5
|
}>, {
|
|
6
|
+
search: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
6
7
|
cursor: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
8
|
limit: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
8
9
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crm-invites.d.ts","sourceRoot":"","sources":["crm-invites.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"crm-invites.d.ts","sourceRoot":"","sources":["crm-invites.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B;;;;;;;;EA0DzC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;EA8B5C,CAAC"}
|
|
@@ -10,6 +10,11 @@ exports.PublicCrmInviteController_list = (0, pieces_framework_1.createAction)({
|
|
|
10
10
|
displayName: 'List pending invites',
|
|
11
11
|
description: '',
|
|
12
12
|
props: {
|
|
13
|
+
search: pieces_framework_1.Property.ShortText({
|
|
14
|
+
displayName: 'Search',
|
|
15
|
+
description: 'Search by name, phone, email (token prefix match)',
|
|
16
|
+
required: false,
|
|
17
|
+
}),
|
|
13
18
|
cursor: pieces_framework_1.Property.ShortText({
|
|
14
19
|
displayName: 'Cursor',
|
|
15
20
|
description: '',
|
|
@@ -26,6 +31,10 @@ exports.PublicCrmInviteController_list = (0, pieces_framework_1.createAction)({
|
|
|
26
31
|
const baseUrl = context.auth.props.baseUrl;
|
|
27
32
|
const url = `${baseUrl}/invites`;
|
|
28
33
|
const queryParams = new URLSearchParams();
|
|
34
|
+
if (context.propsValue.search !== undefined &&
|
|
35
|
+
context.propsValue.search !== null &&
|
|
36
|
+
context.propsValue.search !== '')
|
|
37
|
+
queryParams.append('search', String(context.propsValue.search));
|
|
29
38
|
if (context.propsValue.cursor !== undefined &&
|
|
30
39
|
context.propsValue.cursor !== null &&
|
|
31
40
|
context.propsValue.cursor !== '')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crm-invites.js","sourceRoot":"","sources":["crm-invites.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crm-invites.js","sourceRoot":"","sources":["crm-invites.ts"],"names":[],"mappings":"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"}
|