runline 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/plugins/actionNetwork/src/index.js +118 -25
  2. package/dist/plugins/activeCampaign/src/index.js +184 -38
  3. package/dist/plugins/adalo/src/index.js +40 -8
  4. package/dist/plugins/affinity/src/index.js +100 -20
  5. package/dist/plugins/agileCrm/src/index.js +115 -27
  6. package/dist/plugins/airtable/src/index.js +94 -19
  7. package/dist/plugins/airtop/src/index.js +266 -62
  8. package/dist/plugins/apiTemplateIo/src/index.js +25 -5
  9. package/dist/plugins/asana/src/index.js +195 -41
  10. package/dist/plugins/autopilot/src/index.js +39 -8
  11. package/dist/plugins/bambooHr/src/index.js +109 -22
  12. package/dist/plugins/bannerbear/src/index.js +36 -8
  13. package/dist/plugins/baserow/src/index.js +35 -7
  14. package/dist/plugins/beeminder/src/index.js +198 -40
  15. package/dist/plugins/bitly/src/index.js +46 -10
  16. package/dist/plugins/bitwarden/src/index.js +167 -36
  17. package/dist/plugins/box/src/index.js +172 -37
  18. package/dist/plugins/brandfetch/src/index.js +5 -1
  19. package/dist/plugins/brevo/src/index.js +136 -29
  20. package/dist/plugins/bubble/src/index.js +76 -17
  21. package/dist/plugins/chargebee/src/index.js +35 -7
  22. package/dist/plugins/circleci/src/index.js +50 -10
  23. package/dist/plugins/ciscoWebex/src/index.js +131 -27
  24. package/dist/plugins/clearbit/src/index.js +76 -17
  25. package/dist/plugins/clickup/src/index.js +500 -107
  26. package/dist/plugins/clockify/src/index.js +229 -47
  27. package/dist/plugins/cloudflare/src/index.js +28 -6
  28. package/dist/plugins/cockpit/src/index.js +54 -12
  29. package/dist/plugins/coda/src/index.js +81 -19
  30. package/dist/plugins/coingecko/src/index.js +157 -33
  31. package/dist/plugins/contentful/src/index.js +85 -17
  32. package/dist/plugins/convertkit/src/index.js +74 -18
  33. package/dist/plugins/copper/src/index.js +59 -11
  34. package/dist/plugins/cortex/src/index.js +55 -13
  35. package/dist/plugins/currents/src/index.js +310 -71
  36. package/dist/plugins/customerIo/src/index.js +112 -23
  37. package/dist/plugins/databricks/src/index.js +549 -115
  38. package/dist/plugins/deepl/src/index.js +26 -6
  39. package/dist/plugins/demio/src/index.js +56 -11
  40. package/dist/plugins/dhl/src/index.js +16 -3
  41. package/dist/plugins/discord/src/index.js +141 -31
  42. package/dist/plugins/discourse/src/index.js +136 -31
  43. package/dist/plugins/disqus/src/index.js +96 -20
  44. package/dist/plugins/docker/src/index.js +20 -4
  45. package/dist/plugins/drift/src/index.js +19 -5
  46. package/dist/plugins/dropbox/src/index.js +139 -30
  47. package/dist/plugins/dropcontact/src/index.js +21 -4
  48. package/dist/plugins/egoi/src/index.js +61 -15
  49. package/dist/plugins/elasticsearch/src/index.js +59 -13
  50. package/dist/plugins/emelia/src/index.js +95 -19
  51. package/dist/plugins/erpnext/src/index.js +74 -15
  52. package/dist/plugins/facebookGraph/src/index.js +52 -11
  53. package/dist/plugins/freshdesk/src/index.js +220 -48
  54. package/dist/plugins/freshservice/src/index.js +39 -9
  55. package/dist/plugins/freshworksCrm/src/index.js +58 -12
  56. package/dist/plugins/getresponse/src/index.js +87 -18
  57. package/dist/plugins/ghost/src/index.js +114 -26
  58. package/dist/plugins/github/src/index.js +483 -109
  59. package/dist/plugins/gitlab/src/index.js +193 -45
  60. package/dist/plugins/gong/src/index.js +68 -14
  61. package/dist/plugins/gotify/src/index.js +43 -9
  62. package/dist/plugins/gotowebinar/src/index.js +233 -47
  63. package/dist/plugins/grafana/src/index.js +92 -21
  64. package/dist/plugins/graphql/src/index.js +38 -8
  65. package/dist/plugins/grist/src/index.js +52 -10
  66. package/dist/plugins/hackernews/src/index.js +32 -6
  67. package/dist/plugins/halopsa/src/index.js +131 -26
  68. package/dist/plugins/harvest/src/index.js +182 -42
  69. package/dist/plugins/helpscout/src/index.js +153 -31
  70. package/dist/plugins/highlevel/src/index.js +291 -58
  71. package/dist/plugins/homeAssistant/src/index.js +124 -26
  72. package/dist/plugins/hubspot/src/index.js +163 -29
  73. package/dist/plugins/humanticAi/src/index.js +54 -5
  74. package/dist/plugins/hunter/src/index.js +21 -4
  75. package/dist/plugins/intercom/src/index.js +95 -20
  76. package/dist/plugins/iterable/src/index.js +96 -20
  77. package/dist/plugins/jenkins/src/index.js +75 -17
  78. package/dist/plugins/jira/src/index.js +193 -43
  79. package/dist/plugins/keap/src/index.js +222 -56
  80. package/dist/plugins/kobotoolbox/src/index.js +113 -25
  81. package/dist/plugins/lemlist/src/index.js +79 -18
  82. package/dist/plugins/linear/src/index.js +86 -19
  83. package/dist/plugins/lingvanex/src/index.js +38 -8
  84. package/dist/plugins/linkedin/src/index.js +37 -8
  85. package/dist/plugins/lonescale/src/index.js +41 -9
  86. package/dist/plugins/magento/src/index.js +98 -27
  87. package/dist/plugins/mailcheck/src/index.js +11 -2
  88. package/dist/plugins/mailchimp/src/index.js +193 -42
  89. package/dist/plugins/mailerlite/src/index.js +61 -12
  90. package/dist/plugins/mailgun/src/index.js +39 -7
  91. package/dist/plugins/mailjet/src/index.js +141 -30
  92. package/dist/plugins/mandrill/src/index.js +67 -14
  93. package/dist/plugins/marketstack/src/index.js +56 -10
  94. package/dist/plugins/matrix/src/index.js +97 -20
  95. package/dist/plugins/mattermost/src/index.js +124 -26
  96. package/dist/plugins/mautic/src/index.js +129 -26
  97. package/dist/plugins/medium/src/index.js +64 -13
  98. package/dist/plugins/messagebird/src/index.js +80 -15
  99. package/dist/plugins/metabase/src/index.js +57 -12
  100. package/dist/plugins/misp/src/index.js +135 -33
  101. package/dist/plugins/mocean/src/index.js +33 -7
  102. package/dist/plugins/monday/src/index.js +97 -23
  103. package/dist/plugins/monicaCrm/src/index.js +112 -23
  104. package/dist/plugins/msg91/src/index.js +11 -2
  105. package/dist/plugins/nasa/src/index.js +108 -21
  106. package/dist/plugins/netlify/src/index.js +28 -6
  107. package/dist/plugins/netscalerAdc/src/index.js +144 -29
  108. package/dist/plugins/nextcloud/src/index.js +103 -20
  109. package/dist/plugins/nocodb/src/index.js +57 -11
  110. package/dist/plugins/notion/src/index.js +148 -37
  111. package/dist/plugins/npm/src/index.js +59 -12
  112. package/dist/plugins/odoo/src/index.js +102 -20
  113. package/dist/plugins/okta/src/index.js +50 -10
  114. package/dist/plugins/oneSimpleApi/src/index.js +84 -17
  115. package/dist/plugins/onfleet/src/index.js +139 -32
  116. package/dist/plugins/openThesaurus/src/index.js +46 -9
  117. package/dist/plugins/openweathermap/src/index.js +31 -6
  118. package/dist/plugins/oura/src/index.js +36 -7
  119. package/dist/plugins/paddle/src/index.js +80 -17
  120. package/dist/plugins/pagerduty/src/index.js +53 -12
  121. package/dist/plugins/paypal/src/index.js +51 -11
  122. package/dist/plugins/peekalink/src/index.js +12 -3
  123. package/dist/plugins/phantombuster/src/index.js +39 -8
  124. package/dist/plugins/philipsHue/src/index.js +64 -13
  125. package/dist/plugins/pipedrive/src/index.js +167 -45
  126. package/dist/plugins/plivo/src/index.js +43 -8
  127. package/dist/plugins/postbin/src/index.js +9 -2
  128. package/dist/plugins/posthog/src/index.js +50 -13
  129. package/dist/plugins/profitwell/src/index.js +24 -5
  130. package/dist/plugins/pushbullet/src/index.js +45 -9
  131. package/dist/plugins/pushcut/src/index.js +31 -6
  132. package/dist/plugins/pushover/src/index.js +51 -10
  133. package/dist/plugins/quickbase/src/index.js +66 -13
  134. package/dist/plugins/quickbooks/src/index.js +86 -19
  135. package/dist/plugins/quickchart/src/index.js +35 -7
  136. package/dist/plugins/raindrop/src/index.js +54 -13
  137. package/dist/plugins/reddit/src/index.js +73 -18
  138. package/dist/plugins/rocketchat/src/index.js +47 -9
  139. package/dist/plugins/rundeck/src/index.js +26 -5
  140. package/dist/plugins/salesforce/src/index.js +161 -31
  141. package/dist/plugins/salesmate/src/index.js +75 -16
  142. package/dist/plugins/securityScorecard/src/index.js +73 -15
  143. package/dist/plugins/segment/src/index.js +21 -4
  144. package/dist/plugins/sendgrid/src/index.js +102 -24
  145. package/dist/plugins/sendy/src/index.js +54 -11
  146. package/dist/plugins/sentry/src/index.js +174 -34
  147. package/dist/plugins/servicenow/src/index.js +120 -27
  148. package/dist/plugins/shopify/src/index.js +53 -12
  149. package/dist/plugins/signl4/src/index.js +16 -3
  150. package/dist/plugins/slack/src/index.js +407 -105
  151. package/dist/plugins/sms77/src/index.js +26 -5
  152. package/dist/plugins/splunk/src/index.js +186 -45
  153. package/dist/plugins/spotify/src/index.js +265 -66
  154. package/dist/plugins/stackby/src/index.js +18 -6
  155. package/dist/plugins/storyblok/src/index.js +57 -11
  156. package/dist/plugins/strapi/src/index.js +63 -12
  157. package/dist/plugins/strava/src/index.js +58 -13
  158. package/dist/plugins/stripe/src/index.js +143 -30
  159. package/dist/plugins/supabase/src/index.js +49 -10
  160. package/dist/plugins/syncromsp/src/index.js +245 -67
  161. package/dist/plugins/tapfiliate/src/index.js +57 -14
  162. package/dist/plugins/telegram/src/index.js +202 -39
  163. package/dist/plugins/thehive/src/index.js +271 -66
  164. package/dist/plugins/thehiveProject/src/index.js +457 -89
  165. package/dist/plugins/todoist/src/index.js +326 -77
  166. package/dist/plugins/travisci/src/index.js +35 -8
  167. package/dist/plugins/trello/src/index.js +204 -46
  168. package/dist/plugins/twake/src/index.js +10 -2
  169. package/dist/plugins/twilio/src/index.js +56 -11
  170. package/dist/plugins/twist/src/index.js +241 -48
  171. package/dist/plugins/twitter/src/index.js +128 -30
  172. package/dist/plugins/unleashedSoftware/src/index.js +30 -6
  173. package/dist/plugins/uplead/src/index.js +9 -2
  174. package/dist/plugins/uproc/src/index.js +31 -6
  175. package/dist/plugins/uptimerobot/src/index.js +119 -25
  176. package/dist/plugins/urlscanio/src/index.js +25 -6
  177. package/dist/plugins/vero/src/index.js +68 -13
  178. package/dist/plugins/vonage/src/index.js +32 -6
  179. package/dist/plugins/wekan/src/index.js +297 -52
  180. package/dist/plugins/woocommerce/src/index.js +57 -12
  181. package/dist/plugins/wordpress/src/index.js +94 -18
  182. package/dist/plugins/xero/src/index.js +79 -13
  183. package/dist/plugins/yourls/src/index.js +33 -6
  184. package/dist/plugins/zammad/src/index.js +139 -36
  185. package/dist/plugins/zendesk/src/index.js +201 -48
  186. package/dist/plugins/zoho/src/index.js +88 -21
  187. package/dist/plugins/zoom/src/index.js +41 -7
  188. package/dist/plugins/zulip/src/index.js +101 -20
  189. package/package.json +1 -1
