@wokuapp/sdk 0.3.0 → 0.4.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.
package/dist/index.d.cts CHANGED
@@ -158,6 +158,99 @@ interface components {
158
158
  clientEmail?: string;
159
159
  clientPhone?: string;
160
160
  };
161
+ FollowUpOriginDto: {
162
+ /** @enum {string} */
163
+ tool: "woku" | "nps" | "csat" | "ces";
164
+ refId: string;
165
+ instrumentId?: string;
166
+ };
167
+ FollowUpAttachmentDto: {
168
+ /** @description Stable number of the file in the conversation (survey prelude included). */
169
+ index: number;
170
+ /** @description Display label in the conversation language, e.g. "Archivo 2" or "File 2". Summaries cite files by this label. */
171
+ label: string;
172
+ /** @enum {string} */
173
+ kind: "image" | "audio" | "document" | "unsupported";
174
+ /** @description Private original file (evidence). Absent while pending or when nothing was stored (location, contacts, over the limits). */
175
+ fileId?: string;
176
+ /** @description Converted copy the model read, when there was a conversion. */
177
+ readableFileId?: string;
178
+ filename: string;
179
+ mimeType: string;
180
+ /** @enum {string} */
181
+ status: "pending" | "ready" | "failed" | "unsupported";
182
+ /** @description Transcript (audio) or description (image, document) generated from the file. Untrusted customer content. */
183
+ text?: string;
184
+ /** @description Stable reason code when failed or unsupported (e.g. video, location, message_limit, conversation_limit, read_failed). */
185
+ failureReason?: string;
186
+ /** @description Admin page that opens this file after login and a company check (signed, short-lived download). Never a storage URL. */
187
+ adminUrl?: string;
188
+ };
189
+ FollowUpMessageDto: {
190
+ /** @enum {string} */
191
+ role: "agent" | "client";
192
+ /** @description Message text. May be empty when the message only has files. */
193
+ content: string;
194
+ /** Format: date-time */
195
+ timestamp: string;
196
+ /**
197
+ * @description survey: the prelude, what the customer said in the survey before the follow-up. On the survey_thread line it is the WhatsApp survey exchange; on every other line (follow_up_number, email) it is the original comment as a client message. follow_up: the follow-up itself. Every line may start with the prelude, so messages[0] can be a client message; filter phase === 'follow_up' to read only the follow-up.
198
+ * @enum {string}
199
+ */
200
+ phase: "survey" | "follow_up";
201
+ responseType?: string;
202
+ selectedOption?: string;
203
+ /** @description Files the customer sent with this message. */
204
+ attachments?: components["schemas"]["FollowUpAttachmentDto"][];
205
+ };
206
+ FollowUpCitationDto: {
207
+ index: number;
208
+ /** @description Label of the cited file, e.g. "Archivo 2". */
209
+ label: string;
210
+ fileId?: string;
211
+ /** @description What the file supports in the summary. */
212
+ supports: string;
213
+ /** @description Admin page that opens this file after login and a company check (signed, short-lived download). Never a storage URL. */
214
+ adminUrl?: string;
215
+ };
216
+ FollowUpConversationDto: {
217
+ _id: string;
218
+ companyId: string;
219
+ origin: components["schemas"]["FollowUpOriginDto"];
220
+ wokuId?: string;
221
+ reviewId?: string;
222
+ /** @enum {string} */
223
+ reviewType: "textnote" | "voicemail";
224
+ originalReview: string;
225
+ originalQualification?: number;
226
+ /** @enum {string} */
227
+ state: "pending" | "initial_sent" | "awaiting_detail" | "closing" | "completed" | "timed_out" | "cancelled";
228
+ /** @enum {string} */
229
+ channel: "email" | "whatsapp";
230
+ /**
231
+ * @description WhatsApp line. survey_thread: the agent continues the survey conversation on the survey number. follow_up_number: the agent writes from the dedicated follow-up number. Absent for email.
232
+ * @enum {string}
233
+ */
234
+ line?: "survey_thread" | "follow_up_number";
235
+ /** @description Stable reason code for exclusion, failure or uncertain delivery. Provider error details are never exposed. */
236
+ reason?: string;
237
+ /** @description Messages in order: the survey prelude (phase survey) first, then the follow-up (phase follow_up). Filter phase === 'follow_up' for the follow-up messages only. */
238
+ messages: components["schemas"]["FollowUpMessageDto"][];
239
+ executiveSummary?: string;
240
+ actionItems?: string[];
241
+ sentiment?: string;
242
+ topics?: string[];
243
+ /** @description Files the summary cites; the summary text mentions them as "(Archivo N)". */
244
+ summaryCitations?: components["schemas"]["FollowUpCitationDto"][];
245
+ summaryVersion: number;
246
+ /** Format: date-time */
247
+ createdAt?: string;
248
+ /** Format: date-time */
249
+ updatedAt?: string;
250
+ };
251
+ FollowUpEnvelopeDto: {
252
+ data: components["schemas"]["FollowUpConversationDto"];
253
+ };
161
254
  CreateExternalTrackerDefinitionDTO: {
162
255
  /**
163
256
  * @description Tracker name. Identifies the tracker within the company catalog. Unique per company.
@@ -229,6 +322,33 @@ interface components {
229
322
  */
230
323
  value: string;
231
324
  };
