@rapidmx/crm-plugin 0.1.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 (888) hide show
  1. package/LICENSE +382 -0
  2. package/README.md +210 -0
  3. package/apps/admin-crm/_layout.tsx +46 -0
  4. package/apps/admin-crm/index.tsx +16 -0
  5. package/apps/crm/_layout.tsx +46 -0
  6. package/apps/crm/automations/[uid].tsx +16 -0
  7. package/apps/crm/automations/index.tsx +16 -0
  8. package/apps/crm/campaigns/[uid].tsx +16 -0
  9. package/apps/crm/campaigns/index.tsx +16 -0
  10. package/apps/crm/companies/[uid].tsx +16 -0
  11. package/apps/crm/companies/index.tsx +16 -0
  12. package/apps/crm/contacts/[uid].tsx +16 -0
  13. package/apps/crm/deals/[uid].tsx +16 -0
  14. package/apps/crm/deals/index.tsx +16 -0
  15. package/apps/crm/forms/index.tsx +16 -0
  16. package/apps/crm/imports/index.tsx +16 -0
  17. package/apps/crm/index.tsx +16 -0
  18. package/apps/crm/integrations/index.tsx +16 -0
  19. package/apps/crm/lists/index.tsx +16 -0
  20. package/apps/crm/pipelines/index.tsx +16 -0
  21. package/apps/crm/reports/index.tsx +16 -0
  22. package/apps/crm/scoring/index.tsx +16 -0
  23. package/apps/crm/segments/index.tsx +16 -0
  24. package/apps/crm/settings/index.tsx +16 -0
  25. package/apps/crm/tasks/index.tsx +16 -0
  26. package/apps/crm/templates/[uid].tsx +16 -0
  27. package/apps/crm/templates/index.tsx +16 -0
  28. package/apps/f/[formUid].tsx +11 -0
  29. package/apps/f/_layout.tsx +33 -0
  30. package/apps/f/index.tsx +15 -0
  31. package/apps/shared/components/CrmShell.tsx +229 -0
  32. package/apps/shared/components/FilterBuilder.tsx +204 -0
  33. package/apps/shared/components/FormManager.tsx +326 -0
  34. package/apps/shared/components/ImportWizard.tsx +251 -0
  35. package/apps/shared/components/Integrations.tsx +401 -0
  36. package/apps/shared/components/ListManager.tsx +206 -0
  37. package/apps/shared/components/RecordDetail.tsx +444 -0
  38. package/apps/shared/components/RecordList.tsx +446 -0
  39. package/apps/shared/components/ScoringRules.tsx +262 -0
  40. package/apps/shared/components/SegmentManager.tsx +245 -0
  41. package/apps/shared/components/TaskList.tsx +140 -0
  42. package/apps/shared/components/TemplateList.tsx +170 -0
  43. package/apps/shared/components/WorkspaceSettings.tsx +503 -0
  44. package/apps/shared/components/admin/CrmAdmin.tsx +129 -0
  45. package/apps/shared/components/automations/AutomationEditor.tsx +530 -0
  46. package/apps/shared/components/automations/AutomationList.tsx +147 -0
  47. package/apps/shared/components/automations/StepInspector.tsx +403 -0
  48. package/apps/shared/components/automations/flowModel.ts +331 -0
  49. package/apps/shared/components/campaigns/CampaignEditor.tsx +471 -0
  50. package/apps/shared/components/campaigns/CampaignList.tsx +164 -0
  51. package/apps/shared/components/campaigns/CampaignPage.tsx +30 -0
  52. package/apps/shared/components/campaigns/CampaignReport.tsx +345 -0
  53. package/apps/shared/components/campaigns/campaignUi.tsx +33 -0
  54. package/apps/shared/components/deals/ContactDeals.tsx +40 -0
  55. package/apps/shared/components/deals/DealBoard.tsx +287 -0
  56. package/apps/shared/components/deals/DealDetail.tsx +363 -0
  57. package/apps/shared/components/deals/PipelineManager.tsx +207 -0
  58. package/apps/shared/components/deals/dealUi.ts +24 -0
  59. package/apps/shared/components/designer/BlockView.tsx +92 -0
  60. package/apps/shared/components/designer/Canvas.tsx +206 -0
  61. package/apps/shared/components/designer/Inspector.tsx +339 -0
  62. package/apps/shared/components/designer/LazyTextBlockEditor.tsx +68 -0
  63. package/apps/shared/components/designer/MergeTagPicker.tsx +31 -0
  64. package/apps/shared/components/designer/PreviewModal.tsx +119 -0
  65. package/apps/shared/components/designer/TemplateDesigner.tsx +408 -0
  66. package/apps/shared/components/designer/TestSendModal.tsx +75 -0
  67. package/apps/shared/components/designer/TextBlockEditor.tsx +122 -0
  68. package/apps/shared/components/designer/designModel.ts +276 -0
  69. package/apps/shared/components/public/PublicPages.tsx +343 -0
  70. package/apps/shared/components/public/honeypot.ts +7 -0
  71. package/apps/shared/components/reports/Charts.tsx +315 -0
  72. package/apps/shared/components/reports/Reports.tsx +198 -0
  73. package/apps/shared/crmApi.ts +1046 -0
  74. package/apps/shared/fields.ts +175 -0
  75. package/apps/shared/publicApi.ts +50 -0
  76. package/apps/subscriptions/[token].tsx +11 -0
  77. package/apps/subscriptions/_layout.tsx +33 -0
  78. package/apps/subscriptions/confirm/[token].tsx +11 -0
  79. package/apps/subscriptions/index.tsx +11 -0
  80. package/apps/subscriptions/unsubscribe/[token].tsx +11 -0
  81. package/dist/apps/admin-crm/_layout.d.ts +15 -0
  82. package/dist/apps/admin-crm/_layout.js +8 -0
  83. package/dist/apps/admin-crm/index.d.ts +4 -0
  84. package/dist/apps/admin-crm/index.js +7 -0
  85. package/dist/apps/crm/_layout.d.ts +15 -0
  86. package/dist/apps/crm/_layout.js +8 -0
  87. package/dist/apps/crm/automations/[uid].d.ts +8 -0
  88. package/dist/apps/crm/automations/[uid].js +7 -0
  89. package/dist/apps/crm/automations/index.d.ts +4 -0
  90. package/dist/apps/crm/automations/index.js +7 -0
  91. package/dist/apps/crm/campaigns/[uid].d.ts +8 -0
  92. package/dist/apps/crm/campaigns/[uid].js +7 -0
  93. package/dist/apps/crm/campaigns/index.d.ts +4 -0
  94. package/dist/apps/crm/campaigns/index.js +7 -0
  95. package/dist/apps/crm/companies/[uid].d.ts +8 -0
  96. package/dist/apps/crm/companies/[uid].js +7 -0
  97. package/dist/apps/crm/companies/index.d.ts +4 -0
  98. package/dist/apps/crm/companies/index.js +7 -0
  99. package/dist/apps/crm/contacts/[uid].d.ts +8 -0
  100. package/dist/apps/crm/contacts/[uid].js +7 -0
  101. package/dist/apps/crm/deals/[uid].d.ts +8 -0
  102. package/dist/apps/crm/deals/[uid].js +7 -0
  103. package/dist/apps/crm/deals/index.d.ts +4 -0
  104. package/dist/apps/crm/deals/index.js +7 -0
  105. package/dist/apps/crm/forms/index.d.ts +4 -0
  106. package/dist/apps/crm/forms/index.js +7 -0
  107. package/dist/apps/crm/imports/index.d.ts +4 -0
  108. package/dist/apps/crm/imports/index.js +7 -0
  109. package/dist/apps/crm/index.d.ts +4 -0
  110. package/dist/apps/crm/index.js +7 -0
  111. package/dist/apps/crm/integrations/index.d.ts +4 -0
  112. package/dist/apps/crm/integrations/index.js +7 -0
  113. package/dist/apps/crm/lists/index.d.ts +4 -0
  114. package/dist/apps/crm/lists/index.js +7 -0
  115. package/dist/apps/crm/pipelines/index.d.ts +4 -0
  116. package/dist/apps/crm/pipelines/index.js +7 -0
  117. package/dist/apps/crm/reports/index.d.ts +4 -0
  118. package/dist/apps/crm/reports/index.js +7 -0
  119. package/dist/apps/crm/scoring/index.d.ts +4 -0
  120. package/dist/apps/crm/scoring/index.js +7 -0
  121. package/dist/apps/crm/segments/index.d.ts +4 -0
  122. package/dist/apps/crm/segments/index.js +7 -0
  123. package/dist/apps/crm/settings/index.d.ts +4 -0
  124. package/dist/apps/crm/settings/index.js +7 -0
  125. package/dist/apps/crm/tasks/index.d.ts +4 -0
  126. package/dist/apps/crm/tasks/index.js +7 -0
  127. package/dist/apps/crm/templates/[uid].d.ts +8 -0
  128. package/dist/apps/crm/templates/[uid].js +7 -0
  129. package/dist/apps/crm/templates/index.d.ts +4 -0
  130. package/dist/apps/crm/templates/index.js +7 -0
  131. package/dist/apps/f/[formUid].d.ts +7 -0
  132. package/dist/apps/f/[formUid].js +6 -0
  133. package/dist/apps/f/_layout.d.ts +8 -0
  134. package/dist/apps/f/_layout.js +8 -0
  135. package/dist/apps/f/index.d.ts +3 -0
  136. package/dist/apps/f/index.js +6 -0
  137. package/dist/apps/shared/components/CrmShell.d.ts +39 -0
  138. package/dist/apps/shared/components/CrmShell.js +127 -0
  139. package/dist/apps/shared/components/FilterBuilder.d.ts +34 -0
  140. package/dist/apps/shared/components/FilterBuilder.js +101 -0
  141. package/dist/apps/shared/components/FormManager.d.ts +7 -0
  142. package/dist/apps/shared/components/FormManager.js +132 -0
  143. package/dist/apps/shared/components/ImportWizard.d.ts +8 -0
  144. package/dist/apps/shared/components/ImportWizard.js +105 -0
  145. package/dist/apps/shared/components/Integrations.d.ts +13 -0
  146. package/dist/apps/shared/components/Integrations.js +164 -0
  147. package/dist/apps/shared/components/ListManager.d.ts +6 -0
  148. package/dist/apps/shared/components/ListManager.js +95 -0
  149. package/dist/apps/shared/components/RecordDetail.d.ts +30 -0
  150. package/dist/apps/shared/components/RecordDetail.js +244 -0
  151. package/dist/apps/shared/components/RecordList.d.ts +13 -0
  152. package/dist/apps/shared/components/RecordList.js +214 -0
  153. package/dist/apps/shared/components/ScoringRules.d.ts +13 -0
  154. package/dist/apps/shared/components/ScoringRules.js +128 -0
  155. package/dist/apps/shared/components/SegmentManager.d.ts +10 -0
  156. package/dist/apps/shared/components/SegmentManager.js +119 -0
  157. package/dist/apps/shared/components/TaskList.d.ts +3 -0
  158. package/dist/apps/shared/components/TaskList.js +62 -0
  159. package/dist/apps/shared/components/TemplateList.d.ts +3 -0
  160. package/dist/apps/shared/components/TemplateList.js +81 -0
  161. package/dist/apps/shared/components/WorkspaceSettings.d.ts +6 -0
  162. package/dist/apps/shared/components/WorkspaceSettings.js +239 -0
  163. package/dist/apps/shared/components/admin/CrmAdmin.d.ts +9 -0
  164. package/dist/apps/shared/components/admin/CrmAdmin.js +56 -0
  165. package/dist/apps/shared/components/automations/AutomationEditor.d.ts +15 -0
  166. package/dist/apps/shared/components/automations/AutomationEditor.js +219 -0
  167. package/dist/apps/shared/components/automations/AutomationList.d.ts +3 -0
  168. package/dist/apps/shared/components/automations/AutomationList.js +65 -0
  169. package/dist/apps/shared/components/automations/StepInspector.d.ts +40 -0
  170. package/dist/apps/shared/components/automations/StepInspector.js +177 -0
  171. package/dist/apps/shared/components/automations/flowModel.d.ts +67 -0
  172. package/dist/apps/shared/components/automations/flowModel.js +292 -0
  173. package/dist/apps/shared/components/campaigns/CampaignEditor.d.ts +11 -0
  174. package/dist/apps/shared/components/campaigns/CampaignEditor.js +163 -0
  175. package/dist/apps/shared/components/campaigns/CampaignList.d.ts +3 -0
  176. package/dist/apps/shared/components/campaigns/CampaignList.js +80 -0
  177. package/dist/apps/shared/components/campaigns/CampaignPage.d.ts +5 -0
  178. package/dist/apps/shared/components/campaigns/CampaignPage.js +24 -0
  179. package/dist/apps/shared/components/campaigns/CampaignReport.d.ts +13 -0
  180. package/dist/apps/shared/components/campaigns/CampaignReport.js +119 -0
  181. package/dist/apps/shared/components/campaigns/campaignUi.d.ts +10 -0
  182. package/dist/apps/shared/components/campaigns/campaignUi.js +24 -0
  183. package/dist/apps/shared/components/deals/ContactDeals.d.ts +5 -0
  184. package/dist/apps/shared/components/deals/ContactDeals.js +18 -0
  185. package/dist/apps/shared/components/deals/DealBoard.d.ts +7 -0
  186. package/dist/apps/shared/components/deals/DealBoard.js +134 -0
  187. package/dist/apps/shared/components/deals/DealDetail.d.ts +8 -0
  188. package/dist/apps/shared/components/deals/DealDetail.js +148 -0
  189. package/dist/apps/shared/components/deals/PipelineManager.d.ts +7 -0
  190. package/dist/apps/shared/components/deals/PipelineManager.js +62 -0
  191. package/dist/apps/shared/components/deals/dealUi.d.ts +7 -0
  192. package/dist/apps/shared/components/deals/dealUi.js +17 -0
  193. package/dist/apps/shared/components/designer/BlockView.d.ts +10 -0
  194. package/dist/apps/shared/components/designer/BlockView.js +37 -0
  195. package/dist/apps/shared/components/designer/Canvas.d.ts +31 -0
  196. package/dist/apps/shared/components/designer/Canvas.js +71 -0
  197. package/dist/apps/shared/components/designer/Inspector.d.ts +27 -0
  198. package/dist/apps/shared/components/designer/Inspector.js +102 -0
  199. package/dist/apps/shared/components/designer/LazyTextBlockEditor.d.ts +7 -0
  200. package/dist/apps/shared/components/designer/LazyTextBlockEditor.js +42 -0
  201. package/dist/apps/shared/components/designer/MergeTagPicker.d.ts +11 -0
  202. package/dist/apps/shared/components/designer/MergeTagPicker.js +15 -0
  203. package/dist/apps/shared/components/designer/PreviewModal.d.ts +15 -0
  204. package/dist/apps/shared/components/designer/PreviewModal.js +50 -0
  205. package/dist/apps/shared/components/designer/TemplateDesigner.d.ts +10 -0
  206. package/dist/apps/shared/components/designer/TemplateDesigner.js +194 -0
  207. package/dist/apps/shared/components/designer/TestSendModal.d.ts +11 -0
  208. package/dist/apps/shared/components/designer/TestSendModal.js +35 -0
  209. package/dist/apps/shared/components/designer/TextBlockEditor.d.ts +16 -0
  210. package/dist/apps/shared/components/designer/TextBlockEditor.js +81 -0
  211. package/dist/apps/shared/components/designer/designModel.d.ts +86 -0
  212. package/dist/apps/shared/components/designer/designModel.js +230 -0
  213. package/dist/apps/shared/components/public/PublicPages.d.ts +29 -0
  214. package/dist/apps/shared/components/public/PublicPages.js +155 -0
  215. package/dist/apps/shared/components/public/honeypot.d.ts +2 -0
  216. package/dist/apps/shared/components/public/honeypot.js +6 -0
  217. package/dist/apps/shared/components/reports/Charts.d.ts +32 -0
  218. package/dist/apps/shared/components/reports/Charts.js +121 -0
  219. package/dist/apps/shared/components/reports/Reports.d.ts +9 -0
  220. package/dist/apps/shared/components/reports/Reports.js +61 -0
  221. package/dist/apps/shared/crmApi.d.ts +909 -0
  222. package/dist/apps/shared/crmApi.js +240 -0
  223. package/dist/apps/shared/fields.d.ts +45 -0
  224. package/dist/apps/shared/fields.js +146 -0
  225. package/dist/apps/shared/publicApi.d.ts +48 -0
  226. package/dist/apps/shared/publicApi.js +17 -0
  227. package/dist/apps/subscriptions/[token].d.ts +7 -0
  228. package/dist/apps/subscriptions/[token].js +6 -0
  229. package/dist/apps/subscriptions/_layout.d.ts +8 -0
  230. package/dist/apps/subscriptions/_layout.js +8 -0
  231. package/dist/apps/subscriptions/confirm/[token].d.ts +7 -0
  232. package/dist/apps/subscriptions/confirm/[token].js +6 -0
  233. package/dist/apps/subscriptions/index.d.ts +3 -0
  234. package/dist/apps/subscriptions/index.js +6 -0
  235. package/dist/apps/subscriptions/unsubscribe/[token].d.ts +7 -0
  236. package/dist/apps/subscriptions/unsubscribe/[token].js +6 -0
  237. package/dist/lib/automation/Dates.js +85 -0
  238. package/dist/lib/automation/Dates.js.map +1 -0
  239. package/dist/lib/automation/Engine.js +384 -0
  240. package/dist/lib/automation/Engine.js.map +1 -0
  241. package/dist/lib/automation/Events.js +46 -0
  242. package/dist/lib/automation/Events.js.map +1 -0
  243. package/dist/lib/automation/Graph.js +296 -0
  244. package/dist/lib/automation/Graph.js.map +1 -0
  245. package/dist/lib/filters/Filter.js +343 -0
  246. package/dist/lib/filters/Filter.js.map +1 -0
  247. package/dist/lib/filters/fields.js +71 -0
  248. package/dist/lib/filters/fields.js.map +1 -0
  249. package/dist/lib/index.js +86 -0
  250. package/dist/lib/index.js.map +1 -0
  251. package/dist/lib/jobs/AutomationRunJob.js +110 -0
  252. package/dist/lib/jobs/AutomationRunJob.js.map +1 -0
  253. package/dist/lib/jobs/AutomationTriggerJob.js +126 -0
  254. package/dist/lib/jobs/AutomationTriggerJob.js.map +1 -0
  255. package/dist/lib/jobs/CampaignJob.js +285 -0
  256. package/dist/lib/jobs/CampaignJob.js.map +1 -0
  257. package/dist/lib/jobs/CrmImportJob.js +218 -0
  258. package/dist/lib/jobs/CrmImportJob.js.map +1 -0
  259. package/dist/lib/jobs/CrmJobBase.js +75 -0
  260. package/dist/lib/jobs/CrmJobBase.js.map +1 -0
  261. package/dist/lib/jobs/CrmMailEventJob.js +232 -0
  262. package/dist/lib/jobs/CrmMailEventJob.js.map +1 -0
  263. package/dist/lib/jobs/DateTriggerJob.js +155 -0
  264. package/dist/lib/jobs/DateTriggerJob.js.map +1 -0
  265. package/dist/lib/jobs/ScoringJob.js +75 -0
  266. package/dist/lib/jobs/ScoringJob.js.map +1 -0
  267. package/dist/lib/jobs/SegmentRefreshJob.js +84 -0
  268. package/dist/lib/jobs/SegmentRefreshJob.js.map +1 -0
  269. package/dist/lib/jobs/SendDispatchJob.js +277 -0
  270. package/dist/lib/jobs/SendDispatchJob.js.map +1 -0
  271. package/dist/lib/jobs/TaskReminderJob.js +70 -0
  272. package/dist/lib/jobs/TaskReminderJob.js.map +1 -0
  273. package/dist/lib/jobs/WebhookDeliveryJob.js +126 -0
  274. package/dist/lib/jobs/WebhookDeliveryJob.js.map +1 -0
  275. package/dist/lib/jobs/mongo/AutomationRunJobMongo.js +12 -0
  276. package/dist/lib/jobs/mongo/AutomationRunJobMongo.js.map +1 -0
  277. package/dist/lib/jobs/mongo/AutomationTriggerJobMongo.js +10 -0
  278. package/dist/lib/jobs/mongo/AutomationTriggerJobMongo.js.map +1 -0
  279. package/dist/lib/jobs/mongo/CampaignJobMongo.js +10 -0
  280. package/dist/lib/jobs/mongo/CampaignJobMongo.js.map +1 -0
  281. package/dist/lib/jobs/mongo/CrmImportJobMongo.js +14 -0
  282. package/dist/lib/jobs/mongo/CrmImportJobMongo.js.map +1 -0
  283. package/dist/lib/jobs/mongo/CrmMailEventJobMongo.js +10 -0
  284. package/dist/lib/jobs/mongo/CrmMailEventJobMongo.js.map +1 -0
  285. package/dist/lib/jobs/mongo/DateTriggerJobMongo.js +10 -0
  286. package/dist/lib/jobs/mongo/DateTriggerJobMongo.js.map +1 -0
  287. package/dist/lib/jobs/mongo/ScoringJobMongo.js +10 -0
  288. package/dist/lib/jobs/mongo/ScoringJobMongo.js.map +1 -0
  289. package/dist/lib/jobs/mongo/SegmentRefreshJobMongo.js +10 -0
  290. package/dist/lib/jobs/mongo/SegmentRefreshJobMongo.js.map +1 -0
  291. package/dist/lib/jobs/mongo/SendDispatchJobMongo.js +10 -0
  292. package/dist/lib/jobs/mongo/SendDispatchJobMongo.js.map +1 -0
  293. package/dist/lib/jobs/mongo/TaskReminderJobMongo.js +10 -0
  294. package/dist/lib/jobs/mongo/TaskReminderJobMongo.js.map +1 -0
  295. package/dist/lib/jobs/mongo/WebhookDeliveryJobMongo.js +10 -0
  296. package/dist/lib/jobs/mongo/WebhookDeliveryJobMongo.js.map +1 -0
  297. package/dist/lib/jobs/sql/AutomationRunJobSQL.js +12 -0
  298. package/dist/lib/jobs/sql/AutomationRunJobSQL.js.map +1 -0
  299. package/dist/lib/jobs/sql/AutomationTriggerJobSQL.js +10 -0
  300. package/dist/lib/jobs/sql/AutomationTriggerJobSQL.js.map +1 -0
  301. package/dist/lib/jobs/sql/CampaignJobSQL.js +10 -0
  302. package/dist/lib/jobs/sql/CampaignJobSQL.js.map +1 -0
  303. package/dist/lib/jobs/sql/CrmImportJobSQL.js +14 -0
  304. package/dist/lib/jobs/sql/CrmImportJobSQL.js.map +1 -0
  305. package/dist/lib/jobs/sql/CrmMailEventJobSQL.js +10 -0
  306. package/dist/lib/jobs/sql/CrmMailEventJobSQL.js.map +1 -0
  307. package/dist/lib/jobs/sql/DateTriggerJobSQL.js +10 -0
  308. package/dist/lib/jobs/sql/DateTriggerJobSQL.js.map +1 -0
  309. package/dist/lib/jobs/sql/ScoringJobSQL.js +10 -0
  310. package/dist/lib/jobs/sql/ScoringJobSQL.js.map +1 -0
  311. package/dist/lib/jobs/sql/SegmentRefreshJobSQL.js +10 -0
  312. package/dist/lib/jobs/sql/SegmentRefreshJobSQL.js.map +1 -0
  313. package/dist/lib/jobs/sql/SendDispatchJobSQL.js +10 -0
  314. package/dist/lib/jobs/sql/SendDispatchJobSQL.js.map +1 -0
  315. package/dist/lib/jobs/sql/TaskReminderJobSQL.js +10 -0
  316. package/dist/lib/jobs/sql/TaskReminderJobSQL.js.map +1 -0
  317. package/dist/lib/jobs/sql/WebhookDeliveryJobSQL.js +10 -0
  318. package/dist/lib/jobs/sql/WebhookDeliveryJobSQL.js.map +1 -0
  319. package/dist/lib/models/CrmModelClasses.js +44 -0
  320. package/dist/lib/models/CrmModelClasses.js.map +1 -0
  321. package/dist/lib/models/mongo/ApiKeyMongo.js +105 -0
  322. package/dist/lib/models/mongo/ApiKeyMongo.js.map +1 -0
  323. package/dist/lib/models/mongo/AutomationMongo.js +126 -0
  324. package/dist/lib/models/mongo/AutomationMongo.js.map +1 -0
  325. package/dist/lib/models/mongo/AutomationVersionMongo.js +82 -0
  326. package/dist/lib/models/mongo/AutomationVersionMongo.js.map +1 -0
  327. package/dist/lib/models/mongo/CampaignMongo.js +211 -0
  328. package/dist/lib/models/mongo/CampaignMongo.js.map +1 -0
  329. package/dist/lib/models/mongo/CrmCompanyMongo.js +126 -0
  330. package/dist/lib/models/mongo/CrmCompanyMongo.js.map +1 -0
  331. package/dist/lib/models/mongo/CrmContactMongo.js +156 -0
  332. package/dist/lib/models/mongo/CrmContactMongo.js.map +1 -0
  333. package/dist/lib/models/mongo/CrmEventMongo.js +92 -0
  334. package/dist/lib/models/mongo/CrmEventMongo.js.map +1 -0
  335. package/dist/lib/models/mongo/CrmFormMongo.js +139 -0
  336. package/dist/lib/models/mongo/CrmFormMongo.js.map +1 -0
  337. package/dist/lib/models/mongo/CrmImportMongo.js +190 -0
  338. package/dist/lib/models/mongo/CrmImportMongo.js.map +1 -0
  339. package/dist/lib/models/mongo/CrmNoteMongo.js +89 -0
  340. package/dist/lib/models/mongo/CrmNoteMongo.js.map +1 -0
  341. package/dist/lib/models/mongo/CrmSettingMongo.js +60 -0
  342. package/dist/lib/models/mongo/CrmSettingMongo.js.map +1 -0
  343. package/dist/lib/models/mongo/CrmTaskMongo.js +136 -0
  344. package/dist/lib/models/mongo/CrmTaskMongo.js.map +1 -0
  345. package/dist/lib/models/mongo/DealMongo.js +163 -0
  346. package/dist/lib/models/mongo/DealMongo.js.map +1 -0
  347. package/dist/lib/models/mongo/EmailTemplateMongo.js +90 -0
  348. package/dist/lib/models/mongo/EmailTemplateMongo.js.map +1 -0
  349. package/dist/lib/models/mongo/EngagementEventMongo.js +113 -0
  350. package/dist/lib/models/mongo/EngagementEventMongo.js.map +1 -0
  351. package/dist/lib/models/mongo/EnrollmentMongo.js +150 -0
  352. package/dist/lib/models/mongo/EnrollmentMongo.js.map +1 -0
  353. package/dist/lib/models/mongo/MailingListMongo.js +104 -0
  354. package/dist/lib/models/mongo/MailingListMongo.js.map +1 -0
  355. package/dist/lib/models/mongo/OutboundSendMongo.js +265 -0
  356. package/dist/lib/models/mongo/OutboundSendMongo.js.map +1 -0
  357. package/dist/lib/models/mongo/PipelineMongo.js +74 -0
  358. package/dist/lib/models/mongo/PipelineMongo.js.map +1 -0
  359. package/dist/lib/models/mongo/PropertyDefinitionMongo.js +105 -0
  360. package/dist/lib/models/mongo/PropertyDefinitionMongo.js.map +1 -0
  361. package/dist/lib/models/mongo/PropertyValueMongo.js +101 -0
  362. package/dist/lib/models/mongo/PropertyValueMongo.js.map +1 -0
  363. package/dist/lib/models/mongo/SavedBlockMongo.js +67 -0
  364. package/dist/lib/models/mongo/SavedBlockMongo.js.map +1 -0
  365. package/dist/lib/models/mongo/ScoringRuleMongo.js +112 -0
  366. package/dist/lib/models/mongo/ScoringRuleMongo.js.map +1 -0
  367. package/dist/lib/models/mongo/SegmentMongo.js +113 -0
  368. package/dist/lib/models/mongo/SegmentMongo.js.map +1 -0
  369. package/dist/lib/models/mongo/SubscriptionMongo.js +114 -0
  370. package/dist/lib/models/mongo/SubscriptionMongo.js.map +1 -0
  371. package/dist/lib/models/mongo/SuppressionMongo.js +77 -0
  372. package/dist/lib/models/mongo/SuppressionMongo.js.map +1 -0
  373. package/dist/lib/models/mongo/TimelineEventMongo.js +112 -0
  374. package/dist/lib/models/mongo/TimelineEventMongo.js.map +1 -0
  375. package/dist/lib/models/mongo/WebhookDeliveryMongo.js +128 -0
  376. package/dist/lib/models/mongo/WebhookDeliveryMongo.js.map +1 -0
  377. package/dist/lib/models/mongo/WebhookEndpointMongo.js +118 -0
  378. package/dist/lib/models/mongo/WebhookEndpointMongo.js.map +1 -0
  379. package/dist/lib/models/mongo/WorkspaceMemberMongo.js +92 -0
  380. package/dist/lib/models/mongo/WorkspaceMemberMongo.js.map +1 -0
  381. package/dist/lib/models/mongo/WorkspaceMongo.js +117 -0
  382. package/dist/lib/models/mongo/WorkspaceMongo.js.map +1 -0
  383. package/dist/lib/models/mongo/WorkspaceSenderMongo.js +100 -0
  384. package/dist/lib/models/mongo/WorkspaceSenderMongo.js.map +1 -0
  385. package/dist/lib/models/mongo/index.js +74 -0
  386. package/dist/lib/models/mongo/index.js.map +1 -0
  387. package/dist/lib/models/sql/ApiKeySQL.js +105 -0
  388. package/dist/lib/models/sql/ApiKeySQL.js.map +1 -0
  389. package/dist/lib/models/sql/AutomationSQL.js +126 -0
  390. package/dist/lib/models/sql/AutomationSQL.js.map +1 -0
  391. package/dist/lib/models/sql/AutomationVersionSQL.js +82 -0
  392. package/dist/lib/models/sql/AutomationVersionSQL.js.map +1 -0
  393. package/dist/lib/models/sql/CampaignSQL.js +211 -0
  394. package/dist/lib/models/sql/CampaignSQL.js.map +1 -0
  395. package/dist/lib/models/sql/CrmCompanySQL.js +126 -0
  396. package/dist/lib/models/sql/CrmCompanySQL.js.map +1 -0
  397. package/dist/lib/models/sql/CrmContactSQL.js +156 -0
  398. package/dist/lib/models/sql/CrmContactSQL.js.map +1 -0
  399. package/dist/lib/models/sql/CrmEventSQL.js +92 -0
  400. package/dist/lib/models/sql/CrmEventSQL.js.map +1 -0
  401. package/dist/lib/models/sql/CrmFormSQL.js +139 -0
  402. package/dist/lib/models/sql/CrmFormSQL.js.map +1 -0
  403. package/dist/lib/models/sql/CrmImportSQL.js +190 -0
  404. package/dist/lib/models/sql/CrmImportSQL.js.map +1 -0
  405. package/dist/lib/models/sql/CrmNoteSQL.js +89 -0
  406. package/dist/lib/models/sql/CrmNoteSQL.js.map +1 -0
  407. package/dist/lib/models/sql/CrmSettingSQL.js +60 -0
  408. package/dist/lib/models/sql/CrmSettingSQL.js.map +1 -0
  409. package/dist/lib/models/sql/CrmTaskSQL.js +136 -0
  410. package/dist/lib/models/sql/CrmTaskSQL.js.map +1 -0
  411. package/dist/lib/models/sql/DealSQL.js +163 -0
  412. package/dist/lib/models/sql/DealSQL.js.map +1 -0
  413. package/dist/lib/models/sql/EmailTemplateSQL.js +90 -0
  414. package/dist/lib/models/sql/EmailTemplateSQL.js.map +1 -0
  415. package/dist/lib/models/sql/EngagementEventSQL.js +113 -0
  416. package/dist/lib/models/sql/EngagementEventSQL.js.map +1 -0
  417. package/dist/lib/models/sql/EnrollmentSQL.js +150 -0
  418. package/dist/lib/models/sql/EnrollmentSQL.js.map +1 -0
  419. package/dist/lib/models/sql/MailingListSQL.js +104 -0
  420. package/dist/lib/models/sql/MailingListSQL.js.map +1 -0
  421. package/dist/lib/models/sql/OutboundSendSQL.js +265 -0
  422. package/dist/lib/models/sql/OutboundSendSQL.js.map +1 -0
  423. package/dist/lib/models/sql/PipelineSQL.js +74 -0
  424. package/dist/lib/models/sql/PipelineSQL.js.map +1 -0
  425. package/dist/lib/models/sql/PropertyDefinitionSQL.js +105 -0
  426. package/dist/lib/models/sql/PropertyDefinitionSQL.js.map +1 -0
  427. package/dist/lib/models/sql/PropertyValueSQL.js +101 -0
  428. package/dist/lib/models/sql/PropertyValueSQL.js.map +1 -0
  429. package/dist/lib/models/sql/SavedBlockSQL.js +67 -0
  430. package/dist/lib/models/sql/SavedBlockSQL.js.map +1 -0
  431. package/dist/lib/models/sql/ScoringRuleSQL.js +112 -0
  432. package/dist/lib/models/sql/ScoringRuleSQL.js.map +1 -0
  433. package/dist/lib/models/sql/SegmentSQL.js +113 -0
  434. package/dist/lib/models/sql/SegmentSQL.js.map +1 -0
  435. package/dist/lib/models/sql/SubscriptionSQL.js +114 -0
  436. package/dist/lib/models/sql/SubscriptionSQL.js.map +1 -0
  437. package/dist/lib/models/sql/SuppressionSQL.js +77 -0
  438. package/dist/lib/models/sql/SuppressionSQL.js.map +1 -0
  439. package/dist/lib/models/sql/TimelineEventSQL.js +112 -0
  440. package/dist/lib/models/sql/TimelineEventSQL.js.map +1 -0
  441. package/dist/lib/models/sql/WebhookDeliverySQL.js +128 -0
  442. package/dist/lib/models/sql/WebhookDeliverySQL.js.map +1 -0
  443. package/dist/lib/models/sql/WebhookEndpointSQL.js +118 -0
  444. package/dist/lib/models/sql/WebhookEndpointSQL.js.map +1 -0
  445. package/dist/lib/models/sql/WorkspaceMemberSQL.js +92 -0
  446. package/dist/lib/models/sql/WorkspaceMemberSQL.js.map +1 -0
  447. package/dist/lib/models/sql/WorkspaceSQL.js +117 -0
  448. package/dist/lib/models/sql/WorkspaceSQL.js.map +1 -0
  449. package/dist/lib/models/sql/WorkspaceSenderSQL.js +100 -0
  450. package/dist/lib/models/sql/WorkspaceSenderSQL.js.map +1 -0
  451. package/dist/lib/models/sql/index.js +74 -0
  452. package/dist/lib/models/sql/index.js.map +1 -0
  453. package/dist/lib/models/types.js +275 -0
  454. package/dist/lib/models/types.js.map +1 -0
  455. package/dist/lib/mongo.js +80 -0
  456. package/dist/lib/mongo.js.map +1 -0
  457. package/dist/lib/purge.js +68 -0
  458. package/dist/lib/purge.js.map +1 -0
  459. package/dist/lib/routes/BaseAnalyticsRoute.js +217 -0
  460. package/dist/lib/routes/BaseAnalyticsRoute.js.map +1 -0
  461. package/dist/lib/routes/BaseApiKeyRoute.js +76 -0
  462. package/dist/lib/routes/BaseApiKeyRoute.js.map +1 -0
  463. package/dist/lib/routes/BaseAutomationRoute.js +316 -0
  464. package/dist/lib/routes/BaseAutomationRoute.js.map +1 -0
  465. package/dist/lib/routes/BaseCampaignRoute.js +443 -0
  466. package/dist/lib/routes/BaseCampaignRoute.js.map +1 -0
  467. package/dist/lib/routes/BaseCompanyRoute.js +106 -0
  468. package/dist/lib/routes/BaseCompanyRoute.js.map +1 -0
  469. package/dist/lib/routes/BaseContactRoute.js +162 -0
  470. package/dist/lib/routes/BaseContactRoute.js.map +1 -0
  471. package/dist/lib/routes/BaseCrmAdminRoute.js +108 -0
  472. package/dist/lib/routes/BaseCrmAdminRoute.js.map +1 -0
  473. package/dist/lib/routes/BaseDealRoute.js +312 -0
  474. package/dist/lib/routes/BaseDealRoute.js.map +1 -0
  475. package/dist/lib/routes/BaseFormRoute.js +124 -0
  476. package/dist/lib/routes/BaseFormRoute.js.map +1 -0
  477. package/dist/lib/routes/BaseImportRoute.js +231 -0
  478. package/dist/lib/routes/BaseImportRoute.js.map +1 -0
  479. package/dist/lib/routes/BaseIntegrationRoute.js +181 -0
  480. package/dist/lib/routes/BaseIntegrationRoute.js.map +1 -0
  481. package/dist/lib/routes/BaseListRoute.js +89 -0
  482. package/dist/lib/routes/BaseListRoute.js.map +1 -0
  483. package/dist/lib/routes/BaseNoteRoute.js +69 -0
  484. package/dist/lib/routes/BaseNoteRoute.js.map +1 -0
  485. package/dist/lib/routes/BasePipelineRoute.js +149 -0
  486. package/dist/lib/routes/BasePipelineRoute.js.map +1 -0
  487. package/dist/lib/routes/BasePropertyDefinitionRoute.js +140 -0
  488. package/dist/lib/routes/BasePropertyDefinitionRoute.js.map +1 -0
  489. package/dist/lib/routes/BasePublicRoute.js +528 -0
  490. package/dist/lib/routes/BasePublicRoute.js.map +1 -0
  491. package/dist/lib/routes/BaseSavedBlockRoute.js +39 -0
  492. package/dist/lib/routes/BaseSavedBlockRoute.js.map +1 -0
  493. package/dist/lib/routes/BaseScoringRuleRoute.js +146 -0
  494. package/dist/lib/routes/BaseScoringRuleRoute.js.map +1 -0
  495. package/dist/lib/routes/BaseSegmentRoute.js +136 -0
  496. package/dist/lib/routes/BaseSegmentRoute.js.map +1 -0
  497. package/dist/lib/routes/BaseSubscriptionRoute.js +92 -0
  498. package/dist/lib/routes/BaseSubscriptionRoute.js.map +1 -0
  499. package/dist/lib/routes/BaseSuppressionRoute.js +48 -0
  500. package/dist/lib/routes/BaseSuppressionRoute.js.map +1 -0
  501. package/dist/lib/routes/BaseTaggedRecordRoute.js +312 -0
  502. package/dist/lib/routes/BaseTaggedRecordRoute.js.map +1 -0
  503. package/dist/lib/routes/BaseTaskRoute.js +116 -0
  504. package/dist/lib/routes/BaseTaskRoute.js.map +1 -0
  505. package/dist/lib/routes/BaseTemplateRoute.js +207 -0
  506. package/dist/lib/routes/BaseTemplateRoute.js.map +1 -0
  507. package/dist/lib/routes/BaseTimelineRoute.js +47 -0
  508. package/dist/lib/routes/BaseTimelineRoute.js.map +1 -0
  509. package/dist/lib/routes/BaseTrackingRoute.js +106 -0
  510. package/dist/lib/routes/BaseTrackingRoute.js.map +1 -0
  511. package/dist/lib/routes/BaseWebhookRoute.js +173 -0
  512. package/dist/lib/routes/BaseWebhookRoute.js.map +1 -0
  513. package/dist/lib/routes/BaseWorkspaceRecordRoute.js +220 -0
  514. package/dist/lib/routes/BaseWorkspaceRecordRoute.js.map +1 -0
  515. package/dist/lib/routes/BaseWorkspaceRoute.js +540 -0
  516. package/dist/lib/routes/BaseWorkspaceRoute.js.map +1 -0
  517. package/dist/lib/routes/CrmRouteBase.js +261 -0
  518. package/dist/lib/routes/CrmRouteBase.js.map +1 -0
  519. package/dist/lib/routes/mongo/AnalyticsRouteMongo.js +26 -0
  520. package/dist/lib/routes/mongo/AnalyticsRouteMongo.js.map +1 -0
  521. package/dist/lib/routes/mongo/ApiKeyRouteMongo.js +26 -0
  522. package/dist/lib/routes/mongo/ApiKeyRouteMongo.js.map +1 -0
  523. package/dist/lib/routes/mongo/AutomationRouteMongo.js +26 -0
  524. package/dist/lib/routes/mongo/AutomationRouteMongo.js.map +1 -0
  525. package/dist/lib/routes/mongo/CampaignRouteMongo.js +26 -0
  526. package/dist/lib/routes/mongo/CampaignRouteMongo.js.map +1 -0
  527. package/dist/lib/routes/mongo/CompanyRouteMongo.js +26 -0
  528. package/dist/lib/routes/mongo/CompanyRouteMongo.js.map +1 -0
  529. package/dist/lib/routes/mongo/ContactRouteMongo.js +26 -0
  530. package/dist/lib/routes/mongo/ContactRouteMongo.js.map +1 -0
  531. package/dist/lib/routes/mongo/CrmAdminRouteMongo.js +26 -0
  532. package/dist/lib/routes/mongo/CrmAdminRouteMongo.js.map +1 -0
  533. package/dist/lib/routes/mongo/DealRouteMongo.js +26 -0
  534. package/dist/lib/routes/mongo/DealRouteMongo.js.map +1 -0
  535. package/dist/lib/routes/mongo/FormRouteMongo.js +26 -0
  536. package/dist/lib/routes/mongo/FormRouteMongo.js.map +1 -0
  537. package/dist/lib/routes/mongo/ImportRouteMongo.js +26 -0
  538. package/dist/lib/routes/mongo/ImportRouteMongo.js.map +1 -0
  539. package/dist/lib/routes/mongo/IntegrationRouteMongo.js +28 -0
  540. package/dist/lib/routes/mongo/IntegrationRouteMongo.js.map +1 -0
  541. package/dist/lib/routes/mongo/ListRouteMongo.js +26 -0
  542. package/dist/lib/routes/mongo/ListRouteMongo.js.map +1 -0
  543. package/dist/lib/routes/mongo/NoteRouteMongo.js +26 -0
  544. package/dist/lib/routes/mongo/NoteRouteMongo.js.map +1 -0
  545. package/dist/lib/routes/mongo/PipelineRouteMongo.js +26 -0
  546. package/dist/lib/routes/mongo/PipelineRouteMongo.js.map +1 -0
  547. package/dist/lib/routes/mongo/PropertyDefinitionRouteMongo.js +26 -0
  548. package/dist/lib/routes/mongo/PropertyDefinitionRouteMongo.js.map +1 -0
  549. package/dist/lib/routes/mongo/PublicRouteMongo.js +28 -0
  550. package/dist/lib/routes/mongo/PublicRouteMongo.js.map +1 -0
  551. package/dist/lib/routes/mongo/SavedBlockRouteMongo.js +26 -0
  552. package/dist/lib/routes/mongo/SavedBlockRouteMongo.js.map +1 -0
  553. package/dist/lib/routes/mongo/ScoringRuleRouteMongo.js +26 -0
  554. package/dist/lib/routes/mongo/ScoringRuleRouteMongo.js.map +1 -0
  555. package/dist/lib/routes/mongo/SegmentRouteMongo.js +26 -0
  556. package/dist/lib/routes/mongo/SegmentRouteMongo.js.map +1 -0
  557. package/dist/lib/routes/mongo/SubscriptionRouteMongo.js +26 -0
  558. package/dist/lib/routes/mongo/SubscriptionRouteMongo.js.map +1 -0
  559. package/dist/lib/routes/mongo/SuppressionRouteMongo.js +26 -0
  560. package/dist/lib/routes/mongo/SuppressionRouteMongo.js.map +1 -0
  561. package/dist/lib/routes/mongo/TaskRouteMongo.js +26 -0
  562. package/dist/lib/routes/mongo/TaskRouteMongo.js.map +1 -0
  563. package/dist/lib/routes/mongo/TemplateRouteMongo.js +26 -0
  564. package/dist/lib/routes/mongo/TemplateRouteMongo.js.map +1 -0
  565. package/dist/lib/routes/mongo/TimelineRouteMongo.js +26 -0
  566. package/dist/lib/routes/mongo/TimelineRouteMongo.js.map +1 -0
  567. package/dist/lib/routes/mongo/TrackingRouteMongo.js +26 -0
  568. package/dist/lib/routes/mongo/TrackingRouteMongo.js.map +1 -0
  569. package/dist/lib/routes/mongo/WebhookRouteMongo.js +26 -0
  570. package/dist/lib/routes/mongo/WebhookRouteMongo.js.map +1 -0
  571. package/dist/lib/routes/mongo/WorkspaceRouteMongo.js +26 -0
  572. package/dist/lib/routes/mongo/WorkspaceRouteMongo.js.map +1 -0
  573. package/dist/lib/routes/sql/AnalyticsRouteSQL.js +26 -0
  574. package/dist/lib/routes/sql/AnalyticsRouteSQL.js.map +1 -0
  575. package/dist/lib/routes/sql/ApiKeyRouteSQL.js +26 -0
  576. package/dist/lib/routes/sql/ApiKeyRouteSQL.js.map +1 -0
  577. package/dist/lib/routes/sql/AutomationRouteSQL.js +26 -0
  578. package/dist/lib/routes/sql/AutomationRouteSQL.js.map +1 -0
  579. package/dist/lib/routes/sql/CampaignRouteSQL.js +26 -0
  580. package/dist/lib/routes/sql/CampaignRouteSQL.js.map +1 -0
  581. package/dist/lib/routes/sql/CompanyRouteSQL.js +26 -0
  582. package/dist/lib/routes/sql/CompanyRouteSQL.js.map +1 -0
  583. package/dist/lib/routes/sql/ContactRouteSQL.js +26 -0
  584. package/dist/lib/routes/sql/ContactRouteSQL.js.map +1 -0
  585. package/dist/lib/routes/sql/CrmAdminRouteSQL.js +26 -0
  586. package/dist/lib/routes/sql/CrmAdminRouteSQL.js.map +1 -0
  587. package/dist/lib/routes/sql/DealRouteSQL.js +26 -0
  588. package/dist/lib/routes/sql/DealRouteSQL.js.map +1 -0
  589. package/dist/lib/routes/sql/FormRouteSQL.js +26 -0
  590. package/dist/lib/routes/sql/FormRouteSQL.js.map +1 -0
  591. package/dist/lib/routes/sql/ImportRouteSQL.js +26 -0
  592. package/dist/lib/routes/sql/ImportRouteSQL.js.map +1 -0
  593. package/dist/lib/routes/sql/IntegrationRouteSQL.js +28 -0
  594. package/dist/lib/routes/sql/IntegrationRouteSQL.js.map +1 -0
  595. package/dist/lib/routes/sql/ListRouteSQL.js +26 -0
  596. package/dist/lib/routes/sql/ListRouteSQL.js.map +1 -0
  597. package/dist/lib/routes/sql/NoteRouteSQL.js +26 -0
  598. package/dist/lib/routes/sql/NoteRouteSQL.js.map +1 -0
  599. package/dist/lib/routes/sql/PipelineRouteSQL.js +26 -0
  600. package/dist/lib/routes/sql/PipelineRouteSQL.js.map +1 -0
  601. package/dist/lib/routes/sql/PropertyDefinitionRouteSQL.js +26 -0
  602. package/dist/lib/routes/sql/PropertyDefinitionRouteSQL.js.map +1 -0
  603. package/dist/lib/routes/sql/PublicRouteSQL.js +28 -0
  604. package/dist/lib/routes/sql/PublicRouteSQL.js.map +1 -0
  605. package/dist/lib/routes/sql/SavedBlockRouteSQL.js +26 -0
  606. package/dist/lib/routes/sql/SavedBlockRouteSQL.js.map +1 -0
  607. package/dist/lib/routes/sql/ScoringRuleRouteSQL.js +26 -0
  608. package/dist/lib/routes/sql/ScoringRuleRouteSQL.js.map +1 -0
  609. package/dist/lib/routes/sql/SegmentRouteSQL.js +26 -0
  610. package/dist/lib/routes/sql/SegmentRouteSQL.js.map +1 -0
  611. package/dist/lib/routes/sql/SubscriptionRouteSQL.js +26 -0
  612. package/dist/lib/routes/sql/SubscriptionRouteSQL.js.map +1 -0
  613. package/dist/lib/routes/sql/SuppressionRouteSQL.js +26 -0
  614. package/dist/lib/routes/sql/SuppressionRouteSQL.js.map +1 -0
  615. package/dist/lib/routes/sql/TaskRouteSQL.js +26 -0
  616. package/dist/lib/routes/sql/TaskRouteSQL.js.map +1 -0
  617. package/dist/lib/routes/sql/TemplateRouteSQL.js +26 -0
  618. package/dist/lib/routes/sql/TemplateRouteSQL.js.map +1 -0
  619. package/dist/lib/routes/sql/TimelineRouteSQL.js +26 -0
  620. package/dist/lib/routes/sql/TimelineRouteSQL.js.map +1 -0
  621. package/dist/lib/routes/sql/TrackingRouteSQL.js +26 -0
  622. package/dist/lib/routes/sql/TrackingRouteSQL.js.map +1 -0
  623. package/dist/lib/routes/sql/WebhookRouteSQL.js +26 -0
  624. package/dist/lib/routes/sql/WebhookRouteSQL.js.map +1 -0
  625. package/dist/lib/routes/sql/WorkspaceRouteSQL.js +26 -0
  626. package/dist/lib/routes/sql/WorkspaceRouteSQL.js.map +1 -0
  627. package/dist/lib/scoring/Scoring.js +105 -0
  628. package/dist/lib/scoring/Scoring.js.map +1 -0
  629. package/dist/lib/segments/Segments.js +125 -0
  630. package/dist/lib/segments/Segments.js.map +1 -0
  631. package/dist/lib/sending/Audience.js +87 -0
  632. package/dist/lib/sending/Audience.js.map +1 -0
  633. package/dist/lib/sending/CampaignRenderer.js +123 -0
  634. package/dist/lib/sending/CampaignRenderer.js.map +1 -0
  635. package/dist/lib/sending/Engagement.js +216 -0
  636. package/dist/lib/sending/Engagement.js.map +1 -0
  637. package/dist/lib/sending/Stats.js +70 -0
  638. package/dist/lib/sending/Stats.js.map +1 -0
  639. package/dist/lib/sending/Tracking.js +98 -0
  640. package/dist/lib/sending/Tracking.js.map +1 -0
  641. package/dist/lib/sql.js +80 -0
  642. package/dist/lib/sql.js.map +1 -0
  643. package/dist/lib/templates/Design.js +278 -0
  644. package/dist/lib/templates/Design.js.map +1 -0
  645. package/dist/lib/templates/MergeContext.js +57 -0
  646. package/dist/lib/templates/MergeContext.js.map +1 -0
  647. package/dist/lib/templates/Render.js +147 -0
  648. package/dist/lib/templates/Render.js.map +1 -0
  649. package/dist/lib/templates/Sanitize.js +98 -0
  650. package/dist/lib/templates/Sanitize.js.map +1 -0
  651. package/dist/lib/util/Csv.js +128 -0
  652. package/dist/lib/util/Csv.js.map +1 -0
  653. package/dist/lib/util/ImportMapping.js +206 -0
  654. package/dist/lib/util/ImportMapping.js.map +1 -0
  655. package/dist/lib/util/Mailer.js +43 -0
  656. package/dist/lib/util/Mailer.js.map +1 -0
  657. package/dist/lib/util/PropertyValues.js +145 -0
  658. package/dist/lib/util/PropertyValues.js.map +1 -0
  659. package/dist/lib/util/Secrets.js +31 -0
  660. package/dist/lib/util/Secrets.js.map +1 -0
  661. package/dist/lib/util/Tokens.js +58 -0
  662. package/dist/lib/util/Tokens.js.map +1 -0
  663. package/dist/lib/util/Validation.js +194 -0
  664. package/dist/lib/util/Validation.js.map +1 -0
  665. package/dist/lib/util/WorkspaceAccess.js +55 -0
  666. package/dist/lib/util/WorkspaceAccess.js.map +1 -0
  667. package/dist/lib/webhooks/Deliveries.js +47 -0
  668. package/dist/lib/webhooks/Deliveries.js.map +1 -0
  669. package/dist/lib/webhooks/Webhooks.js +132 -0
  670. package/dist/lib/webhooks/Webhooks.js.map +1 -0
  671. package/dist/types/automation/Dates.d.ts +42 -0
  672. package/dist/types/automation/Engine.d.ts +63 -0
  673. package/dist/types/automation/Events.d.ts +43 -0
  674. package/dist/types/automation/Graph.d.ts +77 -0
  675. package/dist/types/filters/Filter.d.ts +83 -0
  676. package/dist/types/filters/fields.d.ts +9 -0
  677. package/dist/types/index.d.ts +81 -0
  678. package/dist/types/jobs/AutomationRunJob.d.ts +18 -0
  679. package/dist/types/jobs/AutomationTriggerJob.d.ts +23 -0
  680. package/dist/types/jobs/CampaignJob.d.ts +45 -0
  681. package/dist/types/jobs/CrmImportJob.d.ts +44 -0
  682. package/dist/types/jobs/CrmJobBase.d.ts +26 -0
  683. package/dist/types/jobs/CrmMailEventJob.d.ts +102 -0
  684. package/dist/types/jobs/DateTriggerJob.d.ts +21 -0
  685. package/dist/types/jobs/ScoringJob.d.ts +13 -0
  686. package/dist/types/jobs/SegmentRefreshJob.d.ts +16 -0
  687. package/dist/types/jobs/SendDispatchJob.d.ts +52 -0
  688. package/dist/types/jobs/TaskReminderJob.d.ts +12 -0
  689. package/dist/types/jobs/WebhookDeliveryJob.d.ts +22 -0
  690. package/dist/types/jobs/mongo/AutomationRunJobMongo.d.ts +7 -0
  691. package/dist/types/jobs/mongo/AutomationTriggerJobMongo.d.ts +6 -0
  692. package/dist/types/jobs/mongo/CampaignJobMongo.d.ts +6 -0
  693. package/dist/types/jobs/mongo/CrmImportJobMongo.d.ts +8 -0
  694. package/dist/types/jobs/mongo/CrmMailEventJobMongo.d.ts +6 -0
  695. package/dist/types/jobs/mongo/DateTriggerJobMongo.d.ts +6 -0
  696. package/dist/types/jobs/mongo/ScoringJobMongo.d.ts +6 -0
  697. package/dist/types/jobs/mongo/SegmentRefreshJobMongo.d.ts +6 -0
  698. package/dist/types/jobs/mongo/SendDispatchJobMongo.d.ts +6 -0
  699. package/dist/types/jobs/mongo/TaskReminderJobMongo.d.ts +6 -0
  700. package/dist/types/jobs/mongo/WebhookDeliveryJobMongo.d.ts +6 -0
  701. package/dist/types/jobs/sql/AutomationRunJobSQL.d.ts +7 -0
  702. package/dist/types/jobs/sql/AutomationTriggerJobSQL.d.ts +6 -0
  703. package/dist/types/jobs/sql/CampaignJobSQL.d.ts +6 -0
  704. package/dist/types/jobs/sql/CrmImportJobSQL.d.ts +8 -0
  705. package/dist/types/jobs/sql/CrmMailEventJobSQL.d.ts +6 -0
  706. package/dist/types/jobs/sql/DateTriggerJobSQL.d.ts +6 -0
  707. package/dist/types/jobs/sql/ScoringJobSQL.d.ts +6 -0
  708. package/dist/types/jobs/sql/SegmentRefreshJobSQL.d.ts +6 -0
  709. package/dist/types/jobs/sql/SendDispatchJobSQL.d.ts +6 -0
  710. package/dist/types/jobs/sql/TaskReminderJobSQL.d.ts +6 -0
  711. package/dist/types/jobs/sql/WebhookDeliveryJobSQL.d.ts +6 -0
  712. package/dist/types/models/CrmModelClasses.d.ts +63 -0
  713. package/dist/types/models/mongo/ApiKeyMongo.d.ts +19 -0
  714. package/dist/types/models/mongo/AutomationMongo.d.ts +22 -0
  715. package/dist/types/models/mongo/AutomationVersionMongo.d.ts +16 -0
  716. package/dist/types/models/mongo/CampaignMongo.d.ts +34 -0
  717. package/dist/types/models/mongo/CrmCompanyMongo.d.ts +22 -0
  718. package/dist/types/models/mongo/CrmContactMongo.d.ts +26 -0
  719. package/dist/types/models/mongo/CrmEventMongo.d.ts +17 -0
  720. package/dist/types/models/mongo/CrmFormMongo.d.ts +24 -0
  721. package/dist/types/models/mongo/CrmImportMongo.d.ts +31 -0
  722. package/dist/types/models/mongo/CrmNoteMongo.d.ts +17 -0
  723. package/dist/types/models/mongo/CrmSettingMongo.d.ts +13 -0
  724. package/dist/types/models/mongo/CrmTaskMongo.d.ts +23 -0
  725. package/dist/types/models/mongo/DealMongo.d.ts +27 -0
  726. package/dist/types/models/mongo/EmailTemplateMongo.d.ts +17 -0
  727. package/dist/types/models/mongo/EngagementEventMongo.d.ts +20 -0
  728. package/dist/types/models/mongo/EnrollmentMongo.d.ts +25 -0
  729. package/dist/types/models/mongo/MailingListMongo.d.ts +19 -0
  730. package/dist/types/models/mongo/OutboundSendMongo.d.ts +41 -0
  731. package/dist/types/models/mongo/PipelineMongo.d.ts +15 -0
  732. package/dist/types/models/mongo/PropertyDefinitionMongo.d.ts +19 -0
  733. package/dist/types/models/mongo/PropertyValueMongo.d.ts +18 -0
  734. package/dist/types/models/mongo/SavedBlockMongo.d.ts +14 -0
  735. package/dist/types/models/mongo/ScoringRuleMongo.d.ts +20 -0
  736. package/dist/types/models/mongo/SegmentMongo.d.ts +20 -0
  737. package/dist/types/models/mongo/SubscriptionMongo.d.ts +20 -0
  738. package/dist/types/models/mongo/SuppressionMongo.d.ts +15 -0
  739. package/dist/types/models/mongo/TimelineEventMongo.d.ts +20 -0
  740. package/dist/types/models/mongo/WebhookDeliveryMongo.d.ts +22 -0
  741. package/dist/types/models/mongo/WebhookEndpointMongo.d.ts +21 -0
  742. package/dist/types/models/mongo/WorkspaceMemberMongo.d.ts +17 -0
  743. package/dist/types/models/mongo/WorkspaceMongo.d.ts +21 -0
  744. package/dist/types/models/mongo/WorkspaceSenderMongo.d.ts +18 -0
  745. package/dist/types/models/mongo/index.d.ts +3 -0
  746. package/dist/types/models/sql/ApiKeySQL.d.ts +19 -0
  747. package/dist/types/models/sql/AutomationSQL.d.ts +22 -0
  748. package/dist/types/models/sql/AutomationVersionSQL.d.ts +16 -0
  749. package/dist/types/models/sql/CampaignSQL.d.ts +34 -0
  750. package/dist/types/models/sql/CrmCompanySQL.d.ts +22 -0
  751. package/dist/types/models/sql/CrmContactSQL.d.ts +26 -0
  752. package/dist/types/models/sql/CrmEventSQL.d.ts +17 -0
  753. package/dist/types/models/sql/CrmFormSQL.d.ts +24 -0
  754. package/dist/types/models/sql/CrmImportSQL.d.ts +31 -0
  755. package/dist/types/models/sql/CrmNoteSQL.d.ts +17 -0
  756. package/dist/types/models/sql/CrmSettingSQL.d.ts +13 -0
  757. package/dist/types/models/sql/CrmTaskSQL.d.ts +23 -0
  758. package/dist/types/models/sql/DealSQL.d.ts +27 -0
  759. package/dist/types/models/sql/EmailTemplateSQL.d.ts +17 -0
  760. package/dist/types/models/sql/EngagementEventSQL.d.ts +20 -0
  761. package/dist/types/models/sql/EnrollmentSQL.d.ts +25 -0
  762. package/dist/types/models/sql/MailingListSQL.d.ts +19 -0
  763. package/dist/types/models/sql/OutboundSendSQL.d.ts +41 -0
  764. package/dist/types/models/sql/PipelineSQL.d.ts +15 -0
  765. package/dist/types/models/sql/PropertyDefinitionSQL.d.ts +19 -0
  766. package/dist/types/models/sql/PropertyValueSQL.d.ts +18 -0
  767. package/dist/types/models/sql/SavedBlockSQL.d.ts +14 -0
  768. package/dist/types/models/sql/ScoringRuleSQL.d.ts +20 -0
  769. package/dist/types/models/sql/SegmentSQL.d.ts +20 -0
  770. package/dist/types/models/sql/SubscriptionSQL.d.ts +20 -0
  771. package/dist/types/models/sql/SuppressionSQL.d.ts +15 -0
  772. package/dist/types/models/sql/TimelineEventSQL.d.ts +20 -0
  773. package/dist/types/models/sql/WebhookDeliverySQL.d.ts +22 -0
  774. package/dist/types/models/sql/WebhookEndpointSQL.d.ts +21 -0
  775. package/dist/types/models/sql/WorkspaceMemberSQL.d.ts +17 -0
  776. package/dist/types/models/sql/WorkspaceSQL.d.ts +21 -0
  777. package/dist/types/models/sql/WorkspaceSenderSQL.d.ts +18 -0
  778. package/dist/types/models/sql/index.d.ts +3 -0
  779. package/dist/types/models/types.d.ts +902 -0
  780. package/dist/types/mongo.d.ts +75 -0
  781. package/dist/types/purge.d.ts +32 -0
  782. package/dist/types/routes/BaseAnalyticsRoute.d.ts +87 -0
  783. package/dist/types/routes/BaseApiKeyRoute.d.ts +31 -0
  784. package/dist/types/routes/BaseAutomationRoute.d.ts +56 -0
  785. package/dist/types/routes/BaseCampaignRoute.d.ts +66 -0
  786. package/dist/types/routes/BaseCompanyRoute.d.ts +30 -0
  787. package/dist/types/routes/BaseContactRoute.d.ts +42 -0
  788. package/dist/types/routes/BaseCrmAdminRoute.d.ts +41 -0
  789. package/dist/types/routes/BaseDealRoute.d.ts +65 -0
  790. package/dist/types/routes/BaseFormRoute.d.ts +25 -0
  791. package/dist/types/routes/BaseImportRoute.d.ts +39 -0
  792. package/dist/types/routes/BaseIntegrationRoute.d.ts +46 -0
  793. package/dist/types/routes/BaseListRoute.d.ts +26 -0
  794. package/dist/types/routes/BaseNoteRoute.d.ts +15 -0
  795. package/dist/types/routes/BasePipelineRoute.d.ts +31 -0
  796. package/dist/types/routes/BasePropertyDefinitionRoute.d.ts +24 -0
  797. package/dist/types/routes/BasePublicRoute.d.ts +129 -0
  798. package/dist/types/routes/BaseSavedBlockRoute.d.ts +16 -0
  799. package/dist/types/routes/BaseScoringRuleRoute.d.ts +33 -0
  800. package/dist/types/routes/BaseSegmentRoute.d.ts +36 -0
  801. package/dist/types/routes/BaseSubscriptionRoute.d.ts +20 -0
  802. package/dist/types/routes/BaseSuppressionRoute.d.ts +17 -0
  803. package/dist/types/routes/BaseTaggedRecordRoute.d.ts +85 -0
  804. package/dist/types/routes/BaseTaskRoute.d.ts +18 -0
  805. package/dist/types/routes/BaseTemplateRoute.d.ts +52 -0
  806. package/dist/types/routes/BaseTimelineRoute.d.ts +10 -0
  807. package/dist/types/routes/BaseTrackingRoute.d.ts +21 -0
  808. package/dist/types/routes/BaseWebhookRoute.d.ts +49 -0
  809. package/dist/types/routes/BaseWorkspaceRecordRoute.d.ts +78 -0
  810. package/dist/types/routes/BaseWorkspaceRoute.d.ts +78 -0
  811. package/dist/types/routes/CrmRouteBase.d.ts +95 -0
  812. package/dist/types/routes/mongo/AnalyticsRouteMongo.d.ts +6 -0
  813. package/dist/types/routes/mongo/ApiKeyRouteMongo.d.ts +6 -0
  814. package/dist/types/routes/mongo/AutomationRouteMongo.d.ts +6 -0
  815. package/dist/types/routes/mongo/CampaignRouteMongo.d.ts +6 -0
  816. package/dist/types/routes/mongo/CompanyRouteMongo.d.ts +6 -0
  817. package/dist/types/routes/mongo/ContactRouteMongo.d.ts +6 -0
  818. package/dist/types/routes/mongo/CrmAdminRouteMongo.d.ts +6 -0
  819. package/dist/types/routes/mongo/DealRouteMongo.d.ts +6 -0
  820. package/dist/types/routes/mongo/FormRouteMongo.d.ts +6 -0
  821. package/dist/types/routes/mongo/ImportRouteMongo.d.ts +6 -0
  822. package/dist/types/routes/mongo/IntegrationRouteMongo.d.ts +7 -0
  823. package/dist/types/routes/mongo/ListRouteMongo.d.ts +6 -0
  824. package/dist/types/routes/mongo/NoteRouteMongo.d.ts +6 -0
  825. package/dist/types/routes/mongo/PipelineRouteMongo.d.ts +6 -0
  826. package/dist/types/routes/mongo/PropertyDefinitionRouteMongo.d.ts +6 -0
  827. package/dist/types/routes/mongo/PublicRouteMongo.d.ts +7 -0
  828. package/dist/types/routes/mongo/SavedBlockRouteMongo.d.ts +6 -0
  829. package/dist/types/routes/mongo/ScoringRuleRouteMongo.d.ts +6 -0
  830. package/dist/types/routes/mongo/SegmentRouteMongo.d.ts +6 -0
  831. package/dist/types/routes/mongo/SubscriptionRouteMongo.d.ts +6 -0
  832. package/dist/types/routes/mongo/SuppressionRouteMongo.d.ts +6 -0
  833. package/dist/types/routes/mongo/TaskRouteMongo.d.ts +6 -0
  834. package/dist/types/routes/mongo/TemplateRouteMongo.d.ts +6 -0
  835. package/dist/types/routes/mongo/TimelineRouteMongo.d.ts +6 -0
  836. package/dist/types/routes/mongo/TrackingRouteMongo.d.ts +6 -0
  837. package/dist/types/routes/mongo/WebhookRouteMongo.d.ts +6 -0
  838. package/dist/types/routes/mongo/WorkspaceRouteMongo.d.ts +6 -0
  839. package/dist/types/routes/sql/AnalyticsRouteSQL.d.ts +6 -0
  840. package/dist/types/routes/sql/ApiKeyRouteSQL.d.ts +6 -0
  841. package/dist/types/routes/sql/AutomationRouteSQL.d.ts +6 -0
  842. package/dist/types/routes/sql/CampaignRouteSQL.d.ts +6 -0
  843. package/dist/types/routes/sql/CompanyRouteSQL.d.ts +6 -0
  844. package/dist/types/routes/sql/ContactRouteSQL.d.ts +6 -0
  845. package/dist/types/routes/sql/CrmAdminRouteSQL.d.ts +6 -0
  846. package/dist/types/routes/sql/DealRouteSQL.d.ts +6 -0
  847. package/dist/types/routes/sql/FormRouteSQL.d.ts +6 -0
  848. package/dist/types/routes/sql/ImportRouteSQL.d.ts +6 -0
  849. package/dist/types/routes/sql/IntegrationRouteSQL.d.ts +7 -0
  850. package/dist/types/routes/sql/ListRouteSQL.d.ts +6 -0
  851. package/dist/types/routes/sql/NoteRouteSQL.d.ts +6 -0
  852. package/dist/types/routes/sql/PipelineRouteSQL.d.ts +6 -0
  853. package/dist/types/routes/sql/PropertyDefinitionRouteSQL.d.ts +6 -0
  854. package/dist/types/routes/sql/PublicRouteSQL.d.ts +7 -0
  855. package/dist/types/routes/sql/SavedBlockRouteSQL.d.ts +6 -0
  856. package/dist/types/routes/sql/ScoringRuleRouteSQL.d.ts +6 -0
  857. package/dist/types/routes/sql/SegmentRouteSQL.d.ts +6 -0
  858. package/dist/types/routes/sql/SubscriptionRouteSQL.d.ts +6 -0
  859. package/dist/types/routes/sql/SuppressionRouteSQL.d.ts +6 -0
  860. package/dist/types/routes/sql/TaskRouteSQL.d.ts +6 -0
  861. package/dist/types/routes/sql/TemplateRouteSQL.d.ts +6 -0
  862. package/dist/types/routes/sql/TimelineRouteSQL.d.ts +6 -0
  863. package/dist/types/routes/sql/TrackingRouteSQL.d.ts +6 -0
  864. package/dist/types/routes/sql/WebhookRouteSQL.d.ts +6 -0
  865. package/dist/types/routes/sql/WorkspaceRouteSQL.d.ts +6 -0
  866. package/dist/types/scoring/Scoring.d.ts +14 -0
  867. package/dist/types/segments/Segments.d.ts +46 -0
  868. package/dist/types/sending/Audience.d.ts +39 -0
  869. package/dist/types/sending/CampaignRenderer.d.ts +40 -0
  870. package/dist/types/sending/Engagement.d.ts +50 -0
  871. package/dist/types/sending/Stats.d.ts +17 -0
  872. package/dist/types/sending/Tracking.d.ts +39 -0
  873. package/dist/types/sql.d.ts +75 -0
  874. package/dist/types/templates/Design.d.ts +138 -0
  875. package/dist/types/templates/MergeContext.d.ts +27 -0
  876. package/dist/types/templates/Render.d.ts +46 -0
  877. package/dist/types/templates/Sanitize.d.ts +18 -0
  878. package/dist/types/util/Csv.d.ts +26 -0
  879. package/dist/types/util/ImportMapping.d.ts +23 -0
  880. package/dist/types/util/Mailer.d.ts +24 -0
  881. package/dist/types/util/PropertyValues.d.ts +31 -0
  882. package/dist/types/util/Secrets.d.ts +10 -0
  883. package/dist/types/util/Tokens.d.ts +30 -0
  884. package/dist/types/util/Validation.d.ts +59 -0
  885. package/dist/types/util/WorkspaceAccess.d.ts +24 -0
  886. package/dist/types/webhooks/Deliveries.d.ts +26 -0
  887. package/dist/types/webhooks/Webhooks.d.ts +43 -0
  888. package/package.json +226 -0
