@workbuddy/piece-workbuddy-edge 1.0.0

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.
Files changed (222) hide show
  1. package/package.json +24 -0
  2. package/src/index.d.ts +8 -0
  3. package/src/index.d.ts.map +1 -0
  4. package/src/index.js +199 -0
  5. package/src/index.js.map +1 -0
  6. package/src/index.ts +354 -0
  7. package/src/lib/actions/attachments.d.ts +17 -0
  8. package/src/lib/actions/attachments.d.ts.map +1 -0
  9. package/src/lib/actions/attachments.js +79 -0
  10. package/src/lib/actions/attachments.js.map +1 -0
  11. package/src/lib/actions/attachments.ts +85 -0
  12. package/src/lib/actions/crm->-companies.d.ts +16 -0
  13. package/src/lib/actions/crm->-companies.d.ts.map +1 -0
  14. package/src/lib/actions/crm->-companies.js +77 -0
  15. package/src/lib/actions/crm->-companies.js.map +1 -0
  16. package/src/lib/actions/crm->-companies.ts +84 -0
  17. package/src/lib/actions/crm->-contacts.d.ts +16 -0
  18. package/src/lib/actions/crm->-contacts.d.ts.map +1 -0
  19. package/src/lib/actions/crm->-contacts.js +77 -0
  20. package/src/lib/actions/crm->-contacts.js.map +1 -0
  21. package/src/lib/actions/crm->-contacts.ts +84 -0
  22. package/src/lib/actions/crm->-contractors.d.ts +16 -0
  23. package/src/lib/actions/crm->-contractors.d.ts.map +1 -0
  24. package/src/lib/actions/crm->-contractors.js +77 -0
  25. package/src/lib/actions/crm->-contractors.js.map +1 -0
  26. package/src/lib/actions/crm->-contractors.ts +84 -0
  27. package/src/lib/actions/crm->-customers.d.ts +35 -0
  28. package/src/lib/actions/crm->-customers.d.ts.map +1 -0
  29. package/src/lib/actions/crm->-customers.js +180 -0
  30. package/src/lib/actions/crm->-customers.js.map +1 -0
  31. package/src/lib/actions/crm->-customers.ts +203 -0
  32. package/src/lib/actions/crm->-employees.d.ts +16 -0
  33. package/src/lib/actions/crm->-employees.d.ts.map +1 -0
  34. package/src/lib/actions/crm->-employees.js +77 -0
  35. package/src/lib/actions/crm->-employees.js.map +1 -0
  36. package/src/lib/actions/crm->-employees.ts +84 -0
  37. package/src/lib/actions/crm->-external-users.d.ts +16 -0
  38. package/src/lib/actions/crm->-external-users.d.ts.map +1 -0
  39. package/src/lib/actions/crm->-external-users.js +77 -0
  40. package/src/lib/actions/crm->-external-users.js.map +1 -0
  41. package/src/lib/actions/crm->-external-users.ts +84 -0
  42. package/src/lib/actions/crm->-invites.d.ts +16 -0
  43. package/src/lib/actions/crm->-invites.d.ts.map +1 -0
  44. package/src/lib/actions/crm->-invites.js +77 -0
  45. package/src/lib/actions/crm->-invites.js.map +1 -0
  46. package/src/lib/actions/crm->-invites.ts +84 -0
  47. package/src/lib/actions/crm->-sites.d.ts +17 -0
  48. package/src/lib/actions/crm->-sites.d.ts.map +1 -0
  49. package/src/lib/actions/crm->-sites.js +86 -0
  50. package/src/lib/actions/crm->-sites.js.map +1 -0
  51. package/src/lib/actions/crm->-sites.ts +95 -0
  52. package/src/lib/actions/crm->-suppliers.d.ts +16 -0
  53. package/src/lib/actions/crm->-suppliers.d.ts.map +1 -0
  54. package/src/lib/actions/crm->-suppliers.js +77 -0
  55. package/src/lib/actions/crm->-suppliers.js.map +1 -0
  56. package/src/lib/actions/crm->-suppliers.ts +84 -0
  57. package/src/lib/actions/data-export.d.ts +11 -0
  58. package/src/lib/actions/data-export.d.ts.map +1 -0
  59. package/src/lib/actions/data-export.js +78 -0
  60. package/src/lib/actions/data-export.js.map +1 -0
  61. package/src/lib/actions/data-export.ts +82 -0
  62. package/src/lib/actions/index.d.ts +25 -0
  63. package/src/lib/actions/index.d.ts.map +1 -0
  64. package/src/lib/actions/index.js +41 -0
  65. package/src/lib/actions/index.js.map +1 -0
  66. package/src/lib/actions/index.ts +24 -0
  67. package/src/lib/actions/jobs->-activities.d.ts +87 -0
  68. package/src/lib/actions/jobs->-activities.d.ts.map +1 -0
  69. package/src/lib/actions/jobs->-activities.js +445 -0
  70. package/src/lib/actions/jobs->-activities.js.map +1 -0
  71. package/src/lib/actions/jobs->-activities.ts +473 -0
  72. package/src/lib/actions/jobs->-contacts.d.ts +31 -0
  73. package/src/lib/actions/jobs->-contacts.d.ts.map +1 -0
  74. package/src/lib/actions/jobs->-contacts.js +129 -0
  75. package/src/lib/actions/jobs->-contacts.js.map +1 -0
  76. package/src/lib/actions/jobs->-contacts.ts +141 -0
  77. package/src/lib/actions/jobs->-files.d.ts +31 -0
  78. package/src/lib/actions/jobs->-files.d.ts.map +1 -0
  79. package/src/lib/actions/jobs->-files.js +129 -0
  80. package/src/lib/actions/jobs->-files.js.map +1 -0
  81. package/src/lib/actions/jobs->-files.ts +141 -0
  82. package/src/lib/actions/jobs->-tasks.d.ts +75 -0
  83. package/src/lib/actions/jobs->-tasks.d.ts.map +1 -0
  84. package/src/lib/actions/jobs->-tasks.js +395 -0
  85. package/src/lib/actions/jobs->-tasks.js.map +1 -0
  86. package/src/lib/actions/jobs->-tasks.ts +417 -0
  87. package/src/lib/actions/jobs.d.ts +148 -0
  88. package/src/lib/actions/jobs.d.ts.map +1 -0
  89. package/src/lib/actions/jobs.js +800 -0
  90. package/src/lib/actions/jobs.js.map +1 -0
  91. package/src/lib/actions/jobs.ts +846 -0
  92. package/src/lib/actions/mcp-context.d.ts +16 -0
  93. package/src/lib/actions/mcp-context.d.ts.map +1 -0
  94. package/src/lib/actions/mcp-context.js +82 -0
  95. package/src/lib/actions/mcp-context.js.map +1 -0
  96. package/src/lib/actions/mcp-context.ts +86 -0
  97. package/src/lib/actions/mcp.d.ts +21 -0
  98. package/src/lib/actions/mcp.d.ts.map +1 -0
  99. package/src/lib/actions/mcp.js +104 -0
  100. package/src/lib/actions/mcp.js.map +1 -0
  101. package/src/lib/actions/mcp.ts +112 -0
  102. package/src/lib/actions/settings.d.ts +57 -0
  103. package/src/lib/actions/settings.d.ts.map +1 -0
  104. package/src/lib/actions/settings.js +257 -0
  105. package/src/lib/actions/settings.js.map +1 -0
  106. package/src/lib/actions/settings.ts +301 -0
  107. package/src/lib/actions/stages->-activities.d.ts +87 -0
  108. package/src/lib/actions/stages->-activities.d.ts.map +1 -0
  109. package/src/lib/actions/stages->-activities.js +445 -0
  110. package/src/lib/actions/stages->-activities.js.map +1 -0
  111. package/src/lib/actions/stages->-activities.ts +473 -0
  112. package/src/lib/actions/stages->-files.d.ts +31 -0
  113. package/src/lib/actions/stages->-files.d.ts.map +1 -0
  114. package/src/lib/actions/stages->-files.js +129 -0
  115. package/src/lib/actions/stages->-files.js.map +1 -0
  116. package/src/lib/actions/stages->-files.ts +141 -0
  117. package/src/lib/actions/stages->-resources.d.ts +58 -0
  118. package/src/lib/actions/stages->-resources.d.ts.map +1 -0
  119. package/src/lib/actions/stages->-resources.js +279 -0
  120. package/src/lib/actions/stages->-resources.js.map +1 -0
  121. package/src/lib/actions/stages->-resources.ts +302 -0
  122. package/src/lib/actions/stages->-tasks.d.ts +77 -0
  123. package/src/lib/actions/stages->-tasks.d.ts.map +1 -0
  124. package/src/lib/actions/stages->-tasks.js +405 -0
  125. package/src/lib/actions/stages->-tasks.js.map +1 -0
  126. package/src/lib/actions/stages->-tasks.ts +427 -0
  127. package/src/lib/actions/stages.d.ts +85 -0
  128. package/src/lib/actions/stages.d.ts.map +1 -0
  129. package/src/lib/actions/stages.js +417 -0
  130. package/src/lib/actions/stages.js.map +1 -0
  131. package/src/lib/actions/stages.ts +452 -0
  132. package/src/lib/actions/webhooks-v2.d.ts +72 -0
  133. package/src/lib/actions/webhooks-v2.d.ts.map +1 -0
  134. package/src/lib/actions/webhooks-v2.js +297 -0
  135. package/src/lib/actions/webhooks-v2.js.map +1 -0
  136. package/src/lib/actions/webhooks-v2.ts +337 -0
  137. package/src/lib/actions/webhooks.d.ts +48 -0
  138. package/src/lib/actions/webhooks.d.ts.map +1 -0
  139. package/src/lib/actions/webhooks.js +292 -0
  140. package/src/lib/actions/webhooks.js.map +1 -0
  141. package/src/lib/actions/webhooks.ts +318 -0
  142. package/src/lib/auth.d.ts +18 -0
  143. package/src/lib/auth.d.ts.map +1 -0
  144. package/src/lib/auth.js +77 -0
  145. package/src/lib/auth.js.map +1 -0
  146. package/src/lib/auth.ts +84 -0
  147. package/src/lib/common/index.d.ts +11 -0
  148. package/src/lib/common/index.d.ts.map +1 -0
  149. package/src/lib/common/index.js +8 -0
  150. package/src/lib/common/index.js.map +1 -0
  151. package/src/lib/common/index.ts +12 -0
  152. package/src/lib/triggers/activity.d.ts +77 -0
  153. package/src/lib/triggers/activity.d.ts.map +1 -0
  154. package/src/lib/triggers/activity.js +241 -0
  155. package/src/lib/triggers/activity.js.map +1 -0
  156. package/src/lib/triggers/activity.ts +261 -0
  157. package/src/lib/triggers/allocation.d.ts +53 -0
  158. package/src/lib/triggers/allocation.d.ts.map +1 -0
  159. package/src/lib/triggers/allocation.js +181 -0
  160. package/src/lib/triggers/allocation.js.map +1 -0
  161. package/src/lib/triggers/allocation.ts +198 -0
  162. package/src/lib/triggers/bill.d.ts +102 -0
  163. package/src/lib/triggers/bill.d.ts.map +1 -0
  164. package/src/lib/triggers/bill.js +327 -0
  165. package/src/lib/triggers/bill.js.map +1 -0
  166. package/src/lib/triggers/bill.ts +355 -0
  167. package/src/lib/triggers/form.d.ts +19 -0
  168. package/src/lib/triggers/form.d.ts.map +1 -0
  169. package/src/lib/triggers/form.js +65 -0
  170. package/src/lib/triggers/form.js.map +1 -0
  171. package/src/lib/triggers/form.ts +68 -0
  172. package/src/lib/triggers/index.d.ts +10 -0
  173. package/src/lib/triggers/index.d.ts.map +1 -0
  174. package/src/lib/triggers/index.js +26 -0
  175. package/src/lib/triggers/index.js.map +1 -0
  176. package/src/lib/triggers/index.ts +9 -0
  177. package/src/lib/triggers/invoice.d.ts +102 -0
  178. package/src/lib/triggers/invoice.d.ts.map +1 -0
  179. package/src/lib/triggers/invoice.js +327 -0
  180. package/src/lib/triggers/invoice.js.map +1 -0
  181. package/src/lib/triggers/invoice.ts +355 -0
  182. package/src/lib/triggers/item.d.ts +53 -0
  183. package/src/lib/triggers/item.d.ts.map +1 -0
  184. package/src/lib/triggers/item.js +181 -0
  185. package/src/lib/triggers/item.js.map +1 -0
  186. package/src/lib/triggers/item.ts +198 -0
  187. package/src/lib/triggers/job.d.ts +102 -0
  188. package/src/lib/triggers/job.d.ts.map +1 -0
  189. package/src/lib/triggers/job.js +419 -0
  190. package/src/lib/triggers/job.js.map +1 -0
  191. package/src/lib/triggers/job.ts +447 -0
  192. package/src/lib/triggers/lead.d.ts +102 -0
  193. package/src/lib/triggers/lead.d.ts.map +1 -0
  194. package/src/lib/triggers/lead.js +319 -0
  195. package/src/lib/triggers/lead.js.map +1 -0
  196. package/src/lib/triggers/lead.ts +347 -0
  197. package/src/lib/triggers/opportunity.d.ts +102 -0
  198. package/src/lib/triggers/opportunity.d.ts.map +1 -0
  199. package/src/lib/triggers/opportunity.js +319 -0
  200. package/src/lib/triggers/opportunity.js.map +1 -0
  201. package/src/lib/triggers/opportunity.ts +347 -0
  202. package/src/lib/triggers/quote.d.ts +102 -0
  203. package/src/lib/triggers/quote.d.ts.map +1 -0
  204. package/src/lib/triggers/quote.js +327 -0
  205. package/src/lib/triggers/quote.js.map +1 -0
  206. package/src/lib/triggers/quote.ts +355 -0
  207. package/src/lib/triggers/site.d.ts +19 -0
  208. package/src/lib/triggers/site.d.ts.map +1 -0
  209. package/src/lib/triggers/site.js +65 -0
  210. package/src/lib/triggers/site.js.map +1 -0
  211. package/src/lib/triggers/site.ts +68 -0
  212. package/src/lib/triggers/stage.d.ts +102 -0
  213. package/src/lib/triggers/stage.d.ts.map +1 -0
  214. package/src/lib/triggers/stage.js +487 -0
  215. package/src/lib/triggers/stage.js.map +1 -0
  216. package/src/lib/triggers/stage.ts +515 -0
  217. package/src/lib/triggers/task.d.ts +102 -0
  218. package/src/lib/triggers/task.d.ts.map +1 -0
  219. package/src/lib/triggers/task.js +323 -0
  220. package/src/lib/triggers/task.js.map +1 -0
  221. package/src/lib/triggers/task.ts +351 -0
  222. package/src/lib/workbuddy.svg +5 -0
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.activity_deleted_trigger = exports.activity_updated_trigger = exports.activity_created_trigger = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const auth_1 = require("../auth");
7
+ exports.activity_created_trigger = (0, pieces_framework_1.createTrigger)({
8
+ name: 'ActivityCreated',
9
+ auth: auth_1.workbuddyAuth,
10
+ displayName: 'Activity Created',
11
+ description: 'Triggered when a new activity is created',
12
+ props: {
13
+ filters: pieces_framework_1.Property.Json({
14
+ displayName: 'Filters',
15
+ description: 'Optional webhook filters object. Discover allowed fields with GET /webhooks/entities/:entity/filters.',
16
+ required: false,
17
+ defaultValue: {},
18
+ }),
19
+ },
20
+ sampleData: {
21
+ activity: {
22
+ id: '507f1f77bcf86cd799439011',
23
+ type: 'note',
24
+ description: 'Activity description',
25
+ createdAt: '2026-03-05T10:00:00.000Z',
26
+ createdBy: { id: '507f1f77bcf86cd799439011', name: 'John Smith' },
27
+ job: { id: '507f1f77bcf86cd799439011', name: 'J10001' },
28
+ stage: { id: '507f1f77bcf86cd799439011', name: 'Foundation Work' },
29
+ },
30
+ },
31
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
32
+ async onEnable(context) {
33
+ const token = await (0, auth_1.getAccessToken)(context.auth);
34
+ const baseUrl = context.auth.props.baseUrl;
35
+ // Register webhook with WorkBuddy v2 API (server handles upsert - reactivates if exists)
36
+ const response = await pieces_common_1.httpClient.sendRequest({
37
+ method: pieces_common_1.HttpMethod.POST,
38
+ url: `${baseUrl}/api/v2/public/webhooks`,
39
+ headers: {
40
+ Authorization: `Bearer ${token}`,
41
+ 'Content-Type': 'application/json',
42
+ 'X-WorkBuddy-Version': '2026-01',
43
+ },
44
+ body: {
45
+ name: `Activepieces: Activity Created`,
46
+ url: context.webhookUrl,
47
+ entity: 'activity',
48
+ events: ['Activity Created'],
49
+ ...(context.propsValue.filters && Object.keys(context.propsValue.filters).length > 0
50
+ ? { filters: context.propsValue.filters }
51
+ : {}),
52
+ workflow: {
53
+ platform: 'activepieces',
54
+ integrationId: context.webhookUrl,
55
+ },
56
+ },
57
+ });
58
+ // Store webhook ID for cleanup
59
+ await context.store.put('webhookId', response.body.data.id);
60
+ },
61
+ async onDisable(context) {
62
+ const token = await (0, auth_1.getAccessToken)(context.auth);
63
+ const baseUrl = context.auth.props.baseUrl;
64
+ const webhookId = await context.store.get('webhookId');
65
+ if (webhookId) {
66
+ // Pause webhook (server keeps it for potential reactivation)
67
+ await pieces_common_1.httpClient.sendRequest({
68
+ method: pieces_common_1.HttpMethod.PATCH,
69
+ url: `${baseUrl}/api/v2/public/webhooks/${webhookId}`,
70
+ headers: {
71
+ Authorization: `Bearer ${token}`,
72
+ 'Content-Type': 'application/json',
73
+ 'X-WorkBuddy-Version': '2026-01',
74
+ },
75
+ body: {
76
+ status: 'paused',
77
+ },
78
+ });
79
+ }
80
+ },
81
+ async run(context) {
82
+ return [context.payload.body];
83
+ },
84
+ });
85
+ exports.activity_updated_trigger = (0, pieces_framework_1.createTrigger)({
86
+ name: 'ActivityUpdated',
87
+ auth: auth_1.workbuddyAuth,
88
+ displayName: 'Activity Updated',
89
+ description: 'Triggered when an activity is updated',
90
+ props: {
91
+ filters: pieces_framework_1.Property.Json({
92
+ displayName: 'Filters',
93
+ description: 'Optional webhook filters object. Discover allowed fields with GET /webhooks/entities/:entity/filters.',
94
+ required: false,
95
+ defaultValue: {},
96
+ }),
97
+ },
98
+ sampleData: {
99
+ activity: {
100
+ id: '507f1f77bcf86cd799439011',
101
+ type: 'note',
102
+ description: 'Activity description',
103
+ createdAt: '2026-03-05T10:00:00.000Z',
104
+ createdBy: { id: '507f1f77bcf86cd799439011', name: 'John Smith' },
105
+ job: { id: '507f1f77bcf86cd799439011', name: 'J10001' },
106
+ stage: { id: '507f1f77bcf86cd799439011', name: 'Foundation Work' },
107
+ },
108
+ },
109
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
110
+ async onEnable(context) {
111
+ const token = await (0, auth_1.getAccessToken)(context.auth);
112
+ const baseUrl = context.auth.props.baseUrl;
113
+ // Register webhook with WorkBuddy v2 API (server handles upsert - reactivates if exists)
114
+ const response = await pieces_common_1.httpClient.sendRequest({
115
+ method: pieces_common_1.HttpMethod.POST,
116
+ url: `${baseUrl}/api/v2/public/webhooks`,
117
+ headers: {
118
+ Authorization: `Bearer ${token}`,
119
+ 'Content-Type': 'application/json',
120
+ 'X-WorkBuddy-Version': '2026-01',
121
+ },
122
+ body: {
123
+ name: `Activepieces: Activity Updated`,
124
+ url: context.webhookUrl,
125
+ entity: 'activity',
126
+ events: ['Activity Updated'],
127
+ ...(context.propsValue.filters && Object.keys(context.propsValue.filters).length > 0
128
+ ? { filters: context.propsValue.filters }
129
+ : {}),
130
+ workflow: {
131
+ platform: 'activepieces',
132
+ integrationId: context.webhookUrl,
133
+ },
134
+ },
135
+ });
136
+ // Store webhook ID for cleanup
137
+ await context.store.put('webhookId', response.body.data.id);
138
+ },
139
+ async onDisable(context) {
140
+ const token = await (0, auth_1.getAccessToken)(context.auth);
141
+ const baseUrl = context.auth.props.baseUrl;
142
+ const webhookId = await context.store.get('webhookId');
143
+ if (webhookId) {
144
+ // Pause webhook (server keeps it for potential reactivation)
145
+ await pieces_common_1.httpClient.sendRequest({
146
+ method: pieces_common_1.HttpMethod.PATCH,
147
+ url: `${baseUrl}/api/v2/public/webhooks/${webhookId}`,
148
+ headers: {
149
+ Authorization: `Bearer ${token}`,
150
+ 'Content-Type': 'application/json',
151
+ 'X-WorkBuddy-Version': '2026-01',
152
+ },
153
+ body: {
154
+ status: 'paused',
155
+ },
156
+ });
157
+ }
158
+ },
159
+ async run(context) {
160
+ return [context.payload.body];
161
+ },
162
+ });
163
+ exports.activity_deleted_trigger = (0, pieces_framework_1.createTrigger)({
164
+ name: 'ActivityDeleted',
165
+ auth: auth_1.workbuddyAuth,
166
+ displayName: 'Activity Deleted',
167
+ description: 'Triggered when an activity is deleted',
168
+ props: {
169
+ filters: pieces_framework_1.Property.Json({
170
+ displayName: 'Filters',
171
+ description: 'Optional webhook filters object. Discover allowed fields with GET /webhooks/entities/:entity/filters.',
172
+ required: false,
173
+ defaultValue: {},
174
+ }),
175
+ },
176
+ sampleData: {
177
+ activity: {
178
+ id: '507f1f77bcf86cd799439011',
179
+ type: 'note',
180
+ description: 'Activity description',
181
+ createdAt: '2026-03-05T10:00:00.000Z',
182
+ createdBy: { id: '507f1f77bcf86cd799439011', name: 'John Smith' },
183
+ job: { id: '507f1f77bcf86cd799439011', name: 'J10001' },
184
+ stage: { id: '507f1f77bcf86cd799439011', name: 'Foundation Work' },
185
+ },
186
+ },
187
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
188
+ async onEnable(context) {
189
+ const token = await (0, auth_1.getAccessToken)(context.auth);
190
+ const baseUrl = context.auth.props.baseUrl;
191
+ // Register webhook with WorkBuddy v2 API (server handles upsert - reactivates if exists)
192
+ const response = await pieces_common_1.httpClient.sendRequest({
193
+ method: pieces_common_1.HttpMethod.POST,
194
+ url: `${baseUrl}/api/v2/public/webhooks`,
195
+ headers: {
196
+ Authorization: `Bearer ${token}`,
197
+ 'Content-Type': 'application/json',
198
+ 'X-WorkBuddy-Version': '2026-01',
199
+ },
200
+ body: {
201
+ name: `Activepieces: Activity Deleted`,
202
+ url: context.webhookUrl,
203
+ entity: 'activity',
204
+ events: ['Activity Deleted'],
205
+ ...(context.propsValue.filters && Object.keys(context.propsValue.filters).length > 0
206
+ ? { filters: context.propsValue.filters }
207
+ : {}),
208
+ workflow: {
209
+ platform: 'activepieces',
210
+ integrationId: context.webhookUrl,
211
+ },
212
+ },
213
+ });
214
+ // Store webhook ID for cleanup
215
+ await context.store.put('webhookId', response.body.data.id);
216
+ },
217
+ async onDisable(context) {
218
+ const token = await (0, auth_1.getAccessToken)(context.auth);
219
+ const baseUrl = context.auth.props.baseUrl;
220
+ const webhookId = await context.store.get('webhookId');
221
+ if (webhookId) {
222
+ // Pause webhook (server keeps it for potential reactivation)
223
+ await pieces_common_1.httpClient.sendRequest({
224
+ method: pieces_common_1.HttpMethod.PATCH,
225
+ url: `${baseUrl}/api/v2/public/webhooks/${webhookId}`,
226
+ headers: {
227
+ Authorization: `Bearer ${token}`,
228
+ 'Content-Type': 'application/json',
229
+ 'X-WorkBuddy-Version': '2026-01',
230
+ },
231
+ body: {
232
+ status: 'paused',
233
+ },
234
+ });
235
+ }
236
+ },
237
+ async run(context) {
238
+ return [context.payload.body];
239
+ },
240
+ });
241
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ import { createTrigger, TriggerStrategy, Property } from '@activepieces/pieces-framework';
2
+ import { HttpMethod, httpClient } from '@activepieces/pieces-common';
3
+ import { workbuddyAuth, getAccessToken } from '../auth';
4
+
5
+ export const activity_created_trigger = createTrigger({
6
+ name: 'ActivityCreated',
7
+ auth: workbuddyAuth,
8
+ displayName: 'Activity Created',
9
+ description: 'Triggered when a new activity is created',
10
+ props: {
11
+ filters: Property.Json({
12
+ displayName: 'Filters',
13
+ description:
14
+ 'Optional webhook filters object. Discover allowed fields with GET /webhooks/entities/:entity/filters.',
15
+ required: false,
16
+ defaultValue: {},
17
+ }),
18
+ },
19
+ sampleData: {
20
+ activity: {
21
+ id: '507f1f77bcf86cd799439011',
22
+ type: 'note',
23
+ description: 'Activity description',
24
+ createdAt: '2026-03-05T10:00:00.000Z',
25
+ createdBy: { id: '507f1f77bcf86cd799439011', name: 'John Smith' },
26
+ job: { id: '507f1f77bcf86cd799439011', name: 'J10001' },
27
+ stage: { id: '507f1f77bcf86cd799439011', name: 'Foundation Work' },
28
+ },
29
+ },
30
+ type: TriggerStrategy.WEBHOOK,
31
+
32
+ async onEnable(context) {
33
+ const token = await getAccessToken(context.auth);
34
+ const baseUrl = context.auth.props.baseUrl;
35
+
36
+ // Register webhook with WorkBuddy v2 API (server handles upsert - reactivates if exists)
37
+ const response = await httpClient.sendRequest<{ data: { id: string } }>({
38
+ method: HttpMethod.POST,
39
+ url: `${baseUrl}/api/v2/public/webhooks`,
40
+ headers: {
41
+ Authorization: `Bearer ${token}`,
42
+ 'Content-Type': 'application/json',
43
+ 'X-WorkBuddy-Version': '2026-01',
44
+ },
45
+ body: {
46
+ name: `Activepieces: Activity Created`,
47
+ url: context.webhookUrl,
48
+ entity: 'activity',
49
+ events: ['Activity Created'],
50
+ ...(context.propsValue.filters && Object.keys(context.propsValue.filters).length > 0
51
+ ? { filters: context.propsValue.filters }
52
+ : {}),
53
+ workflow: {
54
+ platform: 'activepieces',
55
+ integrationId: context.webhookUrl,
56
+ },
57
+ },
58
+ });
59
+
60
+ // Store webhook ID for cleanup
61
+ await context.store.put('webhookId', response.body.data.id);
62
+ },
63
+
64
+ async onDisable(context) {
65
+ const token = await getAccessToken(context.auth);
66
+ const baseUrl = context.auth.props.baseUrl;
67
+ const webhookId = await context.store.get<string>('webhookId');
68
+
69
+ if (webhookId) {
70
+ // Pause webhook (server keeps it for potential reactivation)
71
+ await httpClient.sendRequest({
72
+ method: HttpMethod.PATCH,
73
+ url: `${baseUrl}/api/v2/public/webhooks/${webhookId}`,
74
+ headers: {
75
+ Authorization: `Bearer ${token}`,
76
+ 'Content-Type': 'application/json',
77
+ 'X-WorkBuddy-Version': '2026-01',
78
+ },
79
+ body: {
80
+ status: 'paused',
81
+ },
82
+ });
83
+ }
84
+ },
85
+
86
+ async run(context) {
87
+ return [context.payload.body];
88
+ },
89
+ });
90
+
91
+ export const activity_updated_trigger = createTrigger({
92
+ name: 'ActivityUpdated',
93
+ auth: workbuddyAuth,
94
+ displayName: 'Activity Updated',
95
+ description: 'Triggered when an activity is updated',
96
+ props: {
97
+ filters: Property.Json({
98
+ displayName: 'Filters',
99
+ description:
100
+ 'Optional webhook filters object. Discover allowed fields with GET /webhooks/entities/:entity/filters.',
101
+ required: false,
102
+ defaultValue: {},
103
+ }),
104
+ },
105
+ sampleData: {
106
+ activity: {
107
+ id: '507f1f77bcf86cd799439011',
108
+ type: 'note',
109
+ description: 'Activity description',
110
+ createdAt: '2026-03-05T10:00:00.000Z',
111
+ createdBy: { id: '507f1f77bcf86cd799439011', name: 'John Smith' },
112
+ job: { id: '507f1f77bcf86cd799439011', name: 'J10001' },
113
+ stage: { id: '507f1f77bcf86cd799439011', name: 'Foundation Work' },
114
+ },
115
+ },
116
+ type: TriggerStrategy.WEBHOOK,
117
+
118
+ async onEnable(context) {
119
+ const token = await getAccessToken(context.auth);
120
+ const baseUrl = context.auth.props.baseUrl;
121
+
122
+ // Register webhook with WorkBuddy v2 API (server handles upsert - reactivates if exists)
123
+ const response = await httpClient.sendRequest<{ data: { id: string } }>({
124
+ method: HttpMethod.POST,
125
+ url: `${baseUrl}/api/v2/public/webhooks`,
126
+ headers: {
127
+ Authorization: `Bearer ${token}`,
128
+ 'Content-Type': 'application/json',
129
+ 'X-WorkBuddy-Version': '2026-01',
130
+ },
131
+ body: {
132
+ name: `Activepieces: Activity Updated`,
133
+ url: context.webhookUrl,
134
+ entity: 'activity',
135
+ events: ['Activity Updated'],
136
+ ...(context.propsValue.filters && Object.keys(context.propsValue.filters).length > 0
137
+ ? { filters: context.propsValue.filters }
138
+ : {}),
139
+ workflow: {
140
+ platform: 'activepieces',
141
+ integrationId: context.webhookUrl,
142
+ },
143
+ },
144
+ });
145
+
146
+ // Store webhook ID for cleanup
147
+ await context.store.put('webhookId', response.body.data.id);
148
+ },
149
+
150
+ async onDisable(context) {
151
+ const token = await getAccessToken(context.auth);
152
+ const baseUrl = context.auth.props.baseUrl;
153
+ const webhookId = await context.store.get<string>('webhookId');
154
+
155
+ if (webhookId) {
156
+ // Pause webhook (server keeps it for potential reactivation)
157
+ await httpClient.sendRequest({
158
+ method: HttpMethod.PATCH,
159
+ url: `${baseUrl}/api/v2/public/webhooks/${webhookId}`,
160
+ headers: {
161
+ Authorization: `Bearer ${token}`,
162
+ 'Content-Type': 'application/json',
163
+ 'X-WorkBuddy-Version': '2026-01',
164
+ },
165
+ body: {
166
+ status: 'paused',
167
+ },
168
+ });
169
+ }
170
+ },
171
+
172
+ async run(context) {
173
+ return [context.payload.body];
174
+ },
175
+ });
176
+
177
+ export const activity_deleted_trigger = createTrigger({
178
+ name: 'ActivityDeleted',
179
+ auth: workbuddyAuth,
180
+ displayName: 'Activity Deleted',
181
+ description: 'Triggered when an activity is deleted',
182
+ props: {
183
+ filters: Property.Json({
184
+ displayName: 'Filters',
185
+ description:
186
+ 'Optional webhook filters object. Discover allowed fields with GET /webhooks/entities/:entity/filters.',
187
+ required: false,
188
+ defaultValue: {},
189
+ }),
190
+ },
191
+ sampleData: {
192
+ activity: {
193
+ id: '507f1f77bcf86cd799439011',
194
+ type: 'note',
195
+ description: 'Activity description',
196
+ createdAt: '2026-03-05T10:00:00.000Z',
197
+ createdBy: { id: '507f1f77bcf86cd799439011', name: 'John Smith' },
198
+ job: { id: '507f1f77bcf86cd799439011', name: 'J10001' },
199
+ stage: { id: '507f1f77bcf86cd799439011', name: 'Foundation Work' },
200
+ },
201
+ },
202
+ type: TriggerStrategy.WEBHOOK,
203
+
204
+ async onEnable(context) {
205
+ const token = await getAccessToken(context.auth);
206
+ const baseUrl = context.auth.props.baseUrl;
207
+
208
+ // Register webhook with WorkBuddy v2 API (server handles upsert - reactivates if exists)
209
+ const response = await httpClient.sendRequest<{ data: { id: string } }>({
210
+ method: HttpMethod.POST,
211
+ url: `${baseUrl}/api/v2/public/webhooks`,
212
+ headers: {
213
+ Authorization: `Bearer ${token}`,
214
+ 'Content-Type': 'application/json',
215
+ 'X-WorkBuddy-Version': '2026-01',
216
+ },
217
+ body: {
218
+ name: `Activepieces: Activity Deleted`,
219
+ url: context.webhookUrl,
220
+ entity: 'activity',
221
+ events: ['Activity Deleted'],
222
+ ...(context.propsValue.filters && Object.keys(context.propsValue.filters).length > 0
223
+ ? { filters: context.propsValue.filters }
224
+ : {}),
225
+ workflow: {
226
+ platform: 'activepieces',
227
+ integrationId: context.webhookUrl,
228
+ },
229
+ },
230
+ });
231
+
232
+ // Store webhook ID for cleanup
233
+ await context.store.put('webhookId', response.body.data.id);
234
+ },
235
+
236
+ async onDisable(context) {
237
+ const token = await getAccessToken(context.auth);
238
+ const baseUrl = context.auth.props.baseUrl;
239
+ const webhookId = await context.store.get<string>('webhookId');
240
+
241
+ if (webhookId) {
242
+ // Pause webhook (server keeps it for potential reactivation)
243
+ await httpClient.sendRequest({
244
+ method: HttpMethod.PATCH,
245
+ url: `${baseUrl}/api/v2/public/webhooks/${webhookId}`,
246
+ headers: {
247
+ Authorization: `Bearer ${token}`,
248
+ 'Content-Type': 'application/json',
249
+ 'X-WorkBuddy-Version': '2026-01',
250
+ },
251
+ body: {
252
+ status: 'paused',
253
+ },
254
+ });
255
+ }
256
+ },
257
+
258
+ async run(context) {
259
+ return [context.payload.body];
260
+ },
261
+ });
@@ -0,0 +1,53 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const allocation_created_trigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
3
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
6
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
7
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
8
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
9
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
10
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").CustomAuthProperty<{
11
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
12
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
13
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
14
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
15
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
16
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
17
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
18
+ }>, {}>;
19
+ export declare const allocation_changed_trigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
20
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
21
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
22
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
23
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
24
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
25
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
26
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
27
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").CustomAuthProperty<{
28
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
29
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
30
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
31
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
32
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
33
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
34
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
35
+ }>, {}>;
36
+ export declare const allocation_deleted_trigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
37
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
38
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
39
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
40
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").CustomAuthProperty<{
41
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
42
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
43
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
44
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").CustomAuthProperty<{
45
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
46
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
47
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
48
+ }>, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").CustomAuthProperty<{
49
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
50
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
51
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
52
+ }>, {}>;
53
+ //# sourceMappingURL=allocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocation.d.ts","sourceRoot":"","sources":["allocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAY,MAAM,gCAAgC,CAAC;AAI1F,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;OA+DrC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;OA+DrC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;OA+DrC,CAAC"}