325
+ CustomTicketDestinationUpdateDto: {
326
+ /**
327
+ * @description upsert explicitly reuses the creation URL/method with a stable externalId. remote-id updates the previously created remote resource.
328
+ * @enum {string}
329
+ */
330
+ mode: "upsert" | "remote-id";
331
+ /** @description remote-id only: same-origin URL containing {{remoteId}}; credentials and fragments are forbidden. */
332
+ url?: string;
333
+ /**
334
+ * @description remote-id only.
335
+ * @default PATCH
336
+ * @enum {string}
337
+ */
338
+ method: "PUT" | "PATCH";
339
+ /** @description Dot-separated path to the ID in the creation response, required for remote-id. Prototype keys are forbidden. */
340
+ responseIdPath?: string;
341
+ };
342
+ CustomTicketDestinationConfigDto: {
343
+ /** Format: uri */
344
+ url: string;
345
+ /** @enum {string} */
346
+ method?: "POST" | "PUT";
347
+ headers?: {
348
+ [key: string]: string;
349
+ };
350
+ update?: components["schemas"]["CustomTicketDestinationUpdateDto"];
351
+ };
232
352
  TicketRoutingConditionDto: {
233
353
  /** @enum {string} */
234
354
  relationToPrevious?: "AND" | "OR";
@@ -251,10 +371,12 @@ interface components {
251
371
  V1CreateTicketDestinationDto: {
252
372
  /** @example Zendesk Soporte Chile */
253
373
  name: string;
254
- /** @description Non-secret provider config (validated per kind). */
374
+ /** @description Kind-specific destination configuration. Custom update is optional and explicit; omission never causes a second create. */
255
375
  config: {
256
376
  [key: string]: unknown;
257
- };
377
+ } & (components["schemas"]["CustomTicketDestinationConfigDto"] | {
378
+ [key: string]: unknown;
379
+ });
258
380
  /** @description Provider credentials (write-only, encrypted). */
259
381
  credentials: {
260
382
  [key: string]: string;
@@ -268,9 +390,12 @@ interface components {
268
390
  };
269
391
  V1UpdateTicketDestinationDto: {
270
392
  name?: string;
393
+ /** @description Kind-specific configuration including explicit custom update capability. */
271
394
  config?: {
272
395
  [key: string]: unknown;
273
- };
396
+ } & (components["schemas"]["CustomTicketDestinationConfigDto"] | {
397
+ [key: string]: unknown;
398
+ });
274
399
  /** @description Present = credential rotation. */
275
400
  credentials?: {
276
401
  [key: string]: string;
@@ -407,6 +532,16 @@ interface components {
407
532
  folderId: string | null;
408
533
  };
409
534
  V1CreateTextnoteBodyDto: {
535
+ /**
536
+ * @description Collection provenance. Omitted historical inputs remain unknown and cannot start follow-up.
537
+ * @enum {string}
538
+ */
539
+ collectionKind?: "standalone" | "flow";
540
+ /**
541
+ * Format: ObjectId
542
+ * @description Required for flow captures; validated against the company and instrument.
543
+ */
544
+ flowId?: string;
410
545
  /** @description Opaque invitation or prepared journey-entry response token. Consumed after saving feedback; never stored on the review. */
411
546
  dispatchToken?: string;
412
547
  /**
@@ -429,6 +564,16 @@ interface components {
429
564
  responseChannel?: string;
430
565
  };
431
566
  V1CreateVoicemailBodyDto: {
567
+ /**
568
+ * @description Collection provenance. Omitted historical inputs remain unknown and cannot start follow-up.
569
+ * @enum {string}
570
+ */
571
+ collectionKind?: "standalone" | "flow";
572
+ /**
573
+ * Format: ObjectId
574
+ * @description Required for flow captures; validated against the company and instrument.
575
+ */
576
+ flowId?: string;
432
577
  /** @description Opaque invitation or prepared journey-entry response token. Consumed after saving feedback; never stored on the review. */
433
578
  dispatchToken?: string;
434
579
  /**
@@ -488,6 +633,16 @@ interface components {
488
633
  revoked: boolean;
489
634
  };
490
635
  V1CreateNpsBodyDto: {
636
+ /**
637
+ * @description Collection provenance. Omitted historical inputs remain unknown and cannot start follow-up.
638
+ * @enum {string}
639
+ */
640
+ collectionKind?: "standalone" | "flow";
641
+ /**
642
+ * Format: ObjectId
643
+ * @description Required for flow captures; validated against the company and instrument.
644
+ */
645
+ flowId?: string;
491
646
  /**
492
647
  * @description NPS score 0-10 (0-6 detractor, 7-8 passive, 9-10 promoter)
493
648
  * @example 9
@@ -526,6 +681,16 @@ interface components {
526
681
  description: string;
527
682
  };
528
683
  V1CreateCsatBodyDto: {
684
+ /**
685
+ * @description Collection provenance. Omitted historical inputs remain unknown and cannot start follow-up.
686
+ * @enum {string}
687
+ */
688
+ collectionKind?: "standalone" | "flow";
689
+ /**
690
+ * Format: ObjectId
691
+ * @description Required for flow captures; validated against the company and instrument.
692
+ */
693
+ flowId?: string;
529
694
  /**
530
695
  * @description CSAT satisfaction score 1-5
531
696
  * @example 4
@@ -559,6 +724,16 @@ interface components {
559
724
  description: string;
560
725
  };
561
726
  V1CreateCesBodyDto: {
727
+ /**
728
+ * @description Collection provenance. Omitted historical inputs remain unknown and cannot start follow-up.
729
+ * @enum {string}
730
+ */
731
+ collectionKind?: "standalone" | "flow";
732
+ /**
733
+ * Format: ObjectId
734
+ * @description Required for flow captures; validated against the company and instrument.
735
+ */
736
+ flowId?: string;
562
737
  /**
563
738
  * @description CES effort score 1-5
564
739
  * @example 4
@@ -608,6 +783,16 @@ interface components {
608
783
  externalId?: string;
609
784
  };
610
785
  V1CaptureBodyDto: {
786
+ /**
787
+ * @description Collection provenance. Omitted historical inputs remain unknown and cannot start follow-up.
788
+ * @enum {string}
789
+ */
790
+ collectionKind?: "standalone" | "flow";
791
+ /**
792
+ * Format: ObjectId
793
+ * @description Required for flow captures; validated against the company and instrument.
794
+ */
795
+ flowId?: string;
611
796
  /** @description Opaque invitation or prepared journey-entry response token. Consumed after saving feedback; never stored on the review. */
612
797
  dispatchToken?: string;
613
798
  /** @description Client-generated idempotency id */
@@ -1002,6 +1187,96 @@ interface components {
1002
1187
  defaultLocale?: "es" | "en";
1003
1188
  localizedContent?: components["schemas"]["CesToolLocalizedContentBodyDTO"][];
1004
1189
  };
1190
+ PublicTicketOriginDto: {
1191
+ /** @enum {string} */
1192
+ tool: "woku" | "nps" | "form" | "csat" | "ces";
1193
+ refId: string;
1194
+ instrumentId?: string;
1195
+ instrumentName?: string;
1196
+ trackers?: {
1197
+ trackerId?: string;
1198
+ name?: string;
1199
+ value?: string;
1200
+ }[];
1201
+ };
1202
+ TicketFollowUpDto: {
1203
+ conversationId?: string;
1204
+ /** @enum {string} */
1205
+ state: "not_applicable" | "pending" | "initial_sent" | "awaiting_detail" | "closing" | "completed" | "timed_out" | "cancelled";
1206
+ reason?: string;
1207
+ availableSummaryVersion?: number;
1208
+ /**
1209
+ * @description Current result of applying follow-up evidence to the ticket.
1210
+ * @enum {string}
1211
+ */
1212
+ enrichmentState?: "processing" | "applied" | "failed" | "skipped";
1213
+ /** @description Machine-readable reason for the enrichment result, without provider details or credentials. */
1214
+ enrichmentReason?: string;
1215
+ /** @description Last summary version successfully applied to this ticket. Conversation completion alone does not imply enrichment. */
1216
+ appliedSummaryVersion?: number;
1217
+ /** Format: date-time */
1218
+ enrichedAt?: string;
1219
+ };
1220
+ PublicTicketDto: {
1221
+ _id: string;
1222
+ code?: string;
1223
+ title: string;
1224
+ /** @enum {string} */
1225
+ severity: "high" | "medium" | "low";
1226
+ destinationId?: string;
1227
+ origin: components["schemas"]["PublicTicketOriginDto"];
1228
+ /**
1229
+ * @description Monotonic version of generated ticket content.
1230
+ * @default 1
1231
+ */
1232
+ contentVersion: number;
1233
+ followUp?: components["schemas"]["TicketFollowUpDto"];
1234
+ score?: {
1235
+ value?: number;
1236
+ max?: number;
1237
+ kind?: string;
1238
+ display?: string;
1239
+ };
1240
+ aiSummary?: string;
1241
+ aiCategory?: string;
1242
+ caseDescription?: string;
1243
+ historyHighlights?: string[];
1244
+ whatCustomerWants?: string;
1245
+ suggestedResolution?: string;
1246
+ language?: string;
1247
+ churnRisk?: string;
1248
+ criteria?: string[];
1249
+ historySnapshot?: {
1250
+ [key: string]: unknown;
1251
+ };
1252
+ sentiment?: string;
1253
+ generatedByAI?: boolean;
1254
+ customerComment?: {
1255
+ text?: string;
1256
+ isAudio?: boolean;
1257
+ audioUrl?: string;
1258
+ transcription?: string;
1259
+ };
1260
+ client?: {
1261
+ clientId?: string;
1262
+ name?: string;
1263
+ email?: string;
1264
+ phone?: string;
1265
+ };
1266
+ timeline?: {
1267
+ [key: string]: unknown;
1268
+ }[];
1269
+ /** Format: date-time */
1270
+ createdAt?: string;
1271
+ /** Format: date-time */
1272
+ updatedAt?: string;
1273
+ };
1274
+ PublicTicketsPageDto: {
1275
+ data: components["schemas"]["PublicTicketDto"][];
1276
+ total: number;
1277
+ page: number;
1278
+ limit: number;
1279
+ };
1005
1280
  UpdateTicketBodyDTO: {
1006
1281
  title?: string;
1007
1282
  /** @enum {string} */
@@ -1519,6 +1794,34 @@ interface components {
1519
1794
  pathItems: never;
1520
1795
  }
1521
1796
  interface operations {
1797
+ V1FollowUpsController_get: {
1798
+ parameters: {
1799
+ query?: never;
1800
+ header?: never;
1801
+ path: {
1802
+ id: string;
1803
+ };
1804
+ cookie?: never;
1805
+ };
1806
+ requestBody?: never;
1807
+ responses: {
1808
+ 200: {
1809
+ headers: {
1810
+ [name: string]: unknown;
1811
+ };
1812
+ content: {
1813
+ "application/json": components["schemas"]["FollowUpEnvelopeDto"];
1814
+ };
1815
+ };
1816
+ /** @description Follow-up not found in this company */
1817
+ 404: {
1818
+ headers: {
1819
+ [name: string]: unknown;
1820
+ };
1821
+ content?: never;
1822
+ };
1823
+ };
1824
+ };
1522
1825
  V1Controller_health: {
1523
1826
  parameters: {
1524
1827
  query?: never;
@@ -4875,7 +5178,9 @@ interface operations {
4875
5178
  headers: {
4876
5179
  [name: string]: unknown;
4877
5180
  };
4878
- content?: never;
5181
+ content: {
5182
+ "application/json": components["schemas"]["PublicTicketsPageDto"];
5183
+ };
4879
5184
  };
4880
5185
  /** @description Validation error */
4881
5186
  400: {
@@ -4929,7 +5234,9 @@ interface operations {
4929
5234
  headers: {
4930
5235
  [name: string]: unknown;
4931
5236
  };
4932
- content?: never;
5237
+ content: {
5238
+ "application/json": components["schemas"]["PublicTicketDto"];
5239
+ };
4933
5240
  };
4934
5241
  /** @description Ticket not found */
4935
5242
  404: {
@@ -4960,7 +5267,9 @@ interface operations {
4960
5267
  headers: {
4961
5268
  [name: string]: unknown;
4962
5269
  };
4963
- content?: never;
5270
+ content: {
5271
+ "application/json": components["schemas"]["PublicTicketDto"];
5272
+ };
4964
5273
  };
4965
5274
  /** @description Validation error */
4966
5275
  400: {
@@ -5937,6 +6246,22 @@ type ShareWokuParams = Schemas['V1ShareWokuBodyDto'];
5937
6246
  type UpdateTicketParams = Schemas['UpdateTicketBodyDTO'];
5938
6247
  type CreateTicketDestinationParams = Schemas['V1CreateTicketDestinationDto'];
5939
6248
  type UpdateTicketDestinationParams = Schemas['V1UpdateTicketDestinationDto'];
6249
+ /** Explicit receiver contract for updating the original custom support case. */
6250
+ type CustomTicketUpdateConfig = {
6251
+ mode: 'upsert';
6252
+ responseIdPath?: string;
6253
+ } | {
6254
+ mode: 'remote-id';
6255
+ url: string;
6256
+ method?: 'PUT' | 'PATCH';
6257
+ responseIdPath: string;
6258
+ };
6259
+ type CustomTicketDestinationConfig = {
6260
+ url: string;
6261
+ method?: 'POST' | 'PUT';
6262
+ headers?: Record<string, string>;
6263
+ update?: CustomTicketUpdateConfig;
6264
+ };
5940
6265
  type CreateActionPlanGroupParams = Schemas['CreateActionPlanGroupDto'];
5941
6266
  type UpdateActionPlanGroupParams = Schemas['UpdateActionPlanGroupDto'];
5942
6267
  type CreateActionPlanTaskParams = Schemas['CreateActionPlanTaskDto'];
@@ -6037,6 +6362,114 @@ interface InvitationsResult {
6037
6362
  }>;
6038
6363
  [key: string]: unknown;
6039
6364
  }
6365
+ type FollowUpState = 'pending' | 'initial_sent' | 'awaiting_detail' | 'closing' | 'completed' | 'timed_out' | 'cancelled';
6366
+ interface FollowUpOrigin {
6367
+ tool: 'woku' | 'nps' | 'csat' | 'ces';
6368
+ refId: string;
6369
+ instrumentId?: string;
6370
+ }
6371
+ /** Lightweight evidence state. Completion alone does not mean evidence was applied. */
6372
+ interface FollowUp {
6373
+ conversationId?: string;
6374
+ state: FollowUpState | 'not_applicable';
6375
+ reason?: string;
6376
+ availableSummaryVersion?: number;
6377
+ appliedSummaryVersion?: number;
6378
+ enrichedAt?: string;
6379
+ /** Ticket processing status; conversation completion does not imply application. */
6380
+ enrichmentState?: 'processing' | 'applied' | 'failed' | 'skipped';
6381
+ enrichmentReason?: string;
6382
+ }
6383
+ /**
6384
+ * WhatsApp line of a follow-up. `survey_thread`: the agent continued the
6385
+ * survey conversation on the survey number. `follow_up_number`: it wrote from
6386
+ * the dedicated follow-up number. Absent for email.
6387
+ */
6388
+ type FollowUpLine = 'survey_thread' | 'follow_up_number';
6389
+ /**
6390
+ * `survey`: the survey exchange that preceded the follow-up (prelude).
6391
+ * `follow_up`: the follow-up itself.
6392
+ */
6393
+ type FollowUpMessagePhase = 'survey' | 'follow_up';
6394
+ /**
6395
+ * A file the customer sent. `adminUrl` opens it in the woku admin after login
6396
+ * and a company check; the file itself and storage URLs are never returned.
6397
+ */
6398
+ interface FollowUpAttachment {
6399
+ /** Stable number of the file in the conversation (prelude included). */
6400
+ index: number;
6401
+ /** Label in the conversation language, e.g. "Archivo 2" or "File 2". */
6402
+ label: string;
6403
+ kind: 'image' | 'audio' | 'document' | 'unsupported';
6404
+ /** Private original file. Absent while pending or when nothing was stored. */
6405
+ fileId?: string;
6406
+ /** Converted copy the model read, when there was a conversion. */
6407
+ readableFileId?: string;
6408
+ filename: string;
6409
+ mimeType: string;
6410
+ status: 'pending' | 'ready' | 'failed' | 'unsupported';
6411
+ /** Transcript (audio) or description (image, document). Untrusted customer content. */
6412
+ text?: string;
6413
+ /** Stable reason code when failed or unsupported (e.g. `video`, `read_failed`). */
6414
+ failureReason?: string;
6415
+ adminUrl?: string;
6416
+ }
6417
+ /** A file the executive summary cites as "(Archivo N)". */
6418
+ interface FollowUpCitation {
6419
+ index: number;
6420
+ label: string;
6421
+ fileId?: string;
6422
+ /** What the file supports in the summary. */
6423
+ supports: string;
6424
+ adminUrl?: string;
6425
+ }
6426
+ interface FollowUpMessage {
6427
+ role: 'agent' | 'client';
6428
+ /** May be empty when the message only has files. */
6429
+ content: string;
6430
+ timestamp: string;
6431
+ phase: FollowUpMessagePhase;
6432
+ responseType?: string;
6433
+ selectedOption?: string;
6434
+ attachments?: FollowUpAttachment[];
6435
+ }
6436
+ /** Authorized conversation detail, without response tokens or transport credentials. */
6437
+ interface FollowUpConversation {
6438
+ _id: string;
6439
+ companyId: string;
6440
+ origin: FollowUpOrigin;
6441
+ wokuId?: string;
6442
+ reviewId?: string;
6443
+ reviewType: 'textnote' | 'voicemail';
6444
+ originalReview: string;
6445
+ originalQualification?: number;
6446
+ state: FollowUpState;
6447
+ channel: Channel;
6448
+ line?: FollowUpLine;
6449
+ reason?: string;
6450
+ messages: FollowUpMessage[];
6451
+ executiveSummary?: string;
6452
+ actionItems?: string[];
6453
+ sentiment?: string;
6454
+ topics?: string[];
6455
+ summaryCitations?: FollowUpCitation[];
6456
+ summaryVersion?: number;
6457
+ createdAt?: string;
6458
+ updatedAt?: string;
6459
+ }
6460
+ interface TicketOriginTracker {
6461
+ trackerId?: string;
6462
+ name?: string;
6463
+ value: string;
6464
+ }
6465
+ interface TicketOrigin {
6466
+ tool: FollowUpOrigin['tool'] | 'form';
6467
+ refId: string;
6468
+ instrumentId?: string;
6469
+ instrumentName?: string;
6470
+ trackers?: TicketOriginTracker[];
6471
+ [key: string]: unknown;
6472
+ }
6040
6473
  /** Support ticket (curated allow-list). */
6041
6474
  interface Ticket {
6042
6475
  _id: string;
@@ -6044,7 +6477,9 @@ interface Ticket {
6044
6477
  title: string;
6045
6478
  severity: Severity;
6046
6479
  destinationId?: string;
6047
- origin?: WokuRecord;
6480
+ origin?: TicketOrigin;
6481
+ followUp?: FollowUp;
6482
+ contentVersion?: number;
6048
6483
  score?: WokuRecord;
6049
6484
  aiSummary?: string;
6050
6485
  aiCategory?: string;
@@ -6131,6 +6566,13 @@ interface ApiKeyResult {
6131
6566
  [key: string]: unknown;
6132
6567
  }
6133
6568
 
6569
+ /** Read authorized follow-up conversations with a company management secret. */
6570
+ declare class FollowUps {
6571
+ private readonly client;
6572
+ constructor(client: WokuClient);
6573
+ get(id: string, opts?: RequestOptions): Promise<FollowUpConversation>;
6574
+ }
6575
+
6134
6576
  /** A VoC entity type that can carry tracker values. */
6135
6577
  type TrackerEntityType = 'nps' | 'csat' | 'ces' | 'form' | 'flow';
6136
6578
  interface ListTrackersParams {
@@ -6581,6 +7023,7 @@ declare class Woku {
6581
7023
  readonly actionPlans: ActionPlans;
6582
7024
  readonly actionPlanGroups: ActionPlanGroups;
6583
7025
  readonly tickets: Tickets;
7026
+ readonly followUps: FollowUps;
6584
7027
  readonly ticketDestinations: TicketDestinations;
6585
7028
  readonly dispatches: Dispatches;
6586
7029
  readonly reports: Reports;
@@ -6687,4 +7130,4 @@ declare class InternalServerError extends WokuAPIError {
6687
7130
  constructor(...args: ConstructorParameters<typeof WokuAPIError>);
6688
7131
  }
6689
7132
 
6690
- export { type ApiKeyResult, type AssignTrackerByNameParams, AuthenticationError, BadRequestError, type CesTool, type Channel, ConflictError, type CreateActionPlanGroupParams, type CreateActionPlanTaskParams, type CreateCesToolParams, type CreateCsatToolParams, type CreateNpsToolParams, type CreateTicketDestinationParams, type CreateTrackerParams, type CreateWokuParams, type CreatedJourney, type CsatTool, type DeletedResult, type Dispatch, type DispatchStats, type EnrollInput, type EntitiesByTrackers, type FeedbackType, type FetchLike, InternalServerError, type InvitationsResult, type Journey, type JourneyConnection, type JourneyEnrollment, type JourneyEnrollmentPage, type JourneyEntryInfo, type JourneyEventInput, type JourneyInput, type JourneyMoment, type JourneyMomentPreview, type JourneyMomentTrigger, type JourneyRecipients, type JourneySendWindow, type JourneyStartMode, type JourneyWebhook, Journeys, type ListJourneyEnrollmentsParams, type Locale, Media, type MediaUploadParams, type MediaUploadResult, type MoveWokuParams, NotFoundError, type NpsTool, Page, type PageResponse, PayloadTooLargeError, PermissionDeniedError, type PostPlanReplyParams, type PrepareJourneyEntryInput, type PreparedJourneyEntry, RateLimitError, type ReorderActionPlanTasksParams, type RequestOptions, type Schemas, type SearchEntitiesByTrackersParams, type SendCesInvitationsParams, type SendCsatInvitationsParams, type SendInvitationsParams, type SendNpsInvitationsParams, type Severity, type ShareWokuParams, type TestConnectionResult, type Ticket, type TicketStats, type Tracker, UnprocessableEntityError, type UpdateActionPlanGroupParams, type UpdateActionPlanTaskParams, type UpdateCesToolParams, type UpdateCsatToolParams, type UpdateNpsToolParams, type UpdateTicketDestinationParams, type UpdateTicketParams, type UpdateTrackerParams, type UpdateWokuParams, type UpdateWokuSettingsParams, Woku, WokuAPIError, WokuClient, type WokuClientOptions, WokuConnectionError, WokuError, type WokuErrorBody, type WokuRecord, type WokuResource, WokuTimeoutError };
7133
+ export { type ApiKeyResult, type AssignTrackerByNameParams, AuthenticationError, BadRequestError, type CesTool, type Channel, ConflictError, type CreateActionPlanGroupParams, type CreateActionPlanTaskParams, type CreateCesToolParams, type CreateCsatToolParams, type CreateNpsToolParams, type CreateTicketDestinationParams, type CreateTrackerParams, type CreateWokuParams, type CreatedJourney, type CsatTool, type CustomTicketDestinationConfig, type CustomTicketUpdateConfig, type DeletedResult, type Dispatch, type DispatchStats, type EnrollInput, type EntitiesByTrackers, type FeedbackType, type FetchLike, type FollowUp, type FollowUpAttachment, type FollowUpCitation, type FollowUpConversation, type FollowUpLine, type FollowUpMessage, type FollowUpMessagePhase, type FollowUpOrigin, type FollowUpState, FollowUps, InternalServerError, type InvitationsResult, type Journey, type JourneyConnection, type JourneyEnrollment, type JourneyEnrollmentPage, type JourneyEntryInfo, type JourneyEventInput, type JourneyInput, type JourneyMoment, type JourneyMomentPreview, type JourneyMomentTrigger, type JourneyRecipients, type JourneySendWindow, type JourneyStartMode, type JourneyWebhook, Journeys, type ListJourneyEnrollmentsParams, type Locale, Media, type MediaUploadParams, type MediaUploadResult, type MoveWokuParams, NotFoundError, type NpsTool, Page, type PageResponse, PayloadTooLargeError, PermissionDeniedError, type PostPlanReplyParams, type PrepareJourneyEntryInput, type PreparedJourneyEntry, RateLimitError, type ReorderActionPlanTasksParams, type RequestOptions, type Schemas, type SearchEntitiesByTrackersParams, type SendCesInvitationsParams, type SendCsatInvitationsParams, type SendInvitationsParams, type SendNpsInvitationsParams, type Severity, type ShareWokuParams, type TestConnectionResult, type Ticket, type TicketOrigin, type TicketOriginTracker, type TicketStats, type Tracker, UnprocessableEntityError, type UpdateActionPlanGroupParams, type UpdateActionPlanTaskParams, type UpdateCesToolParams, type UpdateCsatToolParams, type UpdateNpsToolParams, type UpdateTicketDestinationParams, type UpdateTicketParams, type UpdateTrackerParams, type UpdateWokuParams, type UpdateWokuSettingsParams, Woku, WokuAPIError, WokuClient, type WokuClientOptions, WokuConnectionError, WokuError, type WokuErrorBody, type WokuRecord, type WokuResource, WokuTimeoutError };