@@ -0,0 +1,902 @@
1
+ /** What every stored CRM record carries (set by the datastore). */
2
+ export interface CrmEntity {
3
+ uid: string;
4
+ dateCreated: Date;
5
+ dateModified: Date;
6
+ version: number;
7
+ }
8
+ /**
9
+ * What a workspace member may do. Each role includes everything the ones below it may:
10
+ * - `viewer`: read everything in the workspace.
11
+ * - `editor`: also create, change and delete contacts, companies, notes, tasks and imports.
12
+ * - `admin`: also change the workspace's settings, members, senders and custom properties.
13
+ * - `owner`: also delete the workspace and make other members owners. A workspace always keeps at least one.
14
+ */
15
+ export declare enum WorkspaceRole {
16
+ OWNER = "owner",
17
+ ADMIN = "admin",
18
+ EDITOR = "editor",
19
+ VIEWER = "viewer"
20
+ }
21
+ /** The ACL actions a workspace role grants on the workspace's own `AccessControlList` (see `util/WorkspaceAccess.ts`). */
22
+ export declare enum WorkspaceAction {
23
+ READ = "READ",
24
+ WRITE = "WRITE",
25
+ MANAGE = "MANAGE"
26
+ }
27
+ /**
28
+ * A shared CRM space: its own contacts, companies, custom properties, notes, tasks and (in later phases) lists, campaigns,
29
+ * automations and pipelines. Who may use it is its members (`WorkspaceMember`), each granted their role's actions on the
30
+ * workspace's own `AccessControlList`, whose uid is the workspace's uid. Nothing in a workspace belongs to a mailbox, except its
31
+ * senders.
32
+ */
33
+ export interface Workspace extends CrmEntity {
34
+ name: string;
35
+ description?: string;
36
+ /** The IANA time zone dates are shown and scheduled in. */
37
+ timezone: string;
38
+ /** The postal address marketing mail must carry (CAN-SPAM), shown in the footer of every campaign. */
39
+ postalAddress?: string;
40
+ website?: string;
41
+ /** The user who created it. */
42
+ createdByUserUid: string;
43
+ /** How many lead scoring rules the workspace has (`BaseScoringRuleRoute` keeps it), so the scoring job only visits workspaces with some. */
44
+ scoringRules: number;
45
+ /** The rules changed since contacts were last scored. */
46
+ scoringDirty: boolean;
47
+ /** When contacts were last scored. */
48
+ scoredAt?: Date;
49
+ /** A deployment administrator stopped the workspace's campaign and automation email (abuse). */
50
+ sendingDisabled: boolean;
51
+ }
52
+ /** A user's membership of a workspace. Unique per workspace and user. */
53
+ export interface WorkspaceMember extends CrmEntity {
54
+ workspaceUid: string;
55
+ /** The member's user uid (lowercase). */
56
+ userUid: string;
57
+ role: WorkspaceRole;
58
+ /** The address the member was added by, or of a mailbox they own - for showing who they are. */
59
+ address?: string;
60
+ displayName?: string;
61
+ addedByUserUid?: string;
62
+ }
63
+ /**
64
+ * An address the workspace sends mail as, and the mailbox replies to it land in. Adding one requires send access to the mailbox, and
65
+ * the mailbox becomes a connected mailbox: the CRM watches its mail for replies and bounces. Mailbox-scoped: erasing the mailbox
66
+ * removes it.
67
+ */
68
+ export interface WorkspaceSender extends CrmEntity {
69
+ /** Mail this sender's mailbox exchanges with the workspace's contacts goes on their timelines. */
70
+ logEmail: boolean;
71
+ workspaceUid: string;
72
+ mailboxUid: string;
73
+ /** The `From` address - the mailbox's primary address or one of its aliases. */
74
+ fromAddress: string;
75
+ fromName: string;
76
+ replyToAddress?: string;
77
+ createdByUserUid: string;
78
+ }
79
+ /** The kinds of record custom properties, notes, tasks and timeline entries can belong to. */
80
+ export declare enum CrmObjectType {
81
+ CONTACT = "contact",
82
+ COMPANY = "company",
83
+ DEAL = "deal"
84
+ }
85
+ /** Where a contact is in the customer journey. */
86
+ export declare enum LifecycleStage {
87
+ SUBSCRIBER = "subscriber",
88
+ LEAD = "lead",
89
+ MARKETING_QUALIFIED = "marketing_qualified",
90
+ SALES_QUALIFIED = "sales_qualified",
91
+ OPPORTUNITY = "opportunity",
92
+ CUSTOMER = "customer",
93
+ EVANGELIST = "evangelist",
94
+ OTHER = "other"
95
+ }
96
+ /** Whether marketing mail may be sent to a contact at all, across every list. */
97
+ export declare enum EmailStatus {
98
+ ACTIVE = "active",
99
+ UNSUBSCRIBED = "unsubscribed",
100
+ BOUNCED = "bounced",
101
+ COMPLAINED = "complained"
102
+ }
103
+ /** A person the workspace tracks. Unique per workspace by email address. */
104
+ export interface CrmContact extends CrmEntity {
105
+ workspaceUid: string;
106
+ /** Lowercase. */
107
+ email: string;
108
+ firstName?: string;
109
+ lastName?: string;
110
+ phone?: string;
111
+ jobTitle?: string;
112
+ companyUid?: string;
113
+ /** The member responsible for the contact. */
114
+ ownerUserUid?: string;
115
+ lifecycleStage: LifecycleStage;
116
+ /** A free-form sales status, such as `new`, `attempted` or `connected`. */
117
+ leadStatus?: string;
118
+ /** The lead score (Phase 5 scoring rules). */
119
+ score: number;
120
+ /** Lowercase labels. Mirrored into `PropertyValue` rows (key `tags`) so filters can match them on SQL too. */
121
+ tags: string[];
122
+ /** Where the contact came from: `manual`, `import`, `form`, `api`, ... */
123
+ source?: string;
124
+ emailStatus: EmailStatus;
125
+ /** When the contact last opened, clicked or replied to mail from the workspace. */
126
+ lastEngagedAt?: Date;
127
+ }
128
+ /** An organization the workspace tracks. */
129
+ export interface CrmCompany extends CrmEntity {
130
+ workspaceUid: string;
131
+ name: string;
132
+ /** The company's web domain, lowercase, without `www.` - how contacts are matched to it. */
133
+ domain?: string;
134
+ industry?: string;
135
+ employeeCount?: number;
136
+ phone?: string;
137
+ website?: string;
138
+ city?: string;
139
+ country?: string;
140
+ ownerUserUid?: string;
141
+ /** Lowercase labels, mirrored into `PropertyValue` rows like a contact's. */
142
+ tags: string[];
143
+ }
144
+ /** The value types a custom property can hold. */
145
+ export declare enum PropertyType {
146
+ TEXT = "text",
147
+ NUMBER = "number",
148
+ DATE = "date",
149
+ BOOLEAN = "boolean",
150
+ SELECT = "select",
151
+ MULTI_SELECT = "multi_select"
152
+ }
153
+ /** One option of a `select`/`multi_select` property. */
154
+ export interface PropertyOption {
155
+ value: string;
156
+ label: string;
157
+ }
158
+ /** A custom property the workspace defines for contacts, companies or deals. Unique per workspace, object type and key. */
159
+ export interface PropertyDefinition extends CrmEntity {
160
+ workspaceUid: string;
161
+ objectType: CrmObjectType;
162
+ /** Lowercase letters, digits and underscores, starting with a letter. Never one of the object's own field names. */
163
+ key: string;
164
+ label: string;
165
+ type: PropertyType;
166
+ options: PropertyOption[];
167
+ group?: string;
168
+ description?: string;
169
+ }
170
+ /**
171
+ * One value of a custom property (or one tag) of one record, stored as its own row so filters can compare it on both Mongo and SQL
172
+ * with an index, rather than by searching a JSON column. A `multi_select` value, like a tag, is one row per selected option.
173
+ */
174
+ export interface PropertyValue extends CrmEntity {
175
+ workspaceUid: string;
176
+ objectType: CrmObjectType;
177
+ objectUid: string;
178
+ key: string;
179
+ /** Set for `text`, `select` and `multi_select` values and tags (lowercased for tags). */
180
+ stringValue?: string;
181
+ /** Set for `number` values, and `boolean` ones as `1`/`0`. */
182
+ numberValue?: number;
183
+ /** Set for `date` values. */
184
+ dateValue?: Date;
185
+ }
186
+ /** A note written on a contact, company or deal. */
187
+ export interface CrmNote extends CrmEntity {
188
+ workspaceUid: string;
189
+ subjectType: CrmObjectType;
190
+ subjectUid: string;
191
+ /** Plain text. */
192
+ body: string;
193
+ authorUserUid: string;
194
+ pinned: boolean;
195
+ }
196
+ export declare enum TaskStatus {
197
+ OPEN = "open",
198
+ DONE = "done"
199
+ }
200
+ export declare enum TaskPriority {
201
+ LOW = "low",
202
+ NORMAL = "normal",
203
+ HIGH = "high"
204
+ }
205
+ /** A to-do for a member, optionally about a contact, company or deal. */
206
+ export interface CrmTask extends CrmEntity {
207
+ workspaceUid: string;
208
+ title: string;
209
+ notes?: string;
210
+ status: TaskStatus;
211
+ priority: TaskPriority;
212
+ dueAt?: Date;
213
+ assigneeUserUid?: string;
214
+ subjectType?: CrmObjectType;
215
+ subjectUid?: string;
216
+ completedAt?: Date;
217
+ createdByUserUid: string;
218
+ /** When the assignee was reminded the task is due. */
219
+ remindedAt?: Date;
220
+ }
221
+ /** What a timeline entry records. Later phases add email and deal kinds. */
222
+ export declare enum TimelineKind {
223
+ CREATED = "created",
224
+ UPDATED = "updated",
225
+ NOTE = "note",
226
+ TASK_CREATED = "task_created",
227
+ TASK_COMPLETED = "task_completed",
228
+ IMPORTED = "imported",
229
+ EMAIL_SENT = "email_sent",
230
+ EMAIL_RECEIVED = "email_received",
231
+ SUBSCRIBED = "subscribed",
232
+ UNSUBSCRIBED = "unsubscribed",
233
+ FORM_SUBMITTED = "form_submitted",
234
+ EMAIL_OPENED = "email_opened",
235
+ EMAIL_CLICKED = "email_clicked",
236
+ EMAIL_REPLIED = "email_replied",
237
+ EMAIL_BOUNCED = "email_bounced",
238
+ EMAIL_COMPLAINED = "email_complained",
239
+ AUTOMATION_ENTERED = "automation_entered",
240
+ AUTOMATION_FINISHED = "automation_finished",
241
+ DEAL_CREATED = "deal_created",
242
+ DEAL_STAGE_CHANGED = "deal_stage_changed",
243
+ DEAL_WON = "deal_won",
244
+ DEAL_LOST = "deal_lost"
245
+ }
246
+ /** One entry of a contact's, company's or deal's activity timeline. Append-only. */
247
+ export interface TimelineEvent extends CrmEntity {
248
+ workspaceUid: string;
249
+ subjectType: CrmObjectType;
250
+ subjectUid: string;
251
+ kind: TimelineKind | string;
252
+ occurredAt: Date;
253
+ actorUserUid?: string;
254
+ /** A short sentence for the timeline. */
255
+ summary: string;
256
+ /** Kind-specific details, e.g. the fields an update changed. */
257
+ data: Record<string, unknown>;
258
+ /** The record the entry is about, when it is another one (the note, the task, the message). */
259
+ refUid?: string;
260
+ }
261
+ export declare enum ImportStatus {
262
+ /** Uploaded; waiting for its column mapping. */
263
+ UPLOADED = "uploaded",
264
+ /** Mapped; waiting for `CrmImportJob`. */
265
+ QUEUED = "queued",
266
+ RUNNING = "running",
267
+ DONE = "done",
268
+ FAILED = "failed"
269
+ }
270
+ /** Where one CSV column goes: a contact or company field, a custom property (`properties.<key>`), `tags`, or nowhere. */
271
+ export interface ImportColumnMapping {
272
+ column: string;
273
+ /** `undefined` skips the column. */
274
+ target?: string;
275
+ }
276
+ /** One row an import could not take. */
277
+ export interface ImportRowError {
278
+ /** 1-based, counting the header as row 1. */
279
+ row: number;
280
+ message: string;
281
+ }
282
+ /** A CSV import of contacts or companies, processed in the background by `CrmImportJob`. */
283
+ export interface CrmImport extends CrmEntity {
284
+ workspaceUid: string;
285
+ objectType: CrmObjectType;
286
+ fileName: string;
287
+ /** The uploaded CSV in the `BlobStore`. */
288
+ blobKey: string;
289
+ /** The CSV's header row, as read at upload. */
290
+ columns: string[];
291
+ mapping: ImportColumnMapping[];
292
+ /** Whether a row whose email (contacts) or domain (companies) is already there updates that record; otherwise it is skipped. */
293
+ updateExisting: boolean;
294
+ /** Tags added to every imported record. */
295
+ tags: string[];
296
+ status: ImportStatus;
297
+ totalRows: number;
298
+ processedRows: number;
299
+ createdCount: number;
300
+ updatedCount: number;
301
+ skippedCount: number;
302
+ /** At most `MAX_IMPORT_ERRORS` of them. */
303
+ errors: ImportRowError[];
304
+ createdByUserUid: string;
305
+ /** While `RUNNING`: until when the replica working on it owns it. */
306
+ leaseExpiresAt?: Date;
307
+ attempts: number;
308
+ finishedAt?: Date;
309
+ /** A mailing list every imported contact is subscribed to (source `import`), if the importer chose one. */
310
+ listUid?: string;
311
+ }
312
+ /** How many row errors an import keeps. */
313
+ export declare const MAX_IMPORT_ERRORS = 100;
314
+ /**
315
+ * A mailing list of a workspace: the contacts subscribed to it get the campaigns sent to it. A list shown in the preference center
316
+ * (`visible`) is one a subscriber can join or leave there by themselves; with `doubleOptIn`, a subscription made by a form stays
317
+ * pending until the subscriber confirms it by email, sent from `senderUid`.
318
+ */
319
+ export interface MailingList extends CrmEntity {
320
+ workspaceUid: string;
321
+ name: string;
322
+ description?: string;
323
+ /** The name subscribers see (in the preference center and confirmation emails). */
324
+ publicName: string;
325
+ publicDescription?: string;
326
+ doubleOptIn: boolean;
327
+ /** Shown in the preference center even to contacts not subscribed to it. */
328
+ visible: boolean;
329
+ /** The `WorkspaceSender` confirmation emails are sent from. Required with `doubleOptIn`. */
330
+ senderUid?: string;
331
+ }
332
+ export declare enum SubscriptionStatus {
333
+ /** Waiting for the subscriber to confirm by email (double opt-in). */
334
+ PENDING = "pending",
335
+ SUBSCRIBED = "subscribed",
336
+ UNSUBSCRIBED = "unsubscribed"
337
+ }
338
+ /**
339
+ * A contact's subscription to a list, with the consent behind it. Unique per list and contact. An unsubscribed one is kept (not
340
+ * deleted) as the record that the contact opted out.
341
+ */
342
+ export interface Subscription extends CrmEntity {
343
+ workspaceUid: string;
344
+ listUid: string;
345
+ contactUid: string;
346
+ status: SubscriptionStatus;
347
+ /** How it was made: `form`, `import`, `manual`, `preferences`, `api`. */
348
+ source: string;
349
+ /** When the contact gave (or confirmed) consent. */
350
+ consentAt?: Date;
351
+ /** The address consent was given from, for a form or preference center subscription. */
352
+ consentIp?: string;
353
+ unsubscribedAt?: Date;
354
+ /** When the last confirmation email was sent, while pending. */
355
+ confirmSentAt?: Date;
356
+ }
357
+ export declare enum SuppressionReason {
358
+ HARD_BOUNCE = "hard_bounce",
359
+ COMPLAINT = "complaint",
360
+ MANUAL = "manual"
361
+ }
362
+ /**
363
+ * An address the workspace must never send marketing mail to, whatever list it is on and even after its contact is deleted and made
364
+ * again. Unique per workspace and address.
365
+ */
366
+ export interface Suppression extends CrmEntity {
367
+ workspaceUid: string;
368
+ /** Lowercase. */
369
+ email: string;
370
+ reason: SuppressionReason;
371
+ note?: string;
372
+ }
373
+ /** One field of a signup form. */
374
+ export interface FormField {
375
+ /** Where the value goes: `email`, `firstName`, `lastName`, `phone`, `jobTitle`, `company`, or `properties.<key>`. */
376
+ target: string;
377
+ label: string;
378
+ required: boolean;
379
+ }
380
+ /** A public signup form: who fills it in becomes (or updates) a contact and is subscribed to its lists. */
381
+ export interface CrmForm extends CrmEntity {
382
+ workspaceUid: string;
383
+ name: string;
384
+ /** The heading the form shows. */
385
+ title: string;
386
+ description?: string;
387
+ fields: FormField[];
388
+ listUids: string[];
389
+ /** Subscriptions stay pending until confirmed by email. */
390
+ doubleOptIn: boolean;
391
+ /** The sender of the confirmation email. Required with `doubleOptIn`. */
392
+ senderUid?: string;
393
+ /** What the form says once submitted. */
394
+ successMessage: string;
395
+ /** Where the browser goes once submitted, instead of the message (https only). */
396
+ redirectUrl?: string;
397
+ /** Tags added to the contact. */
398
+ tags: string[];
399
+ enabled: boolean;
400
+ submissionCount: number;
401
+ }
402
+ /** A deployment-wide value the plugin generates and keeps (the key tokens are signed with). Unique by `key`. */
403
+ export interface CrmSetting extends CrmEntity {
404
+ key: string;
405
+ value: string;
406
+ }
407
+ /** An email template: a design (sections of blocks, rendered with MJML) with a subject and preview line, both able to hold merge tags. */
408
+ export interface EmailTemplate extends CrmEntity {
409
+ workspaceUid: string;
410
+ name: string;
411
+ /** A free-form grouping: `newsletter`, `welcome`, `transactional`... */
412
+ category?: string;
413
+ subject: string;
414
+ /** The line inboxes show after the subject. */
415
+ preheader?: string;
416
+ /** The design - see `templates/Design.ts`'s `TemplateDesign`. */
417
+ design: unknown;
418
+ }
419
+ /** A block (or several) saved to be reused in other templates. */
420
+ export interface SavedBlock extends CrmEntity {
421
+ workspaceUid: string;
422
+ name: string;
423
+ /** The saved blocks - see `templates/Design.ts`'s `DesignBlock`. */
424
+ blocks: unknown[];
425
+ }
426
+ /** Where a campaign is. */
427
+ export declare enum CampaignStatus {
428
+ /** Being written; can be changed. */
429
+ DRAFT = "draft",
430
+ /** Waiting for `scheduledAt`. */
431
+ SCHEDULED = "scheduled",
432
+ /** Its recipients are being worked out (`CampaignJob`). */
433
+ PREPARING = "preparing",
434
+ /** Its messages are going out (`SendDispatchJob`). */
435
+ SENDING = "sending",
436
+ /** Stopped by a member; resuming carries on where it stopped. */
437
+ PAUSED = "paused",
438
+ /** Every message has been sent or given up on. */
439
+ SENT = "sent",
440
+ /** Stopped for good; unsent messages were dropped. */
441
+ CANCELLED = "cancelled",
442
+ /** Couldn't be sent at all (`error` says why). */
443
+ FAILED = "failed"
444
+ }
445
+ /** What an A/B test's winner is picked by: the share of its recipients who opened, clicked or replied. */
446
+ export declare enum AbMetric {
447
+ OPEN = "open",
448
+ CLICK = "click",
449
+ REPLY = "reply"
450
+ }
451
+ /** One version of a campaign in an A/B test: its own subject line, template, or both. */
452
+ export interface CampaignVariant {
453
+ /** `A`, `B`, `C` or `D`. */
454
+ id: string;
455
+ /** The subject line, replacing the template's. */
456
+ subject?: string;
457
+ /** The template, replacing the campaign's. */
458
+ templateUid?: string;
459
+ }
460
+ /**
461
+ * An A/B test: `testPercent` of the audience is split evenly between the variants; after `testHours` the variant with the best
462
+ * `metric` is sent to everyone else.
463
+ */
464
+ export interface AbTest {
465
+ variants: CampaignVariant[];
466
+ testPercent: number;
467
+ metric: AbMetric;
468
+ testHours: number;
469
+ /** The winning variant, once picked. */
470
+ winnerId?: string;
471
+ decidedAt?: Date;
472
+ }
473
+ /** A campaign's (or one variant's) numbers: recipients, and how many of them each thing happened to at least once. */
474
+ export interface CampaignCounts {
475
+ recipients: number;
476
+ sent: number;
477
+ failed: number;
478
+ suppressed: number;
479
+ bounced: number;
480
+ opened: number;
481
+ clicked: number;
482
+ replied: number;
483
+ unsubscribed: number;
484
+ complained: number;
485
+ }
486
+ /** A campaign's numbers, overall and per A/B variant. */
487
+ export interface CampaignStats extends CampaignCounts {
488
+ variants?: Record<string, CampaignCounts>;
489
+ }
490
+ /** A one-off email to the subscribers of some lists. */
491
+ export interface Campaign extends CrmEntity {
492
+ workspaceUid: string;
493
+ name: string;
494
+ status: CampaignStatus;
495
+ templateUid?: string;
496
+ senderUid?: string;
497
+ /** The lists whose subscribers get it. */
498
+ listUids: string[];
499
+ /** Lists whose subscribers don't, even when on one of `listUids`. */
500
+ excludeListUids: string[];
501
+ /** When not empty, only subscribers in one of these segments get it. */
502
+ segmentUids: string[];
503
+ /** Subscribers in these segments don't get it. */
504
+ excludeSegmentUids: string[];
505
+ /** Adds an invisible image that reports opens. */
506
+ trackOpens: boolean;
507
+ /** Sends links through a redirect that reports clicks. */
508
+ trackClicks: boolean;
509
+ abTest?: AbTest;
510
+ /** When it goes out (on `schedule`: now, if not given). */
511
+ scheduledAt?: Date;
512
+ startedAt?: Date;
513
+ finishedAt?: Date;
514
+ /** How far the audience has been worked out: the uid of the last subscription read. */
515
+ audienceCursor?: string;
516
+ audienceDone: boolean;
517
+ /** While `CampaignJob` prepares it on one replica. */
518
+ leaseExpiresAt?: Date;
519
+ recipientCount: number;
520
+ stats: CampaignStats;
521
+ statsAt?: Date;
522
+ error?: string;
523
+ createdByUserUid: string;
524
+ }
525
+ /** Where one outbound message is. */
526
+ export declare enum SendStatus {
527
+ /** Waiting to go out. */
528
+ QUEUED = "queued",
529
+ /** Held back for an A/B test's winner. */
530
+ HELD = "held",
531
+ SENT = "sent",
532
+ /** The mail transport refused it for good, or retries ran out. */
533
+ FAILED = "failed",
534
+ /** Not sent: the address is suppressed, unsubscribed or bounced by the time its turn came. */
535
+ SUPPRESSED = "suppressed",
536
+ /** Not sent: its campaign was cancelled. */
537
+ CANCELLED = "cancelled"
538
+ }
539
+ /** What one outbound message was sent for. */
540
+ export declare enum SendSource {
541
+ CAMPAIGN = "campaign",
542
+ AUTOMATION = "automation"
543
+ }
544
+ /**
545
+ * One marketing message to one contact, and what came of it. Its `token` names it in tracking links, in its `Message-ID` and in
546
+ * its bounce address. Unique by `dedupeKey`, so a campaign (or an automation step) never mails a contact twice.
547
+ */
548
+ export interface OutboundSend extends CrmEntity {
549
+ workspaceUid: string;
550
+ sourceType: SendSource;
551
+ /** The campaign (or automation) it was sent for. */
552
+ sourceUid: string;
553
+ /** `campaign:<campaignUid>:<contactUid>`, `automation:<enrollmentUid>:<nodeId>`... */
554
+ dedupeKey: string;
555
+ contactUid: string;
556
+ /** The address, as it was when the message was queued. */
557
+ email: string;
558
+ /** The A/B variant (`A` without a test; empty while held for a winner). */
559
+ variantId: string;
560
+ status: SendStatus;
561
+ /** Random and unguessable. */
562
+ token: string;
563
+ /** The `Message-ID` header (without angle brackets), once sent. */
564
+ messageId?: string;
565
+ attempts: number;
566
+ /** When it may be tried next. */
567
+ nextAttemptAt: Date;
568
+ /** While one replica is sending it. */
569
+ leaseExpiresAt?: Date;
570
+ sentAt?: Date;
571
+ error?: string;
572
+ firstOpenedAt?: Date;
573
+ lastOpenedAt?: Date;
574
+ openCount: number;
575
+ /** Every open so far looked automatic (a mail server or privacy proxy fetching images). */
576
+ machineOpen: boolean;
577
+ firstClickedAt?: Date;
578
+ clickCount: number;
579
+ repliedAt?: Date;
580
+ bouncedAt?: Date;
581
+ /** `hard` or `soft`. */
582
+ bounceType?: string;
583
+ complainedAt?: Date;
584
+ unsubscribedAt?: Date;
585
+ /** An automation message's step (its `send_email` node). */
586
+ nodeId?: string;
587
+ /** An automation message's template (a campaign's comes from the campaign). */
588
+ templateUid?: string;
589
+ /** An automation message's sender. */
590
+ senderUid?: string;
591
+ /** An automation message's subject line, replacing the template's. */
592
+ subject?: string;
593
+ }
594
+ /** What an engagement event records. */
595
+ export declare enum EngagementType {
596
+ SENT = "sent",
597
+ FAILED = "failed",
598
+ OPENED = "opened",
599
+ CLICKED = "clicked",
600
+ REPLIED = "replied",
601
+ BOUNCED = "bounced",
602
+ COMPLAINED = "complained",
603
+ UNSUBSCRIBED = "unsubscribed"
604
+ }
605
+ /** One thing that happened to an outbound message. Append-only. */
606
+ export interface EngagementEvent extends CrmEntity {
607
+ workspaceUid: string;
608
+ sendUid: string;
609
+ sourceType: SendSource;
610
+ sourceUid: string;
611
+ contactUid: string;
612
+ variantId: string;
613
+ type: EngagementType;
614
+ occurredAt: Date;
615
+ /** Type-specific details: a click's `url` and `index`, an open's `machine`, a bounce's `status` and `bounceType`. */
616
+ data: Record<string, unknown>;
617
+ }
618
+ /** How a segment's members are kept. */
619
+ export declare enum SegmentKind {
620
+ /** Recomputed from its filter as contacts change (`SegmentRefreshJob`). */
621
+ DYNAMIC = "dynamic",
622
+ /** The contacts that matched when it was made (or last refreshed by hand). */
623
+ STATIC = "static"
624
+ }
625
+ /**
626
+ * A named group of contacts, defined by a filter. Its members are `PropertyValue` rows (key `segments`, the segment's uid), so any
627
+ * contact filter can name segments - `{ field: "segments", op: "eq", value: segmentUid }` - and campaigns can aim at them.
628
+ */
629
+ export interface Segment extends CrmEntity {
630
+ workspaceUid: string;
631
+ name: string;
632
+ description?: string;
633
+ kind: SegmentKind;
634
+ /** A contact filter (`filters/Filter.ts`), which may not itself name segments. */
635
+ filter: unknown;
636
+ memberCount: number;
637
+ /** The filter matched more contacts than a segment may hold; only the first were kept. */
638
+ capped: boolean;
639
+ refreshedAt?: Date;
640
+ createdByUserUid: string;
641
+ }
642
+ /** What a scoring rule scores. */
643
+ export declare enum ScoringKind {
644
+ /** Contacts matching a filter get the points once. */
645
+ PROPERTY = "property",
646
+ /** Contacts get the points for each time they did something (within `withinDays`), up to `maxPoints`. */
647
+ ACTIVITY = "activity"
648
+ }
649
+ /** What an activity scoring rule counts. */
650
+ export declare enum ScoringActivity {
651
+ OPENED = "opened",
652
+ CLICKED = "clicked",
653
+ REPLIED = "replied",
654
+ FORM_SUBMITTED = "form_submitted",
655
+ SUBSCRIBED = "subscribed",
656
+ UNSUBSCRIBED = "unsubscribed",
657
+ BOUNCED = "bounced"
658
+ }
659
+ /** One rule of a workspace's lead scoring; a contact's `score` is the sum of every enabled rule's points for them. */
660
+ export interface ScoringRule extends CrmEntity {
661
+ workspaceUid: string;
662
+ name: string;
663
+ enabled: boolean;
664
+ kind: ScoringKind;
665
+ /** A contact filter, for a property rule. */
666
+ filter?: unknown;
667
+ /** What an activity rule counts. */
668
+ activity?: ScoringActivity;
669
+ /** Points per match (property) or per time (activity); negative takes points away. */
670
+ points: number;
671
+ /** An activity rule's points count up to this (in absolute value). None: no limit. */
672
+ maxPoints?: number;
673
+ /** An activity rule counts only what happened in these last days. None: ever. */
674
+ withinDays?: number;
675
+ }
676
+ /** Where an automation is. */
677
+ export declare enum AutomationStatus {
678
+ /** Never published: contacts can't enter it. */
679
+ DRAFT = "draft",
680
+ /** Its published version enrolls contacts and moves them along. */
681
+ ACTIVE = "active",
682
+ /** Nobody enters it and nobody moves on until it is resumed. */
683
+ PAUSED = "paused"
684
+ }
685
+ /** When a contact may enter an automation again. */
686
+ export declare enum AutomationReentry {
687
+ /** Once, ever. */
688
+ NEVER = "never",
689
+ /** Again once their last run through it has finished. */
690
+ AFTER_EXIT = "after_exit"
691
+ }
692
+ /**
693
+ * A workflow contacts go through: a trigger, then steps - waits, conditions, emails and actions - joined by edges. `graph` is the
694
+ * draft being edited; contacts go through the published version (`AutomationVersion`), which a new publish replaces for new
695
+ * enrollments only.
696
+ */
697
+ export interface Automation extends CrmEntity {
698
+ workspaceUid: string;
699
+ name: string;
700
+ description?: string;
701
+ status: AutomationStatus;
702
+ /** The draft - see `automation/Graph.ts`. */
703
+ graph: unknown;
704
+ reentry: AutomationReentry;
705
+ /** Contacts matching this contact filter leave the automation, their goal reached. */
706
+ goalFilter?: unknown;
707
+ publishedVersionUid?: string;
708
+ publishedAt?: Date;
709
+ createdByUserUid: string;
710
+ /** The workspace-local day (`YYYY-MM-DD`) its date trigger last put contacts in (`DateTriggerJob`). */
711
+ dateCheckedOn?: string;
712
+ }
713
+ /** An automation's graph as published. Immutable: running enrollments keep going through the version they entered. */
714
+ export interface AutomationVersion extends CrmEntity {
715
+ workspaceUid: string;
716
+ automationUid: string;
717
+ /** 1 for the first publish, and so on. */
718
+ versionNumber: number;
719
+ graph: unknown;
720
+ publishedByUserUid: string;
721
+ }
722
+ /** Where a contact is in an automation. */
723
+ export declare enum EnrollmentState {
724
+ /** Due to move on at `nextRunAt`. */
725
+ ACTIVE = "active",
726
+ /** Waiting for something to happen (`waitFor`), at most until `nextRunAt`. */
727
+ WAITING = "waiting",
728
+ /** Went through to the end, or reached the goal. */
729
+ COMPLETED = "completed",
730
+ /** Taken out: by a member, or because the contact or automation went away. */
731
+ EXITED = "exited",
732
+ /** Stopped by an error (`error`). */
733
+ FAILED = "failed"
734
+ }
735
+ /** What a waiting enrollment waits for. */
736
+ export interface EnrollmentWait {
737
+ /** The node the enrollment waits at. */
738
+ nodeId: string;
739
+ /** The event that ends the wait, for a wait node; none for a delay. */
740
+ event?: string;
741
+ /** The message the event must be about. */
742
+ sendUid?: string;
743
+ }
744
+ /** One step an enrollment took. */
745
+ export interface EnrollmentStep {
746
+ nodeId: string;
747
+ at: Date;
748
+ /** What happened: `next`, `yes`, `timeout`, `sent`... */
749
+ outcome: string;
750
+ }
751
+ /** One contact's run through an automation. */
752
+ export interface Enrollment extends CrmEntity {
753
+ workspaceUid: string;
754
+ automationUid: string;
755
+ versionUid: string;
756
+ contactUid: string;
757
+ state: EnrollmentState;
758
+ currentNodeId: string;
759
+ nextRunAt: Date;
760
+ waitFor?: EnrollmentWait;
761
+ leaseExpiresAt?: Date;
762
+ /** How many steps it has taken, to stop a runaway loop. */
763
+ steps: number;
764
+ /** Its most recent steps. */
765
+ history: EnrollmentStep[];
766
+ enteredAt: Date;
767
+ finishedAt?: Date;
768
+ error?: string;
769
+ }
770
+ /**
771
+ * Something that happened to a contact, for automations to react to: contact.created, contact.updated, list.subscribed,
772
+ * list.unsubscribed, form.submitted, segment.entered, segment.left, email.sent, email.opened, email.clicked, email.replied,
773
+ * email.bounced, email.unsubscribed. `AutomationTriggerJob` hands each to the workspace's automations once (`dispatchedAt`).
774
+ */
775
+ export interface CrmEvent extends CrmEntity {
776
+ workspaceUid: string;
777
+ type: string;
778
+ contactUid: string;
779
+ occurredAt: Date;
780
+ data: Record<string, unknown>;
781
+ dispatchedAt?: Date;
782
+ }
783
+ /** Whether a stage is still being worked, or the end of a deal. */
784
+ export declare enum StageKind {
785
+ OPEN = "open",
786
+ WON = "won",
787
+ LOST = "lost"
788
+ }
789
+ /** One stage of a pipeline. */
790
+ export interface PipelineStage {
791
+ /** Stable across renames and reorders. */
792
+ id: string;
793
+ name: string;
794
+ /** The chance, in percent, that a deal in this stage is won - what the weighted forecast counts. */
795
+ probability: number;
796
+ kind: StageKind;
797
+ /** A deal in the stage longer than this many days is "rotting". None: never. */
798
+ rottingDays?: number;
799
+ }
800
+ /** The stages deals go through, in order. */
801
+ export interface Pipeline extends CrmEntity {
802
+ workspaceUid: string;
803
+ name: string;
804
+ stages: PipelineStage[];
805
+ /** Where new pipelines-less deals go. */
806
+ isDefault: boolean;
807
+ }
808
+ /** Where a deal is. */
809
+ export declare enum DealStatus {
810
+ OPEN = "open",
811
+ WON = "won",
812
+ LOST = "lost"
813
+ }
814
+ /** One move of a deal between stages. */
815
+ export interface DealStageChange {
816
+ stageId: string;
817
+ at: Date;
818
+ userUid?: string;
819
+ }
820
+ /** A potential sale, going through a pipeline's stages. */
821
+ export interface Deal extends CrmEntity {
822
+ workspaceUid: string;
823
+ name: string;
824
+ amount: number;
825
+ /** An ISO 4217 code: `USD`, `EUR`... */
826
+ currency: string;
827
+ pipelineUid: string;
828
+ stageId: string;
829
+ /** Follows the stage's kind. */
830
+ status: DealStatus;
831
+ ownerUserUid?: string;
832
+ /** The people involved. Mirrored into `PropertyValue` rows (object `deal`, key `contacts`) so a contact's deals can be found. */
833
+ contactUids: string[];
834
+ companyUid?: string;
835
+ expectedCloseDate?: Date;
836
+ closedAt?: Date;
837
+ lostReason?: string;
838
+ /** When it entered its stage. */
839
+ stageChangedAt: Date;
840
+ stageHistory: DealStageChange[];
841
+ createdByUserUid: string;
842
+ }
843
+ /** Where a workspace's events are posted, signed with `secret`. */
844
+ export interface WebhookEndpoint extends CrmEntity {
845
+ workspaceUid: string;
846
+ /** An `https://` address on the public internet. */
847
+ url: string;
848
+ /** The event types sent (`contact.created`, `deal.won`...); `*` for all. */
849
+ events: string[];
850
+ /** The key the `X-RapidMX-Signature` header is made with. */
851
+ secret: string;
852
+ enabled: boolean;
853
+ description?: string;
854
+ /** Failed deliveries in a row; the endpoint is switched off at `MAX_ENDPOINT_FAILURES`. */
855
+ failureCount: number;
856
+ lastDeliveryAt?: Date;
857
+ lastError?: string;
858
+ createdByUserUid: string;
859
+ }
860
+ /** Where a webhook delivery is. */
861
+ export declare enum WebhookDeliveryStatus {
862
+ PENDING = "pending",
863
+ DELIVERED = "delivered",
864
+ FAILED = "failed"
865
+ }
866
+ /** One event to post to one endpoint. */
867
+ export interface WebhookDelivery extends CrmEntity {
868
+ workspaceUid: string;
869
+ endpointUid: string;
870
+ eventType: string;
871
+ /** The JSON body. */
872
+ payload: Record<string, unknown>;
873
+ status: WebhookDeliveryStatus;
874
+ attempts: number;
875
+ nextAttemptAt: Date;
876
+ leaseExpiresAt?: Date;
877
+ responseStatus?: number;
878
+ lastError?: string;
879
+ deliveredAt?: Date;
880
+ }
881
+ /** What an API key may do. */
882
+ export declare enum ApiKeyScope {
883
+ /** Create and update contacts. */
884
+ CONTACTS = "contacts",
885
+ /** Subscribe and unsubscribe contacts. */
886
+ SUBSCRIPTIONS = "subscriptions",
887
+ /** Record custom events for automations. */
888
+ EVENTS = "events"
889
+ }
890
+ /** A key a workspace's own systems call the integration API with. Only its hash is kept. */
891
+ export interface ApiKey extends CrmEntity {
892
+ workspaceUid: string;
893
+ name: string;
894
+ /** The key's first characters, to tell keys apart. */
895
+ prefix: string;
896
+ /** SHA-256 of the key, hex. */
897
+ hash: string;
898
+ scopes: ApiKeyScope[];
899
+ lastUsedAt?: Date;
900
+ revokedAt?: Date;
901
+ createdByUserUid: string;
902
+ }