@agnocon/piece-bigin-by-zoho 0.1.6

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 (157) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +72 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/create-call.d.ts +16 -0
  7. package/dist/lib/actions/create-call.d.ts.map +1 -0
  8. package/dist/lib/actions/create-call.js +162 -0
  9. package/dist/lib/actions/create-call.js.map +1 -0
  10. package/dist/lib/actions/create-company.d.ts +14 -0
  11. package/dist/lib/actions/create-company.d.ts.map +1 -0
  12. package/dist/lib/actions/create-company.js +108 -0
  13. package/dist/lib/actions/create-company.js.map +1 -0
  14. package/dist/lib/actions/create-contact.d.ts +18 -0
  15. package/dist/lib/actions/create-contact.d.ts.map +1 -0
  16. package/dist/lib/actions/create-contact.js +130 -0
  17. package/dist/lib/actions/create-contact.js.map +1 -0
  18. package/dist/lib/actions/create-event.d.ts +18 -0
  19. package/dist/lib/actions/create-event.d.ts.map +1 -0
  20. package/dist/lib/actions/create-event.js +360 -0
  21. package/dist/lib/actions/create-event.js.map +1 -0
  22. package/dist/lib/actions/create-pipeline-record.d.ts +16 -0
  23. package/dist/lib/actions/create-pipeline-record.d.ts.map +1 -0
  24. package/dist/lib/actions/create-pipeline-record.js +219 -0
  25. package/dist/lib/actions/create-pipeline-record.js.map +1 -0
  26. package/dist/lib/actions/create-task.d.ts +16 -0
  27. package/dist/lib/actions/create-task.d.ts.map +1 -0
  28. package/dist/lib/actions/create-task.js +380 -0
  29. package/dist/lib/actions/create-task.js.map +1 -0
  30. package/dist/lib/actions/search-company-record.d.ts +5 -0
  31. package/dist/lib/actions/search-company-record.d.ts.map +1 -0
  32. package/dist/lib/actions/search-company-record.js +58 -0
  33. package/dist/lib/actions/search-company-record.js.map +1 -0
  34. package/dist/lib/actions/search-contact-record.d.ts +5 -0
  35. package/dist/lib/actions/search-contact-record.d.ts.map +1 -0
  36. package/dist/lib/actions/search-contact-record.js +82 -0
  37. package/dist/lib/actions/search-contact-record.js.map +1 -0
  38. package/dist/lib/actions/search-pipeline-records.d.ts +5 -0
  39. package/dist/lib/actions/search-pipeline-records.d.ts.map +1 -0
  40. package/dist/lib/actions/search-pipeline-records.js +53 -0
  41. package/dist/lib/actions/search-pipeline-records.js.map +1 -0
  42. package/dist/lib/actions/search-product.d.ts +5 -0
  43. package/dist/lib/actions/search-product.d.ts.map +1 -0
  44. package/dist/lib/actions/search-product.js +60 -0
  45. package/dist/lib/actions/search-product.js.map +1 -0
  46. package/dist/lib/actions/search-user.d.ts +7 -0
  47. package/dist/lib/actions/search-user.d.ts.map +1 -0
  48. package/dist/lib/actions/search-user.js +75 -0
  49. package/dist/lib/actions/search-user.js.map +1 -0
  50. package/dist/lib/actions/update-company.d.ts +7 -0
  51. package/dist/lib/actions/update-company.d.ts.map +1 -0
  52. package/dist/lib/actions/update-company.js +224 -0
  53. package/dist/lib/actions/update-company.js.map +1 -0
  54. package/dist/lib/actions/update-contact.d.ts +7 -0
  55. package/dist/lib/actions/update-contact.d.ts.map +1 -0
  56. package/dist/lib/actions/update-contact.js +248 -0
  57. package/dist/lib/actions/update-contact.js.map +1 -0
  58. package/dist/lib/actions/update-event.d.ts +13 -0
  59. package/dist/lib/actions/update-event.d.ts.map +1 -0
  60. package/dist/lib/actions/update-event.js +466 -0
  61. package/dist/lib/actions/update-event.js.map +1 -0
  62. package/dist/lib/actions/update-pipeline-record.d.ts +14 -0
  63. package/dist/lib/actions/update-pipeline-record.d.ts.map +1 -0
  64. package/dist/lib/actions/update-pipeline-record.js +205 -0
  65. package/dist/lib/actions/update-pipeline-record.js.map +1 -0
  66. package/dist/lib/actions/update-task.d.ts +13 -0
  67. package/dist/lib/actions/update-task.d.ts.map +1 -0
  68. package/dist/lib/actions/update-task.js +449 -0
  69. package/dist/lib/actions/update-task.js.map +1 -0
  70. package/dist/lib/auth.d.ts +2 -0
  71. package/dist/lib/auth.d.ts.map +1 -0
  72. package/dist/lib/auth.js +59 -0
  73. package/dist/lib/auth.js.map +1 -0
  74. package/dist/lib/common/constants.d.ts +23 -0
  75. package/dist/lib/common/constants.d.ts.map +1 -0
  76. package/dist/lib/common/constants.js +72 -0
  77. package/dist/lib/common/constants.js.map +1 -0
  78. package/dist/lib/common/helpers.d.ts +11 -0
  79. package/dist/lib/common/helpers.d.ts.map +1 -0
  80. package/dist/lib/common/helpers.js +40 -0
  81. package/dist/lib/common/helpers.js.map +1 -0
  82. package/dist/lib/common/props.d.ts +10 -0
  83. package/dist/lib/common/props.d.ts.map +1 -0
  84. package/dist/lib/common/props.js +217 -0
  85. package/dist/lib/common/props.js.map +1 -0
  86. package/dist/lib/common/request.d.ts +35 -0
  87. package/dist/lib/common/request.d.ts.map +1 -0
  88. package/dist/lib/common/request.js +226 -0
  89. package/dist/lib/common/request.js.map +1 -0
  90. package/dist/lib/triggers/company-updated.d.ts +3 -0
  91. package/dist/lib/triggers/company-updated.d.ts.map +1 -0
  92. package/dist/lib/triggers/company-updated.js +66 -0
  93. package/dist/lib/triggers/company-updated.js.map +1 -0
  94. package/dist/lib/triggers/contact-updated.d.ts +3 -0
  95. package/dist/lib/triggers/contact-updated.d.ts.map +1 -0
  96. package/dist/lib/triggers/contact-updated.js +66 -0
  97. package/dist/lib/triggers/contact-updated.js.map +1 -0
  98. package/dist/lib/triggers/new-call-created.d.ts +3 -0
  99. package/dist/lib/triggers/new-call-created.d.ts.map +1 -0
  100. package/dist/lib/triggers/new-call-created.js +66 -0
  101. package/dist/lib/triggers/new-call-created.js.map +1 -0
  102. package/dist/lib/triggers/new-company-created.d.ts +3 -0
  103. package/dist/lib/triggers/new-company-created.d.ts.map +1 -0
  104. package/dist/lib/triggers/new-company-created.js +66 -0
  105. package/dist/lib/triggers/new-company-created.js.map +1 -0
  106. package/dist/lib/triggers/new-contact-created.d.ts +3 -0
  107. package/dist/lib/triggers/new-contact-created.d.ts.map +1 -0
  108. package/dist/lib/triggers/new-contact-created.js +75 -0
  109. package/dist/lib/triggers/new-contact-created.js.map +1 -0
  110. package/dist/lib/triggers/new-event-created.d.ts +3 -0
  111. package/dist/lib/triggers/new-event-created.d.ts.map +1 -0
  112. package/dist/lib/triggers/new-event-created.js +66 -0
  113. package/dist/lib/triggers/new-event-created.js.map +1 -0
  114. package/dist/lib/triggers/new-pipeline-record.d.ts +3 -0
  115. package/dist/lib/triggers/new-pipeline-record.d.ts.map +1 -0
  116. package/dist/lib/triggers/new-pipeline-record.js +66 -0
  117. package/dist/lib/triggers/new-pipeline-record.js.map +1 -0
  118. package/dist/lib/triggers/new-task-created.d.ts +3 -0
  119. package/dist/lib/triggers/new-task-created.d.ts.map +1 -0
  120. package/dist/lib/triggers/new-task-created.js +66 -0
  121. package/dist/lib/triggers/new-task-created.js.map +1 -0
  122. package/dist/lib/triggers/pipeline-record-updated.d.ts +3 -0
  123. package/dist/lib/triggers/pipeline-record-updated.d.ts.map +1 -0
  124. package/dist/lib/triggers/pipeline-record-updated.js +66 -0
  125. package/dist/lib/triggers/pipeline-record-updated.js.map +1 -0
  126. package/package.json +46 -0
  127. package/src/index.ts +72 -0
  128. package/src/lib/actions/create-call.ts +168 -0
  129. package/src/lib/actions/create-company.ts +124 -0
  130. package/src/lib/actions/create-contact.ts +151 -0
  131. package/src/lib/actions/create-event.ts +399 -0
  132. package/src/lib/actions/create-pipeline-record.ts +255 -0
  133. package/src/lib/actions/create-task.ts +426 -0
  134. package/src/lib/actions/search-company-record.ts +57 -0
  135. package/src/lib/actions/search-contact-record.ts +79 -0
  136. package/src/lib/actions/search-pipeline-records.ts +52 -0
  137. package/src/lib/actions/search-product.ts +60 -0
  138. package/src/lib/actions/search-user.ts +70 -0
  139. package/src/lib/actions/update-company.ts +235 -0
  140. package/src/lib/actions/update-contact.ts +261 -0
  141. package/src/lib/actions/update-event.ts +528 -0
  142. package/src/lib/actions/update-pipeline-record.ts +235 -0
  143. package/src/lib/actions/update-task.ts +499 -0
  144. package/src/lib/auth.ts +57 -0
  145. package/src/lib/common/constants.ts +68 -0
  146. package/src/lib/common/helpers.ts +46 -0
  147. package/src/lib/common/props.ts +270 -0
  148. package/src/lib/common/request.ts +285 -0
  149. package/src/lib/triggers/company-updated.ts +69 -0
  150. package/src/lib/triggers/contact-updated.ts +65 -0
  151. package/src/lib/triggers/new-call-created.ts +69 -0
  152. package/src/lib/triggers/new-company-created.ts +69 -0
  153. package/src/lib/triggers/new-contact-created.ts +75 -0
  154. package/src/lib/triggers/new-event-created.ts +69 -0
  155. package/src/lib/triggers/new-pipeline-record.ts +69 -0
  156. package/src/lib/triggers/new-task-created.ts +69 -0
  157. package/src/lib/triggers/pipeline-record-updated.ts +69 -0
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEvent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/bigin-by-zoho/src/lib/actions/create-event.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const auth_1 = require("../auth");
8
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
9
+ const props_1 = require("../common/props");
10
+ const request_1 = require("../common/request");
11
+ const helpers_1 = require("../common/helpers");
12
+ exports.createEvent = (0, pieces_framework_1.createAction)({
13
+ auth: auth_1.biginAuth,
14
+ name: 'createEvent',
15
+ displayName: 'Create Event',
16
+ description: 'Creates a new event in Bigin',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Creates a calendar event in Bigin CRM with a title, start and end date/time (end must be after start), plus optional all-day flag, venue, participants, description, and tags. Supports optional recurrence (daily/weekly/monthly/yearly RRULE) and reminders, and can be linked to a related Contact, Pipeline, or Company record. Use to schedule a meeting or appointment. Not idempotent: each call creates a new event.', idempotent: false },
19
+ props: {
20
+ eventTitle: pieces_framework_1.Property.ShortText({
21
+ displayName: 'Event Title',
22
+ description: 'Provide the title or name of the event',
23
+ required: true,
24
+ }),
25
+ owner: props_1.usersDropdown,
26
+ startDateTime: pieces_framework_1.Property.DateTime({
27
+ displayName: 'Start Date & Time',
28
+ description: 'Start date and time of the event',
29
+ required: true,
30
+ }),
31
+ endDateTime: pieces_framework_1.Property.DateTime({
32
+ displayName: 'End Date & Time',
33
+ description: 'End date and time of the event',
34
+ required: true,
35
+ }),
36
+ allDay: pieces_framework_1.Property.Checkbox({
37
+ displayName: 'All Day Event',
38
+ description: 'Mark this as an all-day event',
39
+ required: false,
40
+ }),
41
+ enableRecurring: pieces_framework_1.Property.Checkbox({
42
+ displayName: 'Make Event Recurring',
43
+ description: 'Make this event recurring',
44
+ required: false,
45
+ }),
46
+ recurringInfo: pieces_framework_1.Property.DynamicProperties({
47
+ auth: auth_1.biginAuth,
48
+ displayName: 'Recurring Info',
49
+ refreshers: ['enableRecurring'],
50
+ required: false,
51
+ props: (propsValue, ctx) => {
52
+ if (propsValue['enableRecurring']) {
53
+ return {
54
+ freq: pieces_framework_1.Property.StaticDropdown({
55
+ displayName: 'Frequency',
56
+ required: true,
57
+ options: {
58
+ options: [
59
+ { label: 'Daily', value: 'DAILY' },
60
+ { label: 'Weekly', value: 'WEEKLY' },
61
+ { label: 'Monthly', value: 'MONTHLY' },
62
+ { label: 'Yearly', value: 'YEARLY' },
63
+ ],
64
+ },
65
+ }),
66
+ interval: pieces_framework_1.Property.Number({
67
+ displayName: 'Interval',
68
+ required: true,
69
+ description: 'Indicates the time gap between each event. The INTERVAL value range from 1 to 99. For example, an INTERVAL of 2 for a WEEKLY recurring event means that there will be a two-week gap between each event.',
70
+ defaultValue: 1,
71
+ }),
72
+ count: pieces_framework_1.Property.Number({
73
+ displayName: 'Count',
74
+ required: true,
75
+ defaultValue: 1,
76
+ description: 'Indicates the number of events you want to create. THE COUNT value range from 1 to 99. For example, a COUNT of 3 creates three individual events.',
77
+ }),
78
+ byday: pieces_framework_1.Property.StaticDropdown({
79
+ displayName: 'By Day',
80
+ required: false,
81
+ description: 'Indicates the day of the week the event repeats. The possible values are SU, MO, TU, WE, TH, FR, or SA. This is applicable only for weekly, and monthly events.',
82
+ options: {
83
+ options: [
84
+ { label: 'Sunday', value: 'SU' },
85
+ { label: 'Monday', value: 'MO' },
86
+ { label: 'Tuesday', value: 'TU' },
87
+ { label: 'Wednesday', value: 'WE' },
88
+ { label: 'Thursday', value: 'TH' },
89
+ { label: 'Friday', value: 'FR' },
90
+ { label: 'Saturday', value: 'SA' },
91
+ ],
92
+ },
93
+ }),
94
+ bymonthday: pieces_framework_1.Property.Number({
95
+ displayName: 'By Month Day',
96
+ required: false,
97
+ description: ' Indicates the day of the month the event repeats. The BYMONTHDAY value range from 1 to 31. This is applicable only for weekly and monthly events.',
98
+ }),
99
+ bysetpos: pieces_framework_1.Property.StaticDropdown({
100
+ displayName: 'By Set Position',
101
+ required: false,
102
+ description: 'Indicates the week of the month the event repeats. The possible values are 1 for the first week of the month, 2 for the second week of the month, 3 the for third week of the month, 4 for the fourth week of the month, or -1 for the last week of the month. This is applicable only for weekly and monthly events.',
103
+ options: {
104
+ options: [
105
+ { label: 'First Week of the Month', value: '1' },
106
+ { label: 'Second Week of the Month', value: '2' },
107
+ { label: 'Third Week of the Month', value: '3' },
108
+ { label: 'Fourth Week of the Month', value: '4' },
109
+ { label: 'Last Week of the Month', value: '-1' },
110
+ ],
111
+ },
112
+ }),
113
+ until: pieces_framework_1.Property.ShortText({
114
+ displayName: 'Until (YYYY-MM-DD)',
115
+ description: 'Date the recurrence ends. Format: YYYY-MM-DD',
116
+ required: false,
117
+ }),
118
+ };
119
+ }
120
+ else {
121
+ return {};
122
+ }
123
+ },
124
+ }),
125
+ enableReminder: pieces_framework_1.Property.Checkbox({
126
+ displayName: 'Enable Reminder',
127
+ description: 'Enable reminder for this event',
128
+ required: false,
129
+ }),
130
+ reminderInfo: pieces_framework_1.Property.DynamicProperties({
131
+ auth: auth_1.biginAuth,
132
+ displayName: 'Reminder Information',
133
+ refreshers: ['enableReminder'],
134
+ required: false,
135
+ props: (propsValue, ctx) => {
136
+ if (propsValue['enableReminder']) {
137
+ return {
138
+ reminderList: pieces_framework_1.Property.Array({
139
+ displayName: 'Reminder List',
140
+ description: 'Add multiple reminders (e.g., "1 hour", "30 minutes")',
141
+ required: false,
142
+ properties: {
143
+ unit: pieces_framework_1.Property.Number({
144
+ displayName: 'Time Value',
145
+ description: 'Number of time units (e.g., 1, 30)',
146
+ required: true,
147
+ }),
148
+ period: pieces_framework_1.Property.StaticDropdown({
149
+ displayName: 'Time Period',
150
+ required: true,
151
+ options: {
152
+ options: [
153
+ { label: 'Days', value: 'days' },
154
+ { label: 'Weeks', value: 'weeks' },
155
+ ],
156
+ },
157
+ }),
158
+ },
159
+ }),
160
+ };
161
+ }
162
+ else {
163
+ return {};
164
+ }
165
+ },
166
+ }),
167
+ venue: pieces_framework_1.Property.ShortText({
168
+ displayName: 'Venue',
169
+ description: 'Location or venue of the event',
170
+ required: false,
171
+ }),
172
+ relatedModule: pieces_framework_1.Property.StaticDropdown({
173
+ displayName: 'Related Module',
174
+ description: 'Select the type of entity the event is related to',
175
+ required: false,
176
+ defaultValue: 'Contacts',
177
+ options: {
178
+ options: [
179
+ { label: 'Contacts', value: 'Contacts' },
180
+ { label: 'Pipelines', value: 'Pipelines' },
181
+ { label: 'Companies', value: 'Companies' },
182
+ ],
183
+ },
184
+ }),
185
+ relatedTo: pieces_framework_1.Property.Dropdown({
186
+ auth: auth_1.biginAuth,
187
+ displayName: 'Related To',
188
+ description: 'Select the specific record the event is related to',
189
+ required: false,
190
+ refreshers: ['auth', 'relatedModule'],
191
+ defaultValue: {},
192
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, relatedModule }) {
193
+ if (!auth)
194
+ return (0, helpers_1.handleDropdownError)('Please connect your account first');
195
+ if (!relatedModule)
196
+ return { options: [] };
197
+ const { access_token, data } = auth;
198
+ const api_domain = data['api_domain'];
199
+ const fetchMap = {
200
+ Contacts: () => request_1.biginApiService.fetchContacts(access_token, api_domain),
201
+ Pipelines: () => request_1.biginApiService.fetchPipelinesRecords(access_token, api_domain),
202
+ Companies: () => request_1.biginApiService.fetchCompanies(access_token, api_domain),
203
+ };
204
+ const fetchFn = fetchMap[relatedModule || 'Contacts'];
205
+ const response = yield fetchFn();
206
+ const records = (response === null || response === void 0 ? void 0 : response.data) || [];
207
+ return {
208
+ options: records.map((item) => ({
209
+ label: (0, helpers_1.getSafeLabel)(item),
210
+ value: item.id,
211
+ })),
212
+ };
213
+ }),
214
+ }),
215
+ participants: pieces_framework_1.Property.Array({
216
+ displayName: 'Participants',
217
+ description: 'Add participants to the event',
218
+ required: false,
219
+ properties: {
220
+ type: pieces_framework_1.Property.StaticDropdown({
221
+ displayName: 'Participant Type',
222
+ required: true,
223
+ options: {
224
+ options: [
225
+ { label: 'User', value: 'user' },
226
+ { label: 'Email', value: 'email' },
227
+ { label: 'Contact', value: 'contact' },
228
+ ],
229
+ },
230
+ }),
231
+ participant: pieces_framework_1.Property.ShortText({
232
+ displayName: 'Participant ID/Email',
233
+ description: 'User ID, email address, or contact ID based on type',
234
+ required: true,
235
+ }),
236
+ },
237
+ }),
238
+ description: pieces_framework_1.Property.LongText({
239
+ displayName: 'Description',
240
+ description: 'Additional descriptions or notes related to the event',
241
+ required: false,
242
+ }),
243
+ tag: (0, props_1.tagsDropdown)('Events'),
244
+ },
245
+ run(_a) {
246
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
247
+ const { access_token, data } = auth;
248
+ const api_domain = data['api_domain'];
249
+ const startDate = new Date(propsValue.startDateTime);
250
+ const endDate = new Date(propsValue.endDateTime);
251
+ if (endDate <= startDate) {
252
+ throw new Error('End date/time must be after start date/time');
253
+ }
254
+ const eventData = {
255
+ Event_Title: propsValue.eventTitle,
256
+ Start_DateTime: (0, helpers_1.formatDateTime)(propsValue.startDateTime),
257
+ End_DateTime: (0, helpers_1.formatDateTime)(propsValue.endDateTime),
258
+ };
259
+ if (propsValue.owner) {
260
+ eventData.Owner = { id: propsValue.owner };
261
+ }
262
+ if (propsValue.allDay) {
263
+ eventData.All_day = propsValue.allDay;
264
+ }
265
+ if (propsValue.enableRecurring && propsValue.recurringInfo) {
266
+ const recurringInfo = propsValue.recurringInfo;
267
+ const rruleParts = [];
268
+ const allowedFreq = ['DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];
269
+ if (!allowedFreq.includes(recurringInfo.freq)) {
270
+ throw new Error('Invalid recurrence frequency. Allowed values: DAILY, WEEKLY, MONTHLY, YEARLY');
271
+ }
272
+ rruleParts.push(`FREQ=${recurringInfo.freq}`);
273
+ if (recurringInfo.interval !== undefined) {
274
+ const interval = Number(recurringInfo.interval);
275
+ if (Number.isNaN(interval) || interval < 1 || interval > 99) {
276
+ throw new Error('Interval must be a number between 1 and 99');
277
+ }
278
+ rruleParts.push(`INTERVAL=${recurringInfo.interval}`);
279
+ }
280
+ if (recurringInfo.count !== undefined) {
281
+ const count = Number(recurringInfo.count);
282
+ if (Number.isNaN(count) || count < 1 || count > 99) {
283
+ throw new Error('Count must be a number between 1 and 99');
284
+ }
285
+ rruleParts.push(`COUNT=${recurringInfo.count}`);
286
+ }
287
+ if (recurringInfo.byday) {
288
+ rruleParts.push(`BYDAY=${recurringInfo.byday}`);
289
+ }
290
+ if (recurringInfo.bymonthday !== undefined) {
291
+ const bymonthday = Number(recurringInfo.bymonthday);
292
+ if (Number.isNaN(bymonthday) || bymonthday < 1 || bymonthday > 31) {
293
+ throw new Error('BYMONTHDAY must be a number between 1 and 31');
294
+ }
295
+ rruleParts.push(`BYMONTHDAY=${recurringInfo.bymonthday}`);
296
+ }
297
+ if (recurringInfo.bysetpos) {
298
+ const allowedSetPos = ['1', '2', '3', '4', '-1'];
299
+ if (!allowedSetPos.includes(String(recurringInfo.bysetpos))) {
300
+ throw new Error('BYSETPOS must be one of 1, 2, 3, 4, -1');
301
+ }
302
+ rruleParts.push(`BYSETPOS=${recurringInfo.bysetpos}`);
303
+ }
304
+ if (recurringInfo.until) {
305
+ const until = (0, helpers_1.formatDateOnly)(recurringInfo.until);
306
+ rruleParts.push(`UNTIL=${until}`);
307
+ }
308
+ eventData.Recurring_Activity = {
309
+ RRULE: rruleParts.join(';') + ';',
310
+ };
311
+ }
312
+ if (propsValue.enableReminder && propsValue.reminderInfo) {
313
+ const reminderList = propsValue.reminderInfo['reminderList'];
314
+ eventData.Remind_At = reminderList.map((reminder) => ({
315
+ unit: reminder.unit,
316
+ period: reminder.period,
317
+ }));
318
+ }
319
+ if (propsValue.venue) {
320
+ eventData.Venue = propsValue.venue;
321
+ }
322
+ if (propsValue.relatedTo && propsValue.relatedModule) {
323
+ const relatedModuleMap = {
324
+ Contacts: 'Contacts',
325
+ Pipelines: 'Deals',
326
+ Companies: 'Accounts',
327
+ };
328
+ const relatedModule = relatedModuleMap[propsValue.relatedModule];
329
+ eventData.Related_To = { id: propsValue.relatedTo };
330
+ eventData.$related_module = relatedModule;
331
+ }
332
+ if (propsValue.participants && Array.isArray(propsValue.participants)) {
333
+ eventData.Participants = propsValue.participants.map((participant) => ({
334
+ type: participant.type,
335
+ participant: participant.participant,
336
+ }));
337
+ }
338
+ if (propsValue.description) {
339
+ eventData.Description = propsValue.description;
340
+ }
341
+ if (propsValue.tag &&
342
+ Array.isArray(propsValue.tag) &&
343
+ propsValue.tag.length > 0) {
344
+ eventData.Tag = propsValue.tag.map((tagName) => ({ name: tagName }));
345
+ }
346
+ const payload = { data: [eventData] };
347
+ try {
348
+ const response = yield request_1.biginApiService.createEvent(access_token, api_domain, payload);
349
+ return response.data[0];
350
+ }
351
+ catch (error) {
352
+ console.error('Error creating event:', error);
353
+ throw new Error(error instanceof Error
354
+ ? `Failed to create event: ${error.message}`
355
+ : 'Failed to create event due to an unknown error');
356
+ }
357
+ });
358
+ },
359
+ });
360
+ //# sourceMappingURL=create-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-event.js","sourceRoot":"","sources":["../../../src/lib/actions/create-event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare const createPipelineRecord: import("@agnocon/pieces-framework").IAction<import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>, {
2
+ dealName: import("@agnocon/pieces-framework").ShortTextProperty<true>;
3
+ pipeline: import("@agnocon/pieces-framework").DropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
4
+ subPipeline: import("@agnocon/pieces-framework").DropdownProperty<unknown, true, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
5
+ stage: import("@agnocon/pieces-framework").DropdownProperty<unknown, true, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
6
+ amount: import("@agnocon/pieces-framework").NumberProperty<false>;
7
+ secondaryContacts: import("@agnocon/pieces-framework").MultiSelectDropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
8
+ closingDate: import("@agnocon/pieces-framework").DateTimeProperty<true>;
9
+ owner: import("@agnocon/pieces-framework").DropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
10
+ accountName: import("@agnocon/pieces-framework").DropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
11
+ contactName: import("@agnocon/pieces-framework").DropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
12
+ associatedProducts: import("@agnocon/pieces-framework").MultiSelectDropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
13
+ tag: import("@agnocon/pieces-framework").MultiSelectDropdownProperty<unknown, false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
14
+ additionalFields: import("@agnocon/pieces-framework").DynamicProperties<false, import("@agnocon/pieces-framework").OAuth2Property<import("@agnocon/pieces-framework").OAuth2Props>>;
15
+ }>;
16
+ //# sourceMappingURL=create-pipeline-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-pipeline-record.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/create-pipeline-record.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;EAwP/B,CAAC"}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPipelineRecord = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/bigin-by-zoho/src/lib/actions/create-pipeline-record.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const auth_1 = require("../auth");
8
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
9
+ const props_1 = require("../common/props");
10
+ const helpers_1 = require("../common/helpers");
11
+ const request_1 = require("../common/request");
12
+ exports.createPipelineRecord = (0, pieces_framework_1.createAction)({
13
+ auth: auth_1.biginAuth,
14
+ name: 'createPipeline',
15
+ displayName: 'Create Pipeline',
16
+ description: 'Creates a new pipeline record in Bigin',
17
+ audience: 'both',
18
+ aiMetadata: { description: 'Creates a new pipeline record (deal) in Bigin CRM with a deal name, pipeline, sub-pipeline, stage, and closing date, plus optional amount, owner, company, contact, secondary contacts, associated products, tags, and module-defined fields. Use to open a new sales opportunity. Not idempotent: each call creates a new deal.', idempotent: false },
19
+ props: {
20
+ dealName: pieces_framework_1.Property.ShortText({
21
+ displayName: 'Deal Name',
22
+ description: 'Provide the name for the pipeline record (deal)',
23
+ required: true,
24
+ }),
25
+ pipeline: (0, props_1.layoutsDropdown)('Pipelines', 'Provide the Team Pipeline to which the pipeline record (deal) belongs', 'Pipelines'),
26
+ subPipeline: (0, props_1.SubPipelineorStageDropdown)('Sub Pipeline', 'Pick one of the configured sub-pipelines', 'Sub Pipeline'),
27
+ stage: (0, props_1.SubPipelineorStageDropdown)('Stage', 'Provide the current stage of the pipeline record (deal) within the Sub-Pipeline', 'Stage'),
28
+ amount: pieces_framework_1.Property.Number({
29
+ displayName: 'Amount',
30
+ description: 'The amount of the pipeline record (deal)',
31
+ required: false,
32
+ }),
33
+ secondaryContacts: props_1.multiContactsDropdown,
34
+ closingDate: pieces_framework_1.Property.DateTime({
35
+ displayName: 'Closing Date',
36
+ description: 'Provide the expected or actual closing date of the pipeline record (deal) in YYYY-MM-DD format',
37
+ required: true,
38
+ }),
39
+ owner: props_1.usersDropdown,
40
+ accountName: props_1.companyDropdown,
41
+ contactName: props_1.contactsDropdown,
42
+ associatedProducts: props_1.productsDropdown,
43
+ tag: (0, props_1.tagsDropdown)('Pipelines'),
44
+ additionalFields: pieces_framework_1.Property.DynamicProperties({
45
+ auth: auth_1.biginAuth,
46
+ displayName: 'Additional Fields',
47
+ description: 'Optional fields from the Pipelines module',
48
+ refreshers: ['auth'],
49
+ required: false,
50
+ props: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
51
+ var _b;
52
+ if (!auth)
53
+ return {};
54
+ const { access_token, api_domain } = auth;
55
+ const fieldsResp = yield request_1.biginApiService.fetchModuleFields(access_token, api_domain, 'Pipelines');
56
+ const props = {};
57
+ for (const f of (fieldsResp.fields || [])) {
58
+ const apiName = f.api_name;
59
+ if (['Deal_Name', 'Sub_Pipeline', 'Stage', 'Owner', 'Account_Name', 'Contact_Name', 'Tag', 'Pipeline', 'Associated_Products', 'Secondary_Contacts', 'Closing_Date', 'id'].includes(apiName)) {
60
+ continue;
61
+ }
62
+ if (f.read_only || f.field_read_only)
63
+ continue;
64
+ if (!f.view_type || f.view_type.create !== true)
65
+ continue;
66
+ const display = f.display_label || f.field_label || apiName;
67
+ switch ((_b = f.data_type) === null || _b === void 0 ? void 0 : _b.toLowerCase()) {
68
+ case 'picklist': {
69
+ const options = (f.pick_list_values || []).map((pl) => ({
70
+ label: pl.display_value,
71
+ value: pl.actual_value,
72
+ }));
73
+ props[apiName] = pieces_framework_1.Property.StaticDropdown({
74
+ displayName: display,
75
+ required: false,
76
+ options: { options },
77
+ });
78
+ break;
79
+ }
80
+ case 'multiselectpicklist': {
81
+ const options = (f.pick_list_values || []).map((pl) => ({
82
+ label: pl.display_value,
83
+ value: pl.actual_value,
84
+ }));
85
+ props[apiName] = pieces_framework_1.Property.StaticMultiSelectDropdown({
86
+ displayName: display,
87
+ required: false,
88
+ options: { options },
89
+ });
90
+ break;
91
+ }
92
+ case 'boolean': {
93
+ props[apiName] = pieces_framework_1.Property.Checkbox({
94
+ displayName: display,
95
+ required: false,
96
+ });
97
+ break;
98
+ }
99
+ case 'date': {
100
+ props[apiName] = pieces_framework_1.Property.ShortText({
101
+ displayName: display,
102
+ required: false,
103
+ });
104
+ break;
105
+ }
106
+ case 'datetime': {
107
+ props[apiName] = pieces_framework_1.Property.DateTime({
108
+ displayName: display,
109
+ required: false,
110
+ });
111
+ break;
112
+ }
113
+ case 'integer':
114
+ case 'long':
115
+ case 'double':
116
+ case 'decimal':
117
+ case 'currency':
118
+ case 'percent': {
119
+ props[apiName] = pieces_framework_1.Property.Number({
120
+ displayName: display,
121
+ required: false,
122
+ });
123
+ break;
124
+ }
125
+ default: {
126
+ props[apiName] = pieces_framework_1.Property.ShortText({
127
+ displayName: display,
128
+ required: false,
129
+ });
130
+ }
131
+ }
132
+ }
133
+ return props;
134
+ }),
135
+ }),
136
+ },
137
+ run(_a) {
138
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
139
+ var _b;
140
+ const payload = {
141
+ Deal_Name: propsValue.dealName,
142
+ Sub_Pipeline: propsValue.subPipeline,
143
+ Stage: propsValue.stage,
144
+ };
145
+ if (propsValue.owner)
146
+ payload.Owner = { id: propsValue.owner };
147
+ if (propsValue.accountName)
148
+ payload.Account_Name = { id: propsValue.accountName };
149
+ if (propsValue.contactName)
150
+ payload.Contact_Name = { id: propsValue.contactName };
151
+ if (propsValue.amount)
152
+ payload.Amount = propsValue.amount;
153
+ if (!propsValue.closingDate) {
154
+ payload.Closing_Date = (0, helpers_1.formatDateOnly)(new Date());
155
+ }
156
+ else {
157
+ payload.Closing_Date = (0, helpers_1.formatDateOnly)(propsValue.closingDate);
158
+ }
159
+ if (propsValue.pipeline) {
160
+ const pipeline = JSON.parse(propsValue.pipeline);
161
+ payload.Pipeline = { id: pipeline.id, name: pipeline.name };
162
+ }
163
+ if (propsValue.associatedProducts) {
164
+ payload.Associated_Products = propsValue.associatedProducts.map((product) => {
165
+ const p = JSON.parse(product);
166
+ return { id: p.id, name: p.name };
167
+ });
168
+ }
169
+ if (propsValue.tag) {
170
+ payload.Tag = propsValue.tag.map((t) => ({ name: t }));
171
+ }
172
+ if (propsValue.additionalFields && typeof propsValue.additionalFields === 'object') {
173
+ for (const [apiName, value] of Object.entries(propsValue.additionalFields)) {
174
+ if (value === undefined ||
175
+ value === null ||
176
+ (typeof value === 'string' && value.trim() === '') ||
177
+ (Array.isArray(value) && value.length === 0)) {
178
+ continue;
179
+ }
180
+ if (['Deal_Name', 'Sub_Pipeline', 'Stage', 'Owner', 'Account_Name', 'Contact_Name', 'Tag', 'Pipeline', 'Associated_Products', 'Secondary_Contacts', 'Closing_Date'].includes(apiName)) {
181
+ continue;
182
+ }
183
+ payload[apiName] = value;
184
+ }
185
+ }
186
+ try {
187
+ const { access_token, data } = auth;
188
+ const api_domain = data['api_domain'];
189
+ const response = yield request_1.biginApiService.createPipelineRecord(access_token, api_domain, { data: [payload] });
190
+ const created = response.data[0];
191
+ if (propsValue.secondaryContacts &&
192
+ Array.isArray(propsValue.secondaryContacts) &&
193
+ ((_b = created === null || created === void 0 ? void 0 : created.details) === null || _b === void 0 ? void 0 : _b.id)) {
194
+ const secondaries = propsValue.secondaryContacts
195
+ .map((value) => String(value))
196
+ .filter((id) => id !== propsValue.contactName);
197
+ if (secondaries.length > 0) {
198
+ yield request_1.biginApiService.updatePipelineRecord(access_token, api_domain, {
199
+ data: [
200
+ {
201
+ id: created.details.id,
202
+ Secondary_Contacts: secondaries.map((id) => ({ id })),
203
+ },
204
+ ],
205
+ });
206
+ }
207
+ }
208
+ return created;
209
+ }
210
+ catch (error) {
211
+ console.error('Error creating pipeline:', error);
212
+ throw new Error(error instanceof Error
213
+ ? `Failed to create pipeline: ${error.message}`
214
+ : 'Failed to create pipeline due to an unknown error');
215
+ }
216
+ });
217
+ },
218
+ });
219
+ //# sourceMappingURL=create-pipeline-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-pipeline-record.js","sourceRoot":"","sources":["../../../src/lib/actions/create-pipeline-record.ts"],"names":[],"mappings":"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"}