@@ -70,8 +70,16 @@ export default function adalo(rl) {
70
70
  rl.registerAction("collection.create", {
71
71
  description: "Create a row in a collection",
72
72
  inputSchema: {
73
- collectionId: { type: "string", required: true, description: "Collection ID" },
74
- fields: { type: "object", required: true, description: "Field values as key-value pairs" },
73
+ collectionId: {
74
+ type: "string",
75
+ required: true,
76
+ description: "Collection ID",
77
+ },
78
+ fields: {
79
+ type: "object",
80
+ required: true,
81
+ description: "Field values as key-value pairs",
82
+ },
75
83
  },
76
84
  async execute(input, ctx) {
77
85
  const { collectionId, fields } = input;
@@ -82,7 +90,11 @@ export default function adalo(rl) {
82
90
  rl.registerAction("collection.get", {
83
91
  description: "Get a row from a collection",
84
92
  inputSchema: {
85
- collectionId: { type: "string", required: true, description: "Collection ID" },
93
+ collectionId: {
94
+ type: "string",
95
+ required: true,
96
+ description: "Collection ID",
97
+ },
86
98
  rowId: { type: "string", required: true, description: "Row ID" },
87
99
  },
88
100
  async execute(input, ctx) {
@@ -94,8 +106,16 @@ export default function adalo(rl) {
94
106
  rl.registerAction("collection.list", {
95
107
  description: "List rows from a collection",
96
108
  inputSchema: {
97
- collectionId: { type: "string", required: true, description: "Collection ID" },
98
- limit: { type: "number", required: false, description: "Max results to return" },
109
+ collectionId: {
110
+ type: "string",
111
+ required: true,
112
+ description: "Collection ID",
113
+ },
114
+ limit: {
115
+ type: "number",
116
+ required: false,
117
+ description: "Max results to return",
118
+ },
99
119
  },
100
120
  async execute(input, ctx) {
101
121
  const { collectionId, limit } = input;
@@ -106,9 +126,17 @@ export default function adalo(rl) {
106
126
  rl.registerAction("collection.update", {
107
127
  description: "Update a row in a collection",
108
128
  inputSchema: {
109
- collectionId: { type: "string", required: true, description: "Collection ID" },
129
+ collectionId: {
130
+ type: "string",
131
+ required: true,
132
+ description: "Collection ID",
133
+ },
110
134
  rowId: { type: "string", required: true, description: "Row ID" },
111
- fields: { type: "object", required: true, description: "Field values to update" },
135
+ fields: {
136
+ type: "object",
137
+ required: true,
138
+ description: "Field values to update",
139
+ },
112
140
  },
113
141
  async execute(input, ctx) {
114
142
  const { collectionId, rowId, fields } = input;
@@ -119,7 +147,11 @@ export default function adalo(rl) {
119
147
  rl.registerAction("collection.delete", {
120
148
  description: "Delete a row from a collection",
121
149
  inputSchema: {
122
- collectionId: { type: "string", required: true, description: "Collection ID" },
150
+ collectionId: {
151
+ type: "string",
152
+ required: true,
153
+ description: "Collection ID",
154
+ },
123
155
  rowId: { type: "string", required: true, description: "Row ID" },
124
156
  },
125
157
  async execute(input, ctx) {
@@ -72,7 +72,11 @@ export default function affinity(rl) {
72
72
  rl.registerAction("list.list", {
73
73
  description: "List all lists",
74
74
  inputSchema: {
75
- limit: { type: "number", required: false, description: "Max results to return" },
75
+ limit: {
76
+ type: "number",
77
+ required: false,
78
+ description: "Max results to return",
79
+ },
76
80
  },
77
81
  async execute(input, ctx) {
78
82
  const { limit } = input ?? {};
@@ -87,7 +91,11 @@ export default function affinity(rl) {
87
91
  description: "Create a new list entry",
88
92
  inputSchema: {
89
93
  listId: { type: "string", required: true, description: "List ID" },
90
- entityId: { type: "number", required: true, description: "Entity ID to add" },
94
+ entityId: {
95
+ type: "number",
96
+ required: true,
97
+ description: "Entity ID to add",
98
+ },
91
99
  },
92
100
  async execute(input, ctx) {
93
101
  const { listId, entityId, ...rest } = input;
@@ -101,7 +109,11 @@ export default function affinity(rl) {
101
109
  description: "Get a specific list entry",
102
110
  inputSchema: {
103
111
  listId: { type: "string", required: true, description: "List ID" },
104
- listEntryId: { type: "string", required: true, description: "List Entry ID" },
112
+ listEntryId: {
113
+ type: "string",
114
+ required: true,
115
+ description: "List Entry ID",
116
+ },
105
117
  },
106
118
  async execute(input, ctx) {
107
119
  const { listId, listEntryId } = input;
@@ -112,7 +124,11 @@ export default function affinity(rl) {
112
124
  description: "List all entries in a list",
113
125
  inputSchema: {
114
126
  listId: { type: "string", required: true, description: "List ID" },
115
- limit: { type: "number", required: false, description: "Max results to return" },
127
+ limit: {
128
+ type: "number",
129
+ required: false,
130
+ description: "Max results to return",
131
+ },
116
132
  },
117
133
  async execute(input, ctx) {
118
134
  const { listId, limit } = input;
@@ -123,7 +139,11 @@ export default function affinity(rl) {
123
139
  description: "Delete a list entry",
124
140
  inputSchema: {
125
141
  listId: { type: "string", required: true, description: "List ID" },
126
- listEntryId: { type: "string", required: true, description: "List Entry ID" },
142
+ listEntryId: {
143
+ type: "string",
144
+ required: true,
145
+ description: "List Entry ID",
146
+ },
127
147
  },
128
148
  async execute(input, ctx) {
129
149
  const { listId, listEntryId } = input;
@@ -136,8 +156,16 @@ export default function affinity(rl) {
136
156
  inputSchema: {
137
157
  firstName: { type: "string", required: true, description: "First name" },
138
158
  lastName: { type: "string", required: true, description: "Last name" },
139
- emails: { type: "array", required: true, description: "Array of email addresses" },
140
- organizationIds: { type: "array", required: false, description: "Array of organization IDs" },
159
+ emails: {
160
+ type: "array",
161
+ required: true,
162
+ description: "Array of email addresses",
163
+ },
164
+ organizationIds: {
165
+ type: "array",
166
+ required: false,
167
+ description: "Array of organization IDs",
168
+ },
141
169
  },
142
170
  async execute(input, ctx) {
143
171
  const { firstName, lastName, emails, organizationIds } = input;
@@ -165,7 +193,11 @@ export default function affinity(rl) {
165
193
  description: "Search/list persons",
166
194
  inputSchema: {
167
195
  term: { type: "string", required: false, description: "Search term" },
168
- limit: { type: "number", required: false, description: "Max results to return" },
196
+ limit: {
197
+ type: "number",
198
+ required: false,
199
+ description: "Max results to return",
200
+ },
169
201
  },
170
202
  async execute(input, ctx) {
171
203
  const { term, limit } = input ?? {};
@@ -179,10 +211,18 @@ export default function affinity(rl) {
179
211
  description: "Update a person",
180
212
  inputSchema: {
181
213
  personId: { type: "string", required: true, description: "Person ID" },
182
- emails: { type: "array", required: true, description: "Array of email addresses" },
214
+ emails: {
215
+ type: "array",
216
+ required: true,
217
+ description: "Array of email addresses",
218
+ },
183
219
  firstName: { type: "string", required: false, description: "First name" },
184
220
  lastName: { type: "string", required: false, description: "Last name" },
185
- organizationIds: { type: "array", required: false, description: "Array of organization IDs" },
221
+ organizationIds: {
222
+ type: "array",
223
+ required: false,
224
+ description: "Array of organization IDs",
225
+ },
186
226
  },
187
227
  async execute(input, ctx) {
188
228
  const { personId, firstName, lastName, emails, organizationIds } = input;
@@ -210,9 +250,21 @@ export default function affinity(rl) {
210
250
  rl.registerAction("organization.create", {
211
251
  description: "Create a new organization",
212
252
  inputSchema: {
213
- name: { type: "string", required: true, description: "Organization name" },
214
- domain: { type: "string", required: true, description: "Organization domain" },
215
- personIds: { type: "array", required: false, description: "Array of person IDs" },
253
+ name: {
254
+ type: "string",
255
+ required: true,
256
+ description: "Organization name",
257
+ },
258
+ domain: {
259
+ type: "string",
260
+ required: true,
261
+ description: "Organization domain",
262
+ },
263
+ personIds: {
264
+ type: "array",
265
+ required: false,
266
+ description: "Array of person IDs",
267
+ },
216
268
  },
217
269
  async execute(input, ctx) {
218
270
  const { name, domain, personIds } = input;
@@ -225,7 +277,11 @@ export default function affinity(rl) {
225
277
  rl.registerAction("organization.get", {
226
278
  description: "Get a specific organization",
227
279
  inputSchema: {
228
- organizationId: { type: "string", required: true, description: "Organization ID" },
280
+ organizationId: {
281
+ type: "string",
282
+ required: true,
283
+ description: "Organization ID",
284
+ },
229
285
  },
230
286
  async execute(input, ctx) {
231
287
  const { organizationId } = input;
@@ -236,7 +292,11 @@ export default function affinity(rl) {
236
292
  description: "Search/list organizations",
237
293
  inputSchema: {
238
294
  term: { type: "string", required: false, description: "Search term" },
239
- limit: { type: "number", required: false, description: "Max results to return" },
295
+ limit: {
296
+ type: "number",
297
+ required: false,
298
+ description: "Max results to return",
299
+ },
240
300
  },
241
301
  async execute(input, ctx) {
242
302
  const { term, limit } = input ?? {};
@@ -249,10 +309,26 @@ export default function affinity(rl) {
249
309
  rl.registerAction("organization.update", {
250
310
  description: "Update an organization",
251
311
  inputSchema: {
252
- organizationId: { type: "string", required: true, description: "Organization ID" },
253
- name: { type: "string", required: false, description: "Organization name" },
254
- domain: { type: "string", required: false, description: "Organization domain" },
255
- personIds: { type: "array", required: false, description: "Array of person IDs" },
312
+ organizationId: {
313
+ type: "string",
314
+ required: true,
315
+ description: "Organization ID",
316
+ },
317
+ name: {
318
+ type: "string",
319
+ required: false,
320
+ description: "Organization name",
321
+ },
322
+ domain: {
323
+ type: "string",
324
+ required: false,
325
+ description: "Organization domain",
326
+ },
327
+ personIds: {
328
+ type: "array",
329
+ required: false,
330
+ description: "Array of person IDs",
331
+ },
256
332
  },
257
333
  async execute(input, ctx) {
258
334
  const { organizationId, name, domain, personIds } = input;
@@ -269,7 +345,11 @@ export default function affinity(rl) {
269
345
  rl.registerAction("organization.delete", {
270
346
  description: "Delete an organization",
271
347
  inputSchema: {
272
- organizationId: { type: "string", required: true, description: "Organization ID" },
348
+ organizationId: {
349
+ type: "string",
350
+ required: true,
351
+ description: "Organization ID",
352
+ },
273
353
  },
274
354
  async execute(input, ctx) {
275
355
  const { organizationId } = input;
@@ -89,15 +89,27 @@ export default function agileCrm(rl) {
89
89
  company: { type: "string", required: false, description: "Company name" },
90
90
  title: { type: "string", required: false, description: "Job title" },
91
91
  phone: { type: "string", required: false, description: "Phone number" },
92
- tags: { type: "array", required: false, description: "Array of tag strings" },
93
- starValue: { type: "number", required: false, description: "Star rating (0-5)" },
92
+ tags: {
93
+ type: "array",
94
+ required: false,
95
+ description: "Array of tag strings",
96
+ },
97
+ starValue: {
98
+ type: "number",
99
+ required: false,
100
+ description: "Star rating (0-5)",
101
+ },
94
102
  },
95
103
  async execute(input, ctx) {
96
- const { firstName, lastName, email, company, title, phone, tags, starValue } = input;
104
+ const { firstName, lastName, email, company, title, phone, tags, starValue, } = input;
97
105
  const { subdomain, email: userEmail, apiKey } = getConn(ctx);
98
106
  const properties = [];
99
107
  if (firstName)
100
- properties.push({ type: "SYSTEM", name: "first_name", value: firstName });
108
+ properties.push({
109
+ type: "SYSTEM",
110
+ name: "first_name",
111
+ value: firstName,
112
+ });
101
113
  if (lastName)
102
114
  properties.push({ type: "SYSTEM", name: "last_name", value: lastName });
103
115
  if (email)
@@ -130,7 +142,11 @@ export default function agileCrm(rl) {
130
142
  rl.registerAction("contact.list", {
131
143
  description: "List/filter contacts",
132
144
  inputSchema: {
133
- limit: { type: "number", required: false, description: "Max results to return" },
145
+ limit: {
146
+ type: "number",
147
+ required: false,
148
+ description: "Max results to return",
149
+ },
134
150
  },
135
151
  async execute(input, ctx) {
136
152
  const { limit } = input ?? {};
@@ -150,17 +166,29 @@ export default function agileCrm(rl) {
150
166
  lastName: { type: "string", required: false, description: "Last name" },
151
167
  email: { type: "string", required: false, description: "Email address" },
152
168
  company: { type: "string", required: false, description: "Company name" },
153
- tags: { type: "array", required: false, description: "Array of tag strings" },
154
- starValue: { type: "number", required: false, description: "Star rating (0-5)" },
169
+ tags: {
170
+ type: "array",
171
+ required: false,
172
+ description: "Array of tag strings",
173
+ },
174
+ starValue: {
175
+ type: "number",
176
+ required: false,
177
+ description: "Star rating (0-5)",
178
+ },
155
179
  leadScore: { type: "number", required: false, description: "Lead score" },
156
180
  },
157
181
  async execute(input, ctx) {
158
- const { contactId, firstName, lastName, email: contactEmail, company, tags, starValue, leadScore } = input;
182
+ const { contactId, firstName, lastName, email: contactEmail, company, tags, starValue, leadScore, } = input;
159
183
  const { subdomain, email, apiKey } = getConn(ctx);
160
184
  const baseUri = `https://${subdomain}.agilecrm.com/dev/`;
161
185
  const properties = [];
162
186
  if (firstName)
163
- properties.push({ type: "SYSTEM", name: "first_name", value: firstName });
187
+ properties.push({
188
+ type: "SYSTEM",
189
+ name: "first_name",
190
+ value: firstName,
191
+ });
164
192
  if (lastName)
165
193
  properties.push({ type: "SYSTEM", name: "last_name", value: lastName });
166
194
  if (contactEmail)
@@ -169,7 +197,11 @@ export default function agileCrm(rl) {
169
197
  properties.push({ type: "SYSTEM", name: "company", value: company });
170
198
  let result;
171
199
  const auth = `Basic ${btoa(`${email}:${apiKey}`)}`;
172
- const headers = { Accept: "application/json", "Content-Type": "application/json", Authorization: auth };
200
+ const headers = {
201
+ Accept: "application/json",
202
+ "Content-Type": "application/json",
203
+ Authorization: auth,
204
+ };
173
205
  if (properties.length > 0) {
174
206
  const res = await fetch(`${baseUri}api/contacts/edit-properties`, {
175
207
  method: "PUT",
@@ -223,10 +255,14 @@ export default function agileCrm(rl) {
223
255
  name: { type: "string", required: true, description: "Company name" },
224
256
  email: { type: "string", required: false, description: "Company email" },
225
257
  phone: { type: "string", required: false, description: "Phone number" },
226
- tags: { type: "array", required: false, description: "Array of tag strings" },
258
+ tags: {
259
+ type: "array",
260
+ required: false,
261
+ description: "Array of tag strings",
262
+ },
227
263
  },
228
264
  async execute(input, ctx) {
229
- const { name, email: companyEmail, phone, tags } = input;
265
+ const { name, email: companyEmail, phone, tags, } = input;
230
266
  const { subdomain, email, apiKey } = getConn(ctx);
231
267
  const properties = [];
232
268
  if (name)
@@ -255,7 +291,11 @@ export default function agileCrm(rl) {
255
291
  rl.registerAction("company.list", {
256
292
  description: "List/filter companies",
257
293
  inputSchema: {
258
- limit: { type: "number", required: false, description: "Max results to return" },
294
+ limit: {
295
+ type: "number",
296
+ required: false,
297
+ description: "Max results to return",
298
+ },
259
299
  },
260
300
  async execute(input, ctx) {
261
301
  const { limit } = input ?? {};
@@ -274,11 +314,19 @@ export default function agileCrm(rl) {
274
314
  name: { type: "string", required: false, description: "Company name" },
275
315
  email: { type: "string", required: false, description: "Company email" },
276
316
  phone: { type: "string", required: false, description: "Phone number" },
277
- tags: { type: "array", required: false, description: "Array of tag strings" },
278
- starValue: { type: "number", required: false, description: "Star rating (0-5)" },
317
+ tags: {
318
+ type: "array",
319
+ required: false,
320
+ description: "Array of tag strings",
321
+ },
322
+ starValue: {
323
+ type: "number",
324
+ required: false,
325
+ description: "Star rating (0-5)",
326
+ },
279
327
  },
280
328
  async execute(input, ctx) {
281
- const { companyId, name, email: companyEmail, phone, tags, starValue } = input;
329
+ const { companyId, name, email: companyEmail, phone, tags, starValue, } = input;
282
330
  const { subdomain, email, apiKey } = getConn(ctx);
283
331
  const baseUri = `https://${subdomain}.agilecrm.com/dev/`;
284
332
  const properties = [];
@@ -290,7 +338,11 @@ export default function agileCrm(rl) {
290
338
  properties.push({ type: "SYSTEM", name: "phone", value: phone });
291
339
  let result;
292
340
  const auth = `Basic ${btoa(`${email}:${apiKey}`)}`;
293
- const headers = { Accept: "application/json", "Content-Type": "application/json", Authorization: auth };
341
+ const headers = {
342
+ Accept: "application/json",
343
+ "Content-Type": "application/json",
344
+ Authorization: auth,
345
+ };
294
346
  if (properties.length > 0) {
295
347
  const res = await fetch(`${baseUri}api/contacts/edit-properties`, {
296
348
  method: "PUT",
@@ -334,14 +386,34 @@ export default function agileCrm(rl) {
334
386
  description: "Create a new deal",
335
387
  inputSchema: {
336
388
  name: { type: "string", required: true, description: "Deal name" },
337
- expectedValue: { type: "number", required: true, description: "Expected value" },
338
- probability: { type: "number", required: true, description: "Probability (0-100)" },
339
- milestone: { type: "string", required: true, description: "Milestone/stage name" },
340
- closeDate: { type: "string", required: true, description: "Close date (ISO string)" },
341
- contactIds: { type: "array", required: false, description: "Array of contact IDs" },
389
+ expectedValue: {
390
+ type: "number",
391
+ required: true,
392
+ description: "Expected value",
393
+ },
394
+ probability: {
395
+ type: "number",
396
+ required: true,
397
+ description: "Probability (0-100)",
398
+ },
399
+ milestone: {
400
+ type: "string",
401
+ required: true,
402
+ description: "Milestone/stage name",
403
+ },
404
+ closeDate: {
405
+ type: "string",
406
+ required: true,
407
+ description: "Close date (ISO string)",
408
+ },
409
+ contactIds: {
410
+ type: "array",
411
+ required: false,
412
+ description: "Array of contact IDs",
413
+ },
342
414
  },
343
415
  async execute(input, ctx) {
344
- const { name, expectedValue, probability, milestone, closeDate, contactIds } = input;
416
+ const { name, expectedValue, probability, milestone, closeDate, contactIds, } = input;
345
417
  const { subdomain, email, apiKey } = getConn(ctx);
346
418
  const body = {
347
419
  name,
@@ -369,7 +441,11 @@ export default function agileCrm(rl) {
369
441
  rl.registerAction("deal.list", {
370
442
  description: "List all deals",
371
443
  inputSchema: {
372
- limit: { type: "number", required: false, description: "Max results to return" },
444
+ limit: {
445
+ type: "number",
446
+ required: false,
447
+ description: "Max results to return",
448
+ },
373
449
  },
374
450
  async execute(input, ctx) {
375
451
  const { limit } = input ?? {};
@@ -382,9 +458,21 @@ export default function agileCrm(rl) {
382
458
  inputSchema: {
383
459
  dealId: { type: "string", required: true, description: "Deal ID" },
384
460
  name: { type: "string", required: false, description: "Deal name" },
385
- expectedValue: { type: "number", required: false, description: "Expected value" },
386
- probability: { type: "number", required: false, description: "Probability (0-100)" },
387
- contactIds: { type: "array", required: false, description: "Array of contact IDs" },
461
+ expectedValue: {
462
+ type: "number",
463
+ required: false,
464
+ description: "Expected value",
465
+ },
466
+ probability: {
467
+ type: "number",
468
+ required: false,
469
+ description: "Probability (0-100)",
470
+ },
471
+ contactIds: {
472
+ type: "array",
473
+ required: false,
474
+ description: "Array of contact IDs",
475
+ },
388
476
  },
389
477
  async execute(input, ctx) {
390
478
  const { dealId, name, expectedValue, probability, contactIds } = input;