@epilot/sdk 2.14.0 → 2.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/definitions/access-token.json +18 -0
- package/definitions/customer-portal-runtime.json +1 -1
- package/definitions/customer-portal.json +119 -0
- package/definitions/targeting-runtime.json +1 -1
- package/definitions/targeting.json +291 -0
- package/definitions/workflow-definition-runtime.json +1 -1
- package/definitions/workflow-definition.json +6 -2
- package/dist/access-token-7Y2MDFZH.cjs +7 -0
- package/dist/access-token-NWN7UBUP.js +7 -0
- package/dist/{access-token.d-CegaQmrK.d.cts → access-token.d-BhRUc8I-.d.cts} +38 -1
- package/dist/{access-token.d-CegaQmrK.d.ts → access-token.d-BhRUc8I-.d.ts} +38 -1
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.d.cts +2 -2
- package/dist/apis/access-token.d.ts +2 -2
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +8 -8
- package/dist/apis/customer-portal.d.cts +2 -2
- package/dist/apis/customer-portal.d.ts +2 -2
- package/dist/apis/customer-portal.js +2 -2
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +8 -8
- package/dist/apis/targeting.d.cts +2 -2
- package/dist/apis/targeting.d.ts +2 -2
- package/dist/apis/targeting.js +2 -2
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +8 -8
- package/dist/apis/workflow-definition.js +2 -2
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/{chunk-2FBNQV76.cjs → chunk-A3ILIWGC.cjs} +7 -7
- package/dist/chunk-ADX7IYB3.cjs +14 -0
- package/dist/{chunk-BFMY2X2J.cjs → chunk-DGLXRPNZ.cjs} +1 -1
- package/dist/{chunk-NUUEJRUH.js → chunk-PK76O2WO.js} +7 -7
- package/dist/chunk-TTU24M3D.js +14 -0
- package/dist/chunk-UH24GU2Z.js +14 -0
- package/dist/chunk-W3SPZ6V5.cjs +14 -0
- package/dist/{chunk-6HJ2Y7DZ.js → chunk-Y5YIU6PG.js} +1 -1
- package/dist/{customer-portal-PTVGKDUH.js → customer-portal-6WYH4LMT.js} +1 -1
- package/dist/{customer-portal-6I3G44I4.cjs → customer-portal-JZMXGNRO.cjs} +1 -1
- package/dist/{customer-portal-runtime-4ACQGDNY.cjs → customer-portal-runtime-H7XSAQ6G.cjs} +2 -2
- package/dist/{customer-portal-runtime-E4RI7NYM.js → customer-portal-runtime-JDDF3NWW.js} +1 -1
- package/dist/{customer-portal.d-Bpc-wk9K.d.cts → customer-portal.d-SlKyKhCa.d.cts} +197 -0
- package/dist/{customer-portal.d-Bpc-wk9K.d.ts → customer-portal.d-SlKyKhCa.d.ts} +197 -0
- package/dist/index.cjs +14 -14
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -4
- package/dist/js-yaml-DLCVPJ7G.js +0 -0
- package/dist/targeting-A2X6X7BF.js +7 -0
- package/dist/targeting-CSGKITGV.cjs +7 -0
- package/dist/{targeting-runtime-X3DQ527N.cjs → targeting-runtime-HWL6PLJF.cjs} +2 -2
- package/dist/{targeting-runtime-QI7322HB.js → targeting-runtime-L5RGDNSH.js} +1 -1
- package/dist/{targeting.d-Bq3onSes.d.cts → targeting.d-DaK3kwZg.d.cts} +286 -1
- package/dist/{targeting.d-Bq3onSes.d.ts → targeting.d-DaK3kwZg.d.ts} +286 -1
- package/dist/workflow-definition-MSO4JDA3.js +7 -0
- package/dist/workflow-definition-XTWO4RMY.cjs +7 -0
- package/dist/{workflow-definition-runtime-2HQS3RPK.cjs → workflow-definition-runtime-DYKGFYQE.cjs} +2 -2
- package/dist/{workflow-definition-runtime-JUPATIKU.js → workflow-definition-runtime-GYDTSAJL.js} +1 -1
- package/docs/access-token.md +21 -1
- package/docs/customer-portal.md +139 -0
- package/docs/targeting.md +192 -0
- package/docs/workflow-definition.md +1 -0
- package/package.json +11 -12
- package/definitions/focus-pocus-runtime.json +0 -1
- package/definitions/focus-pocus.json +0 -757
- package/dist/access-token-GD6REL4U.js +0 -7
- package/dist/access-token-NQ5BLMOW.cjs +0 -7
- package/dist/chunk-7ILTRJDQ.cjs +0 -14
- package/dist/chunk-H3NMCCSA.js +0 -14
- package/dist/chunk-OSPTVXY4.js +0 -14
- package/dist/chunk-QNSMYDKG.cjs +0 -14
- package/dist/targeting-4YMBBPDW.cjs +0 -7
- package/dist/targeting-VCENULF6.js +0 -7
- package/dist/workflow-definition-5P3PDJKU.cjs +0 -7
- package/dist/workflow-definition-XSSOSEGF.js +0 -7
|
@@ -65,6 +65,38 @@ declare namespace Components {
|
|
|
65
65
|
*
|
|
66
66
|
*/
|
|
67
67
|
Schemas.ClientError;
|
|
68
|
+
export interface DiscoverCampaignsResponse {
|
|
69
|
+
/**
|
|
70
|
+
* Number of matching NBAs.
|
|
71
|
+
*/
|
|
72
|
+
hits: number;
|
|
73
|
+
/**
|
|
74
|
+
* Matching NBAs, sorted by priority (desc); one entry per campaign.
|
|
75
|
+
*/
|
|
76
|
+
results: {
|
|
77
|
+
campaign_id: /**
|
|
78
|
+
* example:
|
|
79
|
+
* b8c01433-5556-4e2b-aad4-6f5348d1df84
|
|
80
|
+
*/
|
|
81
|
+
Schemas.BaseUUID /* uuid */;
|
|
82
|
+
nba: /**
|
|
83
|
+
* A Next Best Action configured on a campaign's Entity-UI channel.
|
|
84
|
+
* This is the canonical NBA contract shared by discovery (this API), authoring, and rendering.
|
|
85
|
+
* NBA content is single-language in v1; text fields may contain `{{placeholders}}` resolved at render time.
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
Schemas.NextBestAction;
|
|
89
|
+
/**
|
|
90
|
+
* The recipient's current Entity-UI status for this campaign, present only
|
|
91
|
+
* when a recipient record already exists (i.e. the entity has previously seen
|
|
92
|
+
* or clicked this NBA). Absent when the entity has not yet interacted with it.
|
|
93
|
+
* Dismissed NBAs are filtered out server-side, so this is only ever `seen` or
|
|
94
|
+
* `clicked`. Lets the client skip a redundant `seen` call for NBAs already seen.
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
97
|
+
status?: "seen" | "dismissed" | "clicked";
|
|
98
|
+
}[];
|
|
99
|
+
}
|
|
68
100
|
export interface GetTargetQueriesResponse {
|
|
69
101
|
/**
|
|
70
102
|
* List of target query results.
|
|
@@ -339,6 +371,24 @@ declare namespace Components {
|
|
|
339
371
|
[name: string]: any;
|
|
340
372
|
};
|
|
341
373
|
};
|
|
374
|
+
export interface DiscoverCampaignsParams {
|
|
375
|
+
entity_id: /**
|
|
376
|
+
* example:
|
|
377
|
+
* b8c01433-5556-4e2b-aad4-6f5348d1df84
|
|
378
|
+
*/
|
|
379
|
+
BaseUUID /* uuid */;
|
|
380
|
+
/**
|
|
381
|
+
* The schema slug of the entity (e.g. "contact" or "account").
|
|
382
|
+
*/
|
|
383
|
+
entity_schema: string;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Lifecycle status of a Next Best Action on the Entity-UI channel. Unlike the portal
|
|
387
|
+
* channel there is no `sent` state: an NBA recipient is born at `seen`, the moment the
|
|
388
|
+
* action is first rendered to an agent.
|
|
389
|
+
*
|
|
390
|
+
*/
|
|
391
|
+
export type EntityUiStatus = "seen" | "dismissed" | "clicked";
|
|
342
392
|
export interface ExecutionSummaryItem {
|
|
343
393
|
execution_id?: string;
|
|
344
394
|
execution_status?: string;
|
|
@@ -1415,6 +1465,71 @@ declare namespace Components {
|
|
|
1415
1465
|
BaseUUID /* uuid */?
|
|
1416
1466
|
];
|
|
1417
1467
|
}
|
|
1468
|
+
/**
|
|
1469
|
+
* A Next Best Action configured on a campaign's Entity-UI channel.
|
|
1470
|
+
* This is the canonical NBA contract shared by discovery (this API), authoring, and rendering.
|
|
1471
|
+
* NBA content is single-language in v1; text fields may contain `{{placeholders}}` resolved at render time.
|
|
1472
|
+
*
|
|
1473
|
+
*/
|
|
1474
|
+
export interface NextBestAction {
|
|
1475
|
+
/**
|
|
1476
|
+
* Light category label shown above the title. Free-form text.
|
|
1477
|
+
*/
|
|
1478
|
+
category?: string;
|
|
1479
|
+
/**
|
|
1480
|
+
* Curated icon for the NBA.
|
|
1481
|
+
*/
|
|
1482
|
+
icon?: {
|
|
1483
|
+
/**
|
|
1484
|
+
* Icon name from "@epilot360/icons".
|
|
1485
|
+
*/
|
|
1486
|
+
name: string;
|
|
1487
|
+
/**
|
|
1488
|
+
* Optional icon color.
|
|
1489
|
+
*/
|
|
1490
|
+
color?: string;
|
|
1491
|
+
};
|
|
1492
|
+
/**
|
|
1493
|
+
* Bold action title. Required. Supports `{{placeholders}}`.
|
|
1494
|
+
*/
|
|
1495
|
+
title: string;
|
|
1496
|
+
/**
|
|
1497
|
+
* Optional description. Supports `{{placeholders}}` (incl. relative dates).
|
|
1498
|
+
*/
|
|
1499
|
+
body?: string;
|
|
1500
|
+
/**
|
|
1501
|
+
* Display priority. NBAs are shown highest-priority first.
|
|
1502
|
+
*/
|
|
1503
|
+
priority?: "low" | "medium" | "high";
|
|
1504
|
+
/**
|
|
1505
|
+
* Whether the agent can dismiss the NBA.
|
|
1506
|
+
*/
|
|
1507
|
+
is_dismissable?: boolean;
|
|
1508
|
+
/**
|
|
1509
|
+
* The NBA's single call-to-action.
|
|
1510
|
+
*/
|
|
1511
|
+
cta: {
|
|
1512
|
+
type: "journey" | "workflow" | "url";
|
|
1513
|
+
/**
|
|
1514
|
+
* Journey id, workflow definition id, or URL, depending on `type`.
|
|
1515
|
+
*/
|
|
1516
|
+
target: string;
|
|
1517
|
+
/**
|
|
1518
|
+
* Optional CTA button label.
|
|
1519
|
+
*/
|
|
1520
|
+
label?: string;
|
|
1521
|
+
/**
|
|
1522
|
+
* Journey context parameters (journey CTA only). Maps the journey's declared
|
|
1523
|
+
* context parameters so the journey knows which entity it is about. Discovery
|
|
1524
|
+
* returns them verbatim; they are passed to the journey when it launches.
|
|
1525
|
+
*
|
|
1526
|
+
*/
|
|
1527
|
+
context_params?: {
|
|
1528
|
+
key: string;
|
|
1529
|
+
value: string;
|
|
1530
|
+
}[];
|
|
1531
|
+
};
|
|
1532
|
+
}
|
|
1418
1533
|
export interface PortalRecipientPayload {
|
|
1419
1534
|
portal_status: PortalStatus;
|
|
1420
1535
|
portal_state?: {
|
|
@@ -1437,8 +1552,32 @@ declare namespace Components {
|
|
|
1437
1552
|
portal_state?: {
|
|
1438
1553
|
[name: string]: any;
|
|
1439
1554
|
};
|
|
1555
|
+
entity_ui_status?: /**
|
|
1556
|
+
* Lifecycle status of a Next Best Action on the Entity-UI channel. Unlike the portal
|
|
1557
|
+
* channel there is no `sent` state: an NBA recipient is born at `seen`, the moment the
|
|
1558
|
+
* action is first rendered to an agent.
|
|
1559
|
+
*
|
|
1560
|
+
*/
|
|
1561
|
+
EntityUiStatus;
|
|
1562
|
+
entity_ui_status_updated_at?: string; // date-time
|
|
1563
|
+
resolution?: /**
|
|
1564
|
+
* Cross-channel resolution of a campaign for a recipient. Unlike the per-channel `*_status`
|
|
1565
|
+
* fields (where `dismissed` is channel-local), a resolution suppresses the campaign on EVERY
|
|
1566
|
+
* channel — the 360 Entity-UI card and the portal teaser alike. Server-managed and read-only:
|
|
1567
|
+
* never sent by a client. Absence means unresolved.
|
|
1568
|
+
*
|
|
1569
|
+
*/
|
|
1570
|
+
Resolution;
|
|
1440
1571
|
updated_at?: string; // date-time
|
|
1441
1572
|
}
|
|
1573
|
+
/**
|
|
1574
|
+
* Cross-channel resolution of a campaign for a recipient. Unlike the per-channel `*_status`
|
|
1575
|
+
* fields (where `dismissed` is channel-local), a resolution suppresses the campaign on EVERY
|
|
1576
|
+
* channel — the 360 Entity-UI card and the portal teaser alike. Server-managed and read-only:
|
|
1577
|
+
* never sent by a client. Absence means unresolved.
|
|
1578
|
+
*
|
|
1579
|
+
*/
|
|
1580
|
+
export type Resolution = "accepted";
|
|
1442
1581
|
export interface RetriggerAutomationsRequest {
|
|
1443
1582
|
/**
|
|
1444
1583
|
* List of recipient IDs to retrigger automations for
|
|
@@ -1669,6 +1808,21 @@ declare namespace Components {
|
|
|
1669
1808
|
*/
|
|
1670
1809
|
error?: string;
|
|
1671
1810
|
}
|
|
1811
|
+
export interface UpdateEntityUiStatusRequest {
|
|
1812
|
+
status: /**
|
|
1813
|
+
* Lifecycle status of a Next Best Action on the Entity-UI channel. Unlike the portal
|
|
1814
|
+
* channel there is no `sent` state: an NBA recipient is born at `seen`, the moment the
|
|
1815
|
+
* action is first rendered to an agent.
|
|
1816
|
+
*
|
|
1817
|
+
*/
|
|
1818
|
+
EntityUiStatus;
|
|
1819
|
+
/**
|
|
1820
|
+
* Schema slug of the recipient entity (e.g. "contact"). Required when recording the
|
|
1821
|
+
* first `seen`, which lazily creates the recipient record; ignored on later transitions.
|
|
1822
|
+
*
|
|
1823
|
+
*/
|
|
1824
|
+
entity_schema?: string;
|
|
1825
|
+
}
|
|
1672
1826
|
export interface UpdatePortalStatusRequest {
|
|
1673
1827
|
status: PortalStatus;
|
|
1674
1828
|
}
|
|
@@ -1718,6 +1872,14 @@ declare namespace Paths {
|
|
|
1718
1872
|
export type $500 = Components.Responses.ServerErrorResponse;
|
|
1719
1873
|
}
|
|
1720
1874
|
}
|
|
1875
|
+
namespace DiscoverCampaigns {
|
|
1876
|
+
export type RequestBody = Components.Schemas.DiscoverCampaignsParams;
|
|
1877
|
+
namespace Responses {
|
|
1878
|
+
export type $200 = Components.Responses.DiscoverCampaignsResponse;
|
|
1879
|
+
export type $400 = Components.Responses.ClientErrorResponse;
|
|
1880
|
+
export type $500 = Components.Responses.ServerErrorResponse;
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1721
1883
|
namespace GetCampaignJobStatus {
|
|
1722
1884
|
namespace Parameters {
|
|
1723
1885
|
export type CampaignId = /**
|
|
@@ -1861,6 +2023,32 @@ declare namespace Paths {
|
|
|
1861
2023
|
export type $500 = Components.Responses.ServerErrorResponse;
|
|
1862
2024
|
}
|
|
1863
2025
|
}
|
|
2026
|
+
namespace UpdateRecipientEntityUiStatus {
|
|
2027
|
+
namespace Parameters {
|
|
2028
|
+
export type CampaignId = /**
|
|
2029
|
+
* example:
|
|
2030
|
+
* b8c01433-5556-4e2b-aad4-6f5348d1df84
|
|
2031
|
+
*/
|
|
2032
|
+
Components.Schemas.BaseUUID /* uuid */;
|
|
2033
|
+
export type RecipientId = /**
|
|
2034
|
+
* example:
|
|
2035
|
+
* b8c01433-5556-4e2b-aad4-6f5348d1df84
|
|
2036
|
+
*/
|
|
2037
|
+
Components.Schemas.BaseUUID /* uuid */;
|
|
2038
|
+
}
|
|
2039
|
+
export interface PathParameters {
|
|
2040
|
+
campaign_id: Parameters.CampaignId;
|
|
2041
|
+
recipient_id: Parameters.RecipientId;
|
|
2042
|
+
}
|
|
2043
|
+
export type RequestBody = Components.Schemas.UpdateEntityUiStatusRequest;
|
|
2044
|
+
namespace Responses {
|
|
2045
|
+
export type $200 = Components.Responses.RecipientResponse;
|
|
2046
|
+
export type $400 = Components.Responses.ClientErrorResponse;
|
|
2047
|
+
export type $404 = Components.Responses.ClientErrorResponse;
|
|
2048
|
+
export type $409 = Components.Responses.ClientErrorResponse;
|
|
2049
|
+
export type $500 = Components.Responses.ServerErrorResponse;
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
1864
2052
|
namespace UpdateRecipientPortalStatus {
|
|
1865
2053
|
namespace Parameters {
|
|
1866
2054
|
export type CampaignId = /**
|
|
@@ -1969,6 +2157,24 @@ interface OperationMethods {
|
|
|
1969
2157
|
data?: Paths.MatchCampaigns.RequestBody,
|
|
1970
2158
|
config?: AxiosRequestConfig
|
|
1971
2159
|
): OperationResponse<Paths.MatchCampaigns.Responses.$200>
|
|
2160
|
+
/**
|
|
2161
|
+
* discoverCampaigns - Discover Entity-UI Next Best Actions for an entity
|
|
2162
|
+
*
|
|
2163
|
+
* Given an entity, returns the Next Best Actions it should see on the Entity-UI channel.
|
|
2164
|
+
*
|
|
2165
|
+
* Enumerates the organization's **active** campaigns that carry a valid Entity-UI Next Best
|
|
2166
|
+
* Action, live-matches each against the entity using the existing match engine, and returns
|
|
2167
|
+
* the matching NBAs priority-sorted (one per campaign).
|
|
2168
|
+
*
|
|
2169
|
+
* This is a pure read: it writes nothing. An entity that matches no campaigns returns an
|
|
2170
|
+
* empty list, not an error.
|
|
2171
|
+
*
|
|
2172
|
+
*/
|
|
2173
|
+
'discoverCampaigns'(
|
|
2174
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
2175
|
+
data?: Paths.DiscoverCampaigns.RequestBody,
|
|
2176
|
+
config?: AxiosRequestConfig
|
|
2177
|
+
): OperationResponse<Paths.DiscoverCampaigns.Responses.$200>
|
|
1972
2178
|
/**
|
|
1973
2179
|
* matchTargets - Match targets
|
|
1974
2180
|
*
|
|
@@ -2029,6 +2235,32 @@ interface OperationMethods {
|
|
|
2029
2235
|
data?: Paths.UpdateRecipientPortalStatus.RequestBody,
|
|
2030
2236
|
config?: AxiosRequestConfig
|
|
2031
2237
|
): OperationResponse<Paths.UpdateRecipientPortalStatus.Responses.$200>
|
|
2238
|
+
/**
|
|
2239
|
+
* updateRecipientEntityUiStatus - Update Entity-UI (Next Best Action) status for a campaign recipient
|
|
2240
|
+
*
|
|
2241
|
+
* Records a Next Best Action interaction for a recipient on the Entity-UI channel.
|
|
2242
|
+
*
|
|
2243
|
+
* Unlike the portal channel, an NBA recipient is created lazily: the first `seen` creates
|
|
2244
|
+
* the recipient record (and requires `entity_schema`). `seen` is idempotent — re-viewing an
|
|
2245
|
+
* NBA that is already seen/clicked/dismissed is a no-op success and never regresses the status.
|
|
2246
|
+
*
|
|
2247
|
+
* Status transition rules:
|
|
2248
|
+
* - `seen`: lazily creates the recipient; a no-op success if a status already exists
|
|
2249
|
+
* - From `seen`: can change to `clicked` or `dismissed`
|
|
2250
|
+
* - From `clicked`: can change to `dismissed`
|
|
2251
|
+
* - From `dismissed`: cannot be changed (final state)
|
|
2252
|
+
*
|
|
2253
|
+
* `dismissed` and `clicked` require an existing recipient (404 otherwise, since an NBA is
|
|
2254
|
+
* born at `seen`) and reject invalid transitions (409).
|
|
2255
|
+
*
|
|
2256
|
+
* The entity_ui_status_updated_at timestamp is automatically set when the status changes.
|
|
2257
|
+
*
|
|
2258
|
+
*/
|
|
2259
|
+
'updateRecipientEntityUiStatus'(
|
|
2260
|
+
parameters?: Parameters<Paths.UpdateRecipientEntityUiStatus.PathParameters> | null,
|
|
2261
|
+
data?: Paths.UpdateRecipientEntityUiStatus.RequestBody,
|
|
2262
|
+
config?: AxiosRequestConfig
|
|
2263
|
+
): OperationResponse<Paths.UpdateRecipientEntityUiStatus.Responses.$200>
|
|
2032
2264
|
/**
|
|
2033
2265
|
* getRecipients - Get campaign recipients
|
|
2034
2266
|
*
|
|
@@ -2132,6 +2364,26 @@ interface PathsDictionary {
|
|
|
2132
2364
|
config?: AxiosRequestConfig
|
|
2133
2365
|
): OperationResponse<Paths.MatchCampaigns.Responses.$200>
|
|
2134
2366
|
}
|
|
2367
|
+
['/v1/campaign:discover']: {
|
|
2368
|
+
/**
|
|
2369
|
+
* discoverCampaigns - Discover Entity-UI Next Best Actions for an entity
|
|
2370
|
+
*
|
|
2371
|
+
* Given an entity, returns the Next Best Actions it should see on the Entity-UI channel.
|
|
2372
|
+
*
|
|
2373
|
+
* Enumerates the organization's **active** campaigns that carry a valid Entity-UI Next Best
|
|
2374
|
+
* Action, live-matches each against the entity using the existing match engine, and returns
|
|
2375
|
+
* the matching NBAs priority-sorted (one per campaign).
|
|
2376
|
+
*
|
|
2377
|
+
* This is a pure read: it writes nothing. An entity that matches no campaigns returns an
|
|
2378
|
+
* empty list, not an error.
|
|
2379
|
+
*
|
|
2380
|
+
*/
|
|
2381
|
+
'post'(
|
|
2382
|
+
parameters?: Parameters<UnknownParamsObject> | null,
|
|
2383
|
+
data?: Paths.DiscoverCampaigns.RequestBody,
|
|
2384
|
+
config?: AxiosRequestConfig
|
|
2385
|
+
): OperationResponse<Paths.DiscoverCampaigns.Responses.$200>
|
|
2386
|
+
}
|
|
2135
2387
|
['/v1/target:match']: {
|
|
2136
2388
|
/**
|
|
2137
2389
|
* matchTargets - Match targets
|
|
@@ -2202,6 +2454,34 @@ interface PathsDictionary {
|
|
|
2202
2454
|
config?: AxiosRequestConfig
|
|
2203
2455
|
): OperationResponse<Paths.UpdateRecipientPortalStatus.Responses.$200>
|
|
2204
2456
|
}
|
|
2457
|
+
['/v1/campaign/{campaign_id}/recipient/{recipient_id}/entity_ui:status']: {
|
|
2458
|
+
/**
|
|
2459
|
+
* updateRecipientEntityUiStatus - Update Entity-UI (Next Best Action) status for a campaign recipient
|
|
2460
|
+
*
|
|
2461
|
+
* Records a Next Best Action interaction for a recipient on the Entity-UI channel.
|
|
2462
|
+
*
|
|
2463
|
+
* Unlike the portal channel, an NBA recipient is created lazily: the first `seen` creates
|
|
2464
|
+
* the recipient record (and requires `entity_schema`). `seen` is idempotent — re-viewing an
|
|
2465
|
+
* NBA that is already seen/clicked/dismissed is a no-op success and never regresses the status.
|
|
2466
|
+
*
|
|
2467
|
+
* Status transition rules:
|
|
2468
|
+
* - `seen`: lazily creates the recipient; a no-op success if a status already exists
|
|
2469
|
+
* - From `seen`: can change to `clicked` or `dismissed`
|
|
2470
|
+
* - From `clicked`: can change to `dismissed`
|
|
2471
|
+
* - From `dismissed`: cannot be changed (final state)
|
|
2472
|
+
*
|
|
2473
|
+
* `dismissed` and `clicked` require an existing recipient (404 otherwise, since an NBA is
|
|
2474
|
+
* born at `seen`) and reject invalid transitions (409).
|
|
2475
|
+
*
|
|
2476
|
+
* The entity_ui_status_updated_at timestamp is automatically set when the status changes.
|
|
2477
|
+
*
|
|
2478
|
+
*/
|
|
2479
|
+
'patch'(
|
|
2480
|
+
parameters?: Parameters<Paths.UpdateRecipientEntityUiStatus.PathParameters> | null,
|
|
2481
|
+
data?: Paths.UpdateRecipientEntityUiStatus.RequestBody,
|
|
2482
|
+
config?: AxiosRequestConfig
|
|
2483
|
+
): OperationResponse<Paths.UpdateRecipientEntityUiStatus.Responses.$200>
|
|
2484
|
+
}
|
|
2205
2485
|
['/v1/campaign/{campaign_id}/recipients']: {
|
|
2206
2486
|
/**
|
|
2207
2487
|
* getRecipients - Get campaign recipients
|
|
@@ -2236,14 +2516,18 @@ type Campaign = Components.Schemas.Campaign;
|
|
|
2236
2516
|
type CampaignStatus = Components.Schemas.CampaignStatus;
|
|
2237
2517
|
type ClientError = Components.Schemas.ClientError;
|
|
2238
2518
|
type CreateRecipientPayload = Components.Schemas.CreateRecipientPayload;
|
|
2519
|
+
type DiscoverCampaignsParams = Components.Schemas.DiscoverCampaignsParams;
|
|
2520
|
+
type EntityUiStatus = Components.Schemas.EntityUiStatus;
|
|
2239
2521
|
type ExecutionSummaryItem = Components.Schemas.ExecutionSummaryItem;
|
|
2240
2522
|
type GetTargetQueriesParams = Components.Schemas.GetTargetQueriesParams;
|
|
2241
2523
|
type JobStatus = Components.Schemas.JobStatus;
|
|
2242
2524
|
type MatchCampaignParams = Components.Schemas.MatchCampaignParams;
|
|
2243
2525
|
type MatchTargetParams = Components.Schemas.MatchTargetParams;
|
|
2526
|
+
type NextBestAction = Components.Schemas.NextBestAction;
|
|
2244
2527
|
type PortalRecipientPayload = Components.Schemas.PortalRecipientPayload;
|
|
2245
2528
|
type PortalStatus = Components.Schemas.PortalStatus;
|
|
2246
2529
|
type Recipient = Components.Schemas.Recipient;
|
|
2530
|
+
type Resolution = Components.Schemas.Resolution;
|
|
2247
2531
|
type RetriggerAutomationsRequest = Components.Schemas.RetriggerAutomationsRequest;
|
|
2248
2532
|
type RetriggerAutomationsResult = Components.Schemas.RetriggerAutomationsResult;
|
|
2249
2533
|
type ServerError = Components.Schemas.ServerError;
|
|
@@ -2252,7 +2536,8 @@ type SetupTariffChangeCampaignRequest = Components.Schemas.SetupTariffChangeCamp
|
|
|
2252
2536
|
type SetupTariffChangeCampaignResponse = Components.Schemas.SetupTariffChangeCampaignResponse;
|
|
2253
2537
|
type Target = Components.Schemas.Target;
|
|
2254
2538
|
type TargetQueryResult = Components.Schemas.TargetQueryResult;
|
|
2539
|
+
type UpdateEntityUiStatusRequest = Components.Schemas.UpdateEntityUiStatusRequest;
|
|
2255
2540
|
type UpdatePortalStatusRequest = Components.Schemas.UpdatePortalStatusRequest;
|
|
2256
2541
|
type UpdateRecipientPayload = Components.Schemas.UpdateRecipientPayload;
|
|
2257
2542
|
|
|
2258
|
-
export { type AutomationRecipientPayload as A, type BaseEntityAcl as B, type Client as C, type
|
|
2543
|
+
export { type AutomationRecipientPayload as A, type BaseEntityAcl as B, type Client as C, type DiscoverCampaignsParams as D, type EntityUiStatus as E, type SetupTariffChangeCampaignResponse as F, type GetTargetQueriesParams as G, type TargetQueryResult as H, type UpdatePortalStatusRequest as I, type JobStatus as J, type UpdateRecipientPayload as K, type MatchCampaignParams as M, type NextBestAction as N, type OperationMethods as O, Paths as P, type Recipient as R, type ServerError as S, type Target as T, type UpdateEntityUiStatusRequest as U, Components as a, type PathsDictionary as b, type AutomationStatus as c, type BaseEntityOwner as d, type BaseError as e, type BaseNanoID as f, type BaseRecipientPayload as g, type BaseRelation as h, type BaseSystemFields as i, type BaseSystemFieldsRequired as j, type BaseSystemId as k, type BaseTags as l, type BaseUUID as m, type Campaign as n, type CampaignStatus as o, type ClientError as p, type CreateRecipientPayload as q, type ExecutionSummaryItem as r, type MatchTargetParams as s, type PortalRecipientPayload as t, type PortalStatus as u, type Resolution as v, type RetriggerAutomationsRequest as w, type RetriggerAutomationsResult as x, type SetupCampaignRequest as y, type SetupTariffChangeCampaignRequest as z };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./chunk-YPSWSI3M.js";
|
|
2
|
+
|
|
3
|
+
// src/docs/workflow-definition.json
|
|
4
|
+
var workflow_definition_default = '# Workflows Definitions\n\n- **Base URL:** `https://workflows-definition.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/workflow-definition](https://docs.epilot.io/api/workflow-definition)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.workflowDefinition.getMaxAllowedLimit(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/workflow-definition\'\n\nconst workflowDefinitionClient = getClient()\nauthorize(workflowDefinitionClient, () => \'<token>\')\nconst { data } = await workflowDefinitionClient.getMaxAllowedLimit(...)\n```\n\n## Operations\n\n**Workflows**\n- [`getMaxAllowedLimit`](#getmaxallowedlimit)\n- [`getDefinitions`](#getdefinitions)\n- [`createDefinition`](#createdefinition)\n- [`getDefinition`](#getdefinition)\n- [`updateDefinition`](#updatedefinition)\n- [`deleteDefinition`](#deletedefinition)\n- [`getWorkflowClosingReasons`](#getworkflowclosingreasons)\n- [`setWorkflowClosingReasons`](#setworkflowclosingreasons)\n\n**Flows V2**\n- [`listFlowTemplates`](#listflowtemplates)\n- [`createFlowTemplate`](#createflowtemplate)\n- [`searchFlowTemplates`](#searchflowtemplates)\n- [`getFlowTemplate`](#getflowtemplate)\n- [`updateFlowTemplate`](#updateflowtemplate)\n- [`deleteFlowTemplate`](#deleteflowtemplate)\n- [`duplicateFlowTemplate`](#duplicateflowtemplate)\n\n**Closing Reason**\n- [`getAllClosingReasons`](#getallclosingreasons)\n- [`createClosingReason`](#createclosingreason)\n- [`getClosingReason`](#getclosingreason)\n- [`updateClosingReason`](#updateclosingreason)\n- [`deleteClosingReason`](#deleteclosingreason)\n- [`changeReasonStatus`](#changereasonstatus)\n\n**Schemas**\n- [`FlowTemplateBase`](#flowtemplatebase)\n- [`FlowLimitWarning`](#flowlimitwarning)\n- [`FlowTemplate`](#flowtemplate)\n- [`Version`](#version)\n- [`Trigger`](#trigger)\n- [`ManualTrigger`](#manualtrigger)\n- [`AutomationTrigger`](#automationtrigger)\n- [`JourneyAutomationTrigger`](#journeyautomationtrigger)\n- [`JourneySubmissionTrigger`](#journeysubmissiontrigger)\n- [`CreateFlowTemplate`](#createflowtemplate)\n- [`SearchFlowTemplates`](#searchflowtemplates)\n- [`FlowTemplatesList`](#flowtemplateslist)\n- [`FlowTemplateId`](#flowtemplateid)\n- [`Task`](#task)\n- [`ManualTask`](#manualtask)\n- [`AutomationTask`](#automationtask)\n- [`AutomationConfig`](#automationconfig)\n- [`AutomationInputContext`](#automationinputcontext)\n- [`AiAgentTask`](#aiagenttask)\n- [`AgentConfig`](#agentconfig)\n- [`TriggerMode`](#triggermode)\n- [`ActionSchedule`](#actionschedule)\n- [`ImmediateSchedule`](#immediateschedule)\n- [`DelayedSchedule`](#delayedschedule)\n- [`RelativeSchedule`](#relativeschedule)\n- [`DecisionTask`](#decisiontask)\n- [`TaskBase`](#taskbase)\n- [`Phase`](#phase)\n- [`VariableAssignment`](#variableassignment)\n- [`TaskType`](#tasktype)\n- [`Edge`](#edge)\n- [`Condition`](#condition)\n- [`Statement`](#statement)\n- [`EvaluationSource`](#evaluationsource)\n- [`Operator`](#operator)\n- [`DueDateConfig`](#duedateconfig)\n- [`TimeUnit`](#timeunit)\n- [`EnableRequirement`](#enablerequirement)\n- [`WorkflowDefinition`](#workflowdefinition)\n- [`Step`](#step)\n- [`Section`](#section)\n- [`TriggerType`](#triggertype)\n- [`ItemType`](#itemtype)\n- [`StepType`](#steptype)\n- [`StepJourney`](#stepjourney)\n- [`ECPDetails`](#ecpdetails)\n- [`PartnerDetails`](#partnerdetails)\n- [`StepDescription`](#stepdescription)\n- [`MaxAllowedLimit`](#maxallowedlimit)\n- [`DefinitionNotFoundResp`](#definitionnotfoundresp)\n- [`ClosingReasonNotFoundResp`](#closingreasonnotfoundresp)\n- [`ChangeReasonStatusReq`](#changereasonstatusreq)\n- [`ClosingReasons`](#closingreasons)\n- [`ClosingReason`](#closingreason)\n- [`ClosingReasonsStatus`](#closingreasonsstatus)\n- [`ClosingReasonsIds`](#closingreasonsids)\n- [`ClosingReasonId`](#closingreasonid)\n- [`ErrorResp`](#errorresp)\n- [`UpdateEntityAttributes`](#updateentityattributes)\n- [`EntitySync`](#entitysync)\n- [`DynamicDueDate`](#dynamicduedate)\n- [`StepRequirement`](#steprequirement)\n\n### `getMaxAllowedLimit`\n\nGet limits and number of created executions for an Organization.\n\n`GET /v1/workflows/limits/max-allowed`\n\n```ts\nconst { data } = await client.getMaxAllowedLimit()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "currentNoOfWorkflows": 0,\n "maxAllowed": 0\n}\n```\n\n</details>\n\n---\n\n### `getDefinitions`\n\nRetrieve all V1 workflow definitions belonging to the authenticated organization.\n\n`GET /v1/workflows/definitions`\n\n```ts\nconst { data } = await client.getDefinitions()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "name": "string",\n "description": "string",\n "creationTime": "2021-04-27T12:01:13.000Z",\n "enabled": true,\n "lastUpdateTime": "2021-04-27T12:01:13.000Z",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "actionTypeCondition": "WORKFLOW_STARTED",\n "stepId": "string",\n "phaseId": "string"\n },\n "userIds": [0],\n "assignedTo": ["string"],\n "enableECPWorkflow": true,\n "flow": [\n {},\n {}\n ],\n "closingReasons": [\n {}\n ],\n "updateEntityAttributes": [\n {}\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `createDefinition`\n\nCreate a new V1 workflow definition. The definition consists of sections and steps\nthat define the structure of the workflow. Once created, the definition can be used\nto start workflow executions.\n\n`POST /v1/workflows/definitions`\n\n```ts\nconst { data } = await client.createDefinition(\n null,\n {\n id: \'string\',\n name: \'string\',\n description: \'string\',\n creationTime: \'2021-04-27T12:01:13.000Z\',\n enabled: true,\n lastUpdateTime: \'2021-04-27T12:01:13.000Z\',\n dueDate: \'2021-04-27T12:00:00.000Z\',\n dynamicDueDate: {\n numberOfUnits: 0,\n timePeriod: \'minutes\',\n actionTypeCondition: \'WORKFLOW_STARTED\',\n stepId: \'string\',\n phaseId: \'string\'\n },\n userIds: [0],\n assignedTo: [\'string\'],\n enableECPWorkflow: true,\n flow: [\n {\n id: \'string\',\n name: \'string\',\n order: 0,\n type: \'STEP\',\n dueDate: \'2021-04-27T12:00:00.000Z\',\n dynamicDueDate: { /* ... */ },\n assignedTo: [\'string\'],\n steps: [ /* ... */ ],\n taxonomies: [\'string\']\n },\n {\n id: \'string\',\n name: \'string\',\n description: { /* ... */ },\n executionType: \'MANUAL\',\n automationConfig: { /* ... */ },\n journey: { /* ... */ },\n order: 0,\n dueDate: \'2021-04-27T12:00:00.000Z\',\n dynamicDueDate: { /* ... */ },\n userIds: [0],\n requirements: [ /* ... */ ],\n assignedTo: [\'string\'],\n type: \'STEP\',\n ecp: { /* ... */ },\n installer: { /* ... */ },\n partner: { /* ... */ },\n taxonomies: [\'string\']\n }\n ],\n closingReasons: [\n {\n id: \'x739cew\'\n }\n ],\n updateEntityAttributes: [\n {\n source: \'workflow_status\',\n target: { /* ... */ }\n }\n ],\n taxonomies: [\'string\'],\n singleClosingReasonSelection: true,\n _manifest: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "name": "string",\n "description": "string",\n "creationTime": "2021-04-27T12:01:13.000Z",\n "enabled": true,\n "lastUpdateTime": "2021-04-27T12:01:13.000Z",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "actionTypeCondition": "WORKFLOW_STARTED",\n "stepId": "string",\n "phaseId": "string"\n },\n "userIds": [0],\n "assignedTo": ["string"],\n "enableECPWorkflow": true,\n "flow": [\n {\n "id": "string",\n "name": "string",\n "order": 0,\n "type": "STEP",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {},\n "assignedTo": ["string"],\n "steps": [],\n "taxonomies": ["string"]\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "executionType": "MANUAL",\n "automationConfig": {},\n "journey": {},\n "order": 0,\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {},\n "userIds": [0],\n "requirements": [],\n "assignedTo": ["string"],\n "type": "STEP",\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"]\n }\n ],\n "closingReasons": [\n {\n "id": "x739cew"\n }\n ],\n "updateEntityAttributes": [\n {\n "source": "workflow_status",\n "target": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `listFlowTemplates`\n\nList all Flow Templates for a customer. Optionally, you can filter flow templates by trigger values.\n\n`GET /v2/flows/templates`\n\n```ts\nconst { data } = await client.listFlowTemplates({\n trigger_type: \'example\',\n trigger_source_id: \'example\',\n trigger_schema: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": {},\n "enabled": true,\n "version": 2,\n "created_at": "2021-04-27T12:01:13.000Z",\n "updated_at": "2021-04-27T12:01:13.000Z",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "assigned_to": ["string"],\n "available_in_ecp": true,\n "additional_triggers": [],\n "phases": [],\n "tasks": [],\n "edges": [],\n "closing_reasons": [],\n "entity_sync": [],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"],\n "linear": true,\n "limit_warnings": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createFlowTemplate`\n\nCreate a new Flow Template (V2 workflow definition).\n\n`POST /v2/flows/templates`\n\n```ts\nconst { data } = await client.createFlowTemplate(\n {\n enforce_limits: true,\n },\n {\n id: \'string\',\n org_id: \'string\',\n name: \'string\',\n description: \'string\',\n trigger: {\n type: \'automation\',\n automation_id: \'g92j2-sg9ug92hjt1gh-9s9gajgs-a979gg\'\n },\n enabled: true,\n version: 2,\n created_at: \'2021-04-27T12:01:13.000Z\',\n updated_at: \'2021-04-27T12:01:13.000Z\',\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: {\n duration: 0,\n unit: \'minutes\',\n type: \'WORKFLOW_STARTED\',\n task_id: \'string\',\n phase_id: \'string\'\n },\n assigned_to: [\'string\'],\n available_in_ecp: true,\n additional_triggers: [\n {\n id: \'string\',\n type: \'manual\',\n entity_schema: \'string\'\n },\n {\n id: \'string\',\n type: \'automation\',\n automation_id: \'string\',\n input_entity: \'thread\',\n trigger_config: [ /* ... */ ]\n },\n /* ... 2 more */\n ],\n phases: [\n {\n id: \'string\',\n name: \'string\',\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: { /* ... */ },\n assigned_to: [\'string\'],\n taxonomies: [\'string\']\n }\n ],\n tasks: [\n {\n id: \'string\',\n name: \'string\',\n description: { /* ... */ },\n journey: { /* ... */ },\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: { /* ... */ },\n requirements: [ /* ... */ ],\n assigned_to: [\'string\'],\n ecp: { /* ... */ },\n installer: { /* ... */ },\n partner: { /* ... */ },\n taxonomies: [\'string\'],\n phase_id: \'string\',\n task_type: \'MANUAL\'\n },\n {\n id: \'string\',\n name: \'string\',\n description: { /* ... */ },\n journey: { /* ... */ },\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: { /* ... */ },\n requirements: [ /* ... */ ],\n assigned_to: [\'string\'],\n ecp: { /* ... */ },\n installer: { /* ... */ },\n partner: { /* ... */ },\n taxonomies: [\'string\'],\n phase_id: \'string\',\n task_type: \'MANUAL\',\n automation_config: { /* ... */ },\n trigger_mode: \'manual\',\n schedule: { /* ... */ },\n created_automatically: false\n },\n /* ... 2 more */\n ],\n edges: [\n {\n id: \'string\',\n from_id: \'string\',\n to_id: \'string\',\n condition_id: \'string\',\n none_met: true\n }\n ],\n closing_reasons: [\n {\n id: \'string\',\n title: \'string\',\n status: \'ACTIVE\',\n lastUpdateTime: \'string\',\n creationTime: \'string\'\n }\n ],\n entity_sync: [\n {\n trigger: { /* ... */ },\n target: { /* ... */ },\n value: { /* ... */ }\n }\n ],\n taxonomies: [\'string\'],\n singleClosingReasonSelection: true,\n _manifest: [\'string\'],\n linear: true,\n limit_warnings: [\n {\n i18nKey: \'string\',\n message: \'string\',\n max: 0,\n current: 0,\n node_id: \'string\',\n task_name: \'string\',\n branch_name: \'string\',\n param_name: \'string\',\n path: [ /* ... */ ]\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": {\n "type": "automation",\n "automation_id": "g92j2-sg9ug92hjt1gh-9s9gajgs-a979gg"\n },\n "enabled": true,\n "version": 2,\n "created_at": "2021-04-27T12:01:13.000Z",\n "updated_at": "2021-04-27T12:01:13.000Z",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {\n "duration": 0,\n "unit": "minutes",\n "type": "WORKFLOW_STARTED",\n "task_id": "string",\n "phase_id": "string"\n },\n "assigned_to": ["string"],\n "available_in_ecp": true,\n "additional_triggers": [\n {\n "id": "string",\n "type": "manual",\n "entity_schema": "string"\n },\n {\n "id": "string",\n "type": "automation",\n "automation_id": "string",\n "input_entity": "thread",\n "trigger_config": []\n }\n ],\n "phases": [\n {\n "id": "string",\n "name": "string",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "assigned_to": ["string"],\n "taxonomies": ["string"]\n }\n ],\n "tasks": [\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL"\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL",\n "automation_config": {},\n "trigger_mode": "manual",\n "schedule": {},\n "created_automatically": false\n }\n ],\n "edges": [\n {\n "id": "string",\n "from_id": "string",\n "to_id": "string",\n "condition_id": "string",\n "none_met": true\n }\n ],\n "closing_reasons": [\n {\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n }\n ],\n "entity_sync": [\n {\n "trigger": {},\n "target": {},\n "value": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"],\n "linear": true,\n "limit_warnings": [\n {\n "i18nKey": "string",\n "message": "string",\n "max": 0,\n "current": 0,\n "node_id": "string",\n "task_name": "string",\n "branch_name": "string",\n "param_name": "string",\n "path": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchFlowTemplates`\n\nSearch for flow templates by name, trigger type, enabled status, and more.\n\n`POST /v2/flows/templates:search`\n\n```ts\nconst { data } = await client.searchFlowTemplates(\n null,\n {\n name: \'string\',\n definition_id: \'string\',\n trigger_type: \'journey_submission\',\n enabled: true,\n from: 0,\n size: 0,\n sort_by: \'updated_at\',\n sort_order: \'desc\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 0,\n "results": [\n {\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": {},\n "enabled": true,\n "version": 2,\n "created_at": "2021-04-27T12:01:13.000Z",\n "updated_at": "2021-04-27T12:01:13.000Z",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "assigned_to": ["string"],\n "available_in_ecp": true,\n "additional_triggers": [],\n "phases": [],\n "tasks": [],\n "edges": [],\n "closing_reasons": [],\n "entity_sync": [],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"],\n "linear": true,\n "limit_warnings": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getFlowTemplate`\n\nRetrieve a specific flow template by its unique identifier.\n\n`GET /v2/flows/templates/{flowId}`\n\n```ts\nconst { data } = await client.getFlowTemplate({\n flowId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": {\n "type": "automation",\n "automation_id": "g92j2-sg9ug92hjt1gh-9s9gajgs-a979gg"\n },\n "enabled": true,\n "version": 2,\n "created_at": "2021-04-27T12:01:13.000Z",\n "updated_at": "2021-04-27T12:01:13.000Z",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {\n "duration": 0,\n "unit": "minutes",\n "type": "WORKFLOW_STARTED",\n "task_id": "string",\n "phase_id": "string"\n },\n "assigned_to": ["string"],\n "available_in_ecp": true,\n "additional_triggers": [\n {\n "id": "string",\n "type": "manual",\n "entity_schema": "string"\n },\n {\n "id": "string",\n "type": "automation",\n "automation_id": "string",\n "input_entity": "thread",\n "trigger_config": []\n }\n ],\n "phases": [\n {\n "id": "string",\n "name": "string",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "assigned_to": ["string"],\n "taxonomies": ["string"]\n }\n ],\n "tasks": [\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL"\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL",\n "automation_config": {},\n "trigger_mode": "manual",\n "schedule": {},\n "created_automatically": false\n }\n ],\n "edges": [\n {\n "id": "string",\n "from_id": "string",\n "to_id": "string",\n "condition_id": "string",\n "none_met": true\n }\n ],\n "closing_reasons": [\n {\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n }\n ],\n "entity_sync": [\n {\n "trigger": {},\n "target": {},\n "value": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"],\n "linear": true,\n "limit_warnings": [\n {\n "i18nKey": "string",\n "message": "string",\n "max": 0,\n "current": 0,\n "node_id": "string",\n "task_name": "string",\n "branch_name": "string",\n "param_name": "string",\n "path": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateFlowTemplate`\n\nUpdate Flow Template.\n\n`PUT /v2/flows/templates/{flowId}`\n\n```ts\nconst { data } = await client.updateFlowTemplate(\n {\n flowId: \'example\',\n enforce_limits: true,\n },\n {\n id: \'string\',\n org_id: \'string\',\n name: \'string\',\n description: \'string\',\n trigger: {\n type: \'automation\',\n automation_id: \'g92j2-sg9ug92hjt1gh-9s9gajgs-a979gg\'\n },\n enabled: true,\n version: 2,\n created_at: \'2021-04-27T12:01:13.000Z\',\n updated_at: \'2021-04-27T12:01:13.000Z\',\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: {\n duration: 0,\n unit: \'minutes\',\n type: \'WORKFLOW_STARTED\',\n task_id: \'string\',\n phase_id: \'string\'\n },\n assigned_to: [\'string\'],\n available_in_ecp: true,\n additional_triggers: [\n {\n id: \'string\',\n type: \'manual\',\n entity_schema: \'string\'\n },\n {\n id: \'string\',\n type: \'automation\',\n automation_id: \'string\',\n input_entity: \'thread\',\n trigger_config: [ /* ... */ ]\n },\n /* ... 2 more */\n ],\n phases: [\n {\n id: \'string\',\n name: \'string\',\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: { /* ... */ },\n assigned_to: [\'string\'],\n taxonomies: [\'string\']\n }\n ],\n tasks: [\n {\n id: \'string\',\n name: \'string\',\n description: { /* ... */ },\n journey: { /* ... */ },\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: { /* ... */ },\n requirements: [ /* ... */ ],\n assigned_to: [\'string\'],\n ecp: { /* ... */ },\n installer: { /* ... */ },\n partner: { /* ... */ },\n taxonomies: [\'string\'],\n phase_id: \'string\',\n task_type: \'MANUAL\'\n },\n {\n id: \'string\',\n name: \'string\',\n description: { /* ... */ },\n journey: { /* ... */ },\n due_date: \'2021-04-27T12:00:00.000Z\',\n due_date_config: { /* ... */ },\n requirements: [ /* ... */ ],\n assigned_to: [\'string\'],\n ecp: { /* ... */ },\n installer: { /* ... */ },\n partner: { /* ... */ },\n taxonomies: [\'string\'],\n phase_id: \'string\',\n task_type: \'MANUAL\',\n automation_config: { /* ... */ },\n trigger_mode: \'manual\',\n schedule: { /* ... */ },\n created_automatically: false\n },\n /* ... 2 more */\n ],\n edges: [\n {\n id: \'string\',\n from_id: \'string\',\n to_id: \'string\',\n condition_id: \'string\',\n none_met: true\n }\n ],\n closing_reasons: [\n {\n id: \'string\',\n title: \'string\',\n status: \'ACTIVE\',\n lastUpdateTime: \'string\',\n creationTime: \'string\'\n }\n ],\n entity_sync: [\n {\n trigger: { /* ... */ },\n target: { /* ... */ },\n value: { /* ... */ }\n }\n ],\n taxonomies: [\'string\'],\n singleClosingReasonSelection: true,\n _manifest: [\'string\'],\n linear: true,\n limit_warnings: [\n {\n i18nKey: \'string\',\n message: \'string\',\n max: 0,\n current: 0,\n node_id: \'string\',\n task_name: \'string\',\n branch_name: \'string\',\n param_name: \'string\',\n path: [ /* ... */ ]\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": {\n "type": "automation",\n "automation_id": "g92j2-sg9ug92hjt1gh-9s9gajgs-a979gg"\n },\n "enabled": true,\n "version": 2,\n "created_at": "2021-04-27T12:01:13.000Z",\n "updated_at": "2021-04-27T12:01:13.000Z",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {\n "duration": 0,\n "unit": "minutes",\n "type": "WORKFLOW_STARTED",\n "task_id": "string",\n "phase_id": "string"\n },\n "assigned_to": ["string"],\n "available_in_ecp": true,\n "additional_triggers": [\n {\n "id": "string",\n "type": "manual",\n "entity_schema": "string"\n },\n {\n "id": "string",\n "type": "automation",\n "automation_id": "string",\n "input_entity": "thread",\n "trigger_config": []\n }\n ],\n "phases": [\n {\n "id": "string",\n "name": "string",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "assigned_to": ["string"],\n "taxonomies": ["string"]\n }\n ],\n "tasks": [\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL"\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL",\n "automation_config": {},\n "trigger_mode": "manual",\n "schedule": {},\n "created_automatically": false\n }\n ],\n "edges": [\n {\n "id": "string",\n "from_id": "string",\n "to_id": "string",\n "condition_id": "string",\n "none_met": true\n }\n ],\n "closing_reasons": [\n {\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n }\n ],\n "entity_sync": [\n {\n "trigger": {},\n "target": {},\n "value": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"],\n "linear": true,\n "limit_warnings": [\n {\n "i18nKey": "string",\n "message": "string",\n "max": 0,\n "current": 0,\n "node_id": "string",\n "task_name": "string",\n "branch_name": "string",\n "param_name": "string",\n "path": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteFlowTemplate`\n\nDelete Flow Template.\n\n`DELETE /v2/flows/templates/{flowId}`\n\n```ts\nconst { data } = await client.deleteFlowTemplate({\n flowId: \'example\',\n})\n```\n\n---\n\n### `duplicateFlowTemplate`\n\nCreate a copy of an existing flow template. The duplicated template will have a new\nunique identifier and can be modified independently of the original. This is useful\nfor creating variations of exist\n\n`POST /v2/flows/templates/{flowId}/duplicate`\n\n```ts\nconst { data } = await client.duplicateFlowTemplate({\n flowId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": {\n "type": "automation",\n "automation_id": "g92j2-sg9ug92hjt1gh-9s9gajgs-a979gg"\n },\n "enabled": true,\n "version": 2,\n "created_at": "2021-04-27T12:01:13.000Z",\n "updated_at": "2021-04-27T12:01:13.000Z",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {\n "duration": 0,\n "unit": "minutes",\n "type": "WORKFLOW_STARTED",\n "task_id": "string",\n "phase_id": "string"\n },\n "assigned_to": ["string"],\n "available_in_ecp": true,\n "additional_triggers": [\n {\n "id": "string",\n "type": "manual",\n "entity_schema": "string"\n },\n {\n "id": "string",\n "type": "automation",\n "automation_id": "string",\n "input_entity": "thread",\n "trigger_config": []\n }\n ],\n "phases": [\n {\n "id": "string",\n "name": "string",\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "assigned_to": ["string"],\n "taxonomies": ["string"]\n }\n ],\n "tasks": [\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL"\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "journey": {},\n "due_date": "2021-04-27T12:00:00.000Z",\n "due_date_config": {},\n "requirements": [],\n "assigned_to": ["string"],\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"],\n "phase_id": "string",\n "task_type": "MANUAL",\n "automation_config": {},\n "trigger_mode": "manual",\n "schedule": {},\n "created_automatically": false\n }\n ],\n "edges": [\n {\n "id": "string",\n "from_id": "string",\n "to_id": "string",\n "condition_id": "string",\n "none_met": true\n }\n ],\n "closing_reasons": [\n {\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n }\n ],\n "entity_sync": [\n {\n "trigger": {},\n "target": {},\n "value": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"],\n "linear": true,\n "limit_warnings": [\n {\n "i18nKey": "string",\n "message": "string",\n "max": 0,\n "current": 0,\n "node_id": "string",\n "task_name": "string",\n "branch_name": "string",\n "param_name": "string",\n "path": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getDefinition`\n\nGet specific Definition by id from the Organization.\n\n`GET /v1/workflows/definitions/{definitionId}`\n\n```ts\nconst { data } = await client.getDefinition({\n definitionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "name": "string",\n "description": "string",\n "creationTime": "2021-04-27T12:01:13.000Z",\n "enabled": true,\n "lastUpdateTime": "2021-04-27T12:01:13.000Z",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "actionTypeCondition": "WORKFLOW_STARTED",\n "stepId": "string",\n "phaseId": "string"\n },\n "userIds": [0],\n "assignedTo": ["string"],\n "enableECPWorkflow": true,\n "flow": [\n {\n "id": "string",\n "name": "string",\n "order": 0,\n "type": "STEP",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {},\n "assignedTo": ["string"],\n "steps": [],\n "taxonomies": ["string"]\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "executionType": "MANUAL",\n "automationConfig": {},\n "journey": {},\n "order": 0,\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {},\n "userIds": [0],\n "requirements": [],\n "assignedTo": ["string"],\n "type": "STEP",\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"]\n }\n ],\n "closingReasons": [\n {\n "id": "x739cew"\n }\n ],\n "updateEntityAttributes": [\n {\n "source": "workflow_status",\n "target": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `updateDefinition`\n\nUpdate Workflow Definition.\n\n`PUT /v1/workflows/definitions/{definitionId}`\n\n```ts\nconst { data } = await client.updateDefinition(\n {\n definitionId: \'example\',\n },\n {\n id: \'string\',\n name: \'string\',\n description: \'string\',\n creationTime: \'2021-04-27T12:01:13.000Z\',\n enabled: true,\n lastUpdateTime: \'2021-04-27T12:01:13.000Z\',\n dueDate: \'2021-04-27T12:00:00.000Z\',\n dynamicDueDate: {\n numberOfUnits: 0,\n timePeriod: \'minutes\',\n actionTypeCondition: \'WORKFLOW_STARTED\',\n stepId: \'string\',\n phaseId: \'string\'\n },\n userIds: [0],\n assignedTo: [\'string\'],\n enableECPWorkflow: true,\n flow: [\n {\n id: \'string\',\n name: \'string\',\n order: 0,\n type: \'STEP\',\n dueDate: \'2021-04-27T12:00:00.000Z\',\n dynamicDueDate: { /* ... */ },\n assignedTo: [\'string\'],\n steps: [ /* ... */ ],\n taxonomies: [\'string\']\n },\n {\n id: \'string\',\n name: \'string\',\n description: { /* ... */ },\n executionType: \'MANUAL\',\n automationConfig: { /* ... */ },\n journey: { /* ... */ },\n order: 0,\n dueDate: \'2021-04-27T12:00:00.000Z\',\n dynamicDueDate: { /* ... */ },\n userIds: [0],\n requirements: [ /* ... */ ],\n assignedTo: [\'string\'],\n type: \'STEP\',\n ecp: { /* ... */ },\n installer: { /* ... */ },\n partner: { /* ... */ },\n taxonomies: [\'string\']\n }\n ],\n closingReasons: [\n {\n id: \'x739cew\'\n }\n ],\n updateEntityAttributes: [\n {\n source: \'workflow_status\',\n target: { /* ... */ }\n }\n ],\n taxonomies: [\'string\'],\n singleClosingReasonSelection: true,\n _manifest: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "name": "string",\n "description": "string",\n "creationTime": "2021-04-27T12:01:13.000Z",\n "enabled": true,\n "lastUpdateTime": "2021-04-27T12:01:13.000Z",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "actionTypeCondition": "WORKFLOW_STARTED",\n "stepId": "string",\n "phaseId": "string"\n },\n "userIds": [0],\n "assignedTo": ["string"],\n "enableECPWorkflow": true,\n "flow": [\n {\n "id": "string",\n "name": "string",\n "order": 0,\n "type": "STEP",\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {},\n "assignedTo": ["string"],\n "steps": [],\n "taxonomies": ["string"]\n },\n {\n "id": "string",\n "name": "string",\n "description": {},\n "executionType": "MANUAL",\n "automationConfig": {},\n "journey": {},\n "order": 0,\n "dueDate": "2021-04-27T12:00:00.000Z",\n "dynamicDueDate": {},\n "userIds": [0],\n "requirements": [],\n "assignedTo": ["string"],\n "type": "STEP",\n "ecp": {},\n "installer": {},\n "partner": {},\n "taxonomies": ["string"]\n }\n ],\n "closingReasons": [\n {\n "id": "x739cew"\n }\n ],\n "updateEntityAttributes": [\n {\n "source": "workflow_status",\n "target": {}\n }\n ],\n "taxonomies": ["string"],\n "singleClosingReasonSelection": true,\n "_manifest": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `deleteDefinition`\n\nDelete Workflow Definition.\n\n`DELETE /v1/workflows/definitions/{definitionId}`\n\n```ts\nconst { data } = await client.deleteDefinition({\n definitionId: \'example\',\n})\n```\n\n---\n\n### `getAllClosingReasons`\n\nGet all Closing Reasons defined in the organization by default all Active.\n\n`GET /v1/workflows/closing-reasons`\n\n```ts\nconst { data } = await client.getAllClosingReasons({\n includeInactive: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "reasons": [\n {\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createClosingReason`\n\nA created Closing Reason is stored for the organization and will be displayed in the library of reasons.\n\n`POST /v1/workflows/closing-reasons`\n\n```ts\nconst { data } = await client.createClosingReason(\n null,\n {\n id: \'string\',\n title: \'string\',\n status: \'ACTIVE\',\n lastUpdateTime: \'string\',\n creationTime: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n}\n```\n\n</details>\n\n---\n\n### `getClosingReason`\n\nGet specific closing reason by id from the organisation.\n\n`GET /v2/workflows/closing-reasons/{reasonId}`\n\n```ts\nconst { data } = await client.getClosingReason({\n reasonId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateClosingReason`\n\nUpdate an existing closing reason\n\n`PATCH /v2/workflows/closing-reasons/{reasonId}`\n\n```ts\nconst { data } = await client.updateClosingReason(\n {\n reasonId: \'example\',\n },\n {\n id: \'string\',\n title: \'string\',\n status: \'ACTIVE\',\n lastUpdateTime: \'string\',\n creationTime: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "string",\n "status": "ACTIVE",\n "lastUpdateTime": "string",\n "creationTime": "string"\n}\n```\n\n</details>\n\n---\n\n### `deleteClosingReason`\n\nPermanently delete a closing reason (Using INACTIVE status is recommended instead)\n\n`DELETE /v2/workflows/closing-reasons/{reasonId}`\n\n```ts\nconst { data } = await client.deleteClosingReason({\n reasonId: \'example\',\n})\n```\n\n---\n\n### `changeReasonStatus`\n\nChange the status of a Closing Reason (eg. ACTIVE to INACTIVE).\n\n`PATCH /v1/workflows/closing-reasons/{reasonId}`\n\n```ts\nconst { data } = await client.changeReasonStatus(\n {\n reasonId: \'example\',\n },\n {\n status: \'ACTIVE\'\n },\n)\n```\n\n---\n\n### `getWorkflowClosingReasons`\n\nReturns all closing reasons defined for the workflow.\n\n`GET /v1/workflows/definitions/{definitionId}/closing-reasons`\n\n```ts\nconst { data } = await client.getWorkflowClosingReasons({\n definitionId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "reasons": [\n {\n "id": "x739cew"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `setWorkflowClosingReasons`\n\nSets which closing reasons are defined for this workflow, based on the entire closing reasons catalog.\n\n`PATCH /v1/workflows/definitions/{definitionId}/closing-reasons`\n\n```ts\nconst { data } = await client.setWorkflowClosingReasons(\n {\n definitionId: \'example\',\n },\n {\n reasons: [\n {\n id: \'x739cew\'\n }\n ]\n },\n)\n```\n\n---\n\n## Schemas\n\n### `FlowTemplateBase`\n\nBase schema for V2 flow templates. A flow template defines the structure of a workflow\nincluding phases, tasks, edges, triggers, and other configuration. Flow templates serve\nas blueprints that can be instantiated as flow executions.\n\n\n```ts\ntype FlowTemplateBase = {\n id?: string\n org_id?: string\n name: string\n description?: string\n trigger?: {\n id?: string\n type: "manual"\n entity_schema?: string\n } | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: { ... }\n configuration?: { ... }\n }>\n } | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n } | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n }\n enabled?: boolean\n version?: "v1" | "v2" | "v3"\n created_at?: string\n updated_at?: string\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n available_in_ecp?: boolean\n additional_triggers?: Array<{\n id?: string\n type: "manual"\n entity_schema?: string\n } | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: { ... }\n configuration?: { ... }\n }>\n } | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n } | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n }>\n phases?: Array<{\n id: string\n name: string\n due_date?: string\n due_date_config?: {\n duration: { ... }\n unit: { ... }\n type: { ... }\n task_id?: { ... }\n phase_id?: { ... }\n }\n assigned_to?: Array<string | {\n variable: { ... }\n value?: { ... }\n }>\n taxonomies?: string[]\n }>\n tasks: Array<{\n id: string\n name: string\n description?: {\n enabled?: { ... }\n value?: { ... }\n }\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n // ...\n}\n```\n\n### `FlowLimitWarning`\n\nA configuration limit that the flow currently exceeds. Returned by the get-flow endpoint and by create/update responses so the UI can show a non-blocking banner. Size/count limit violations never cause a 400 \u2014 only structural errors do. The flow remains fully usable; users are encouraged to bring va\n\n```ts\ntype FlowLimitWarning = {\n i18nKey: string\n message: string\n max: number\n current?: number\n node_id?: string\n task_name?: string\n branch_name?: string\n param_name?: string\n path: unknown[]\n}\n```\n\n### `FlowTemplate`\n\n```ts\ntype FlowTemplate = {\n id?: string\n org_id?: string\n name: string\n description?: string\n trigger?: {\n id?: string\n type: "manual"\n entity_schema?: string\n } | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: { ... }\n configuration?: { ... }\n }>\n } | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n } | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n }\n enabled?: boolean\n version?: "v1" | "v2" | "v3"\n created_at?: string\n updated_at?: string\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n available_in_ecp?: boolean\n additional_triggers?: Array<{\n id?: string\n type: "manual"\n entity_schema?: string\n } | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: { ... }\n configuration?: { ... }\n }>\n } | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n } | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n }>\n phases?: Array<{\n id: string\n name: string\n due_date?: string\n due_date_config?: {\n duration: { ... }\n unit: { ... }\n type: { ... }\n task_id?: { ... }\n phase_id?: { ... }\n }\n assigned_to?: Array<string | {\n variable: { ... }\n value?: { ... }\n }>\n taxonomies?: string[]\n }>\n tasks: Array<{\n id: string\n name: string\n description?: {\n enabled?: { ... }\n value?: { ... }\n }\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n // ...\n}\n```\n\n### `Version`\n\nVersion of the workflow schema.\n\n- `v1` \u2013 *Deprecated*. The initial version of workflows with limited structure and automation capabilities.\n- `v2` \u2013 Linear workflows. Supports sequential task execution with basic automation triggers.\n- `v3` \u2013 Advanced workflows. Adds support for branching logic (co\n\n```ts\ntype Version = "v1" | "v2" | "v3"\n```\n\n### `Trigger`\n\n```ts\ntype Trigger = {\n id?: string\n type: "manual"\n entity_schema?: string\n} | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: string\n configuration?: Record<string, unknown>\n }>\n} | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n} | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n}\n```\n\n### `ManualTrigger`\n\n```ts\ntype ManualTrigger = {\n id?: string\n type: "manual"\n entity_schema?: string\n}\n```\n\n### `AutomationTrigger`\n\n```ts\ntype AutomationTrigger = {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: string\n configuration?: Record<string, unknown>\n }>\n}\n```\n\n### `JourneyAutomationTrigger`\n\n```ts\ntype JourneyAutomationTrigger = {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n}\n```\n\n### `JourneySubmissionTrigger`\n\n```ts\ntype JourneySubmissionTrigger = {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n}\n```\n\n### `CreateFlowTemplate`\n\n```ts\ntype CreateFlowTemplate = {\n id?: string\n org_id?: string\n name: string\n description?: string\n trigger?: {\n id?: string\n type: "manual"\n entity_schema?: string\n } | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: { ... }\n configuration?: { ... }\n }>\n } | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n } | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n }\n enabled?: boolean\n version?: "v1" | "v2" | "v3"\n created_at?: string\n updated_at?: string\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n available_in_ecp?: boolean\n additional_triggers?: Array<{\n id?: string\n type: "manual"\n entity_schema?: string\n } | {\n id?: string\n type: "automation"\n automation_id?: string\n input_entity?: "thread" | "first_email" | "last_email"\n trigger_config?: Array<{\n type: { ... }\n configuration?: { ... }\n }>\n } | {\n id?: string\n type: "journey_submission"\n journey_id: string\n journey_name?: string\n automation_id?: string\n } | {\n id?: string\n type: "journey_automation"\n entity_schema?: string\n }>\n phases?: Array<{\n id: string\n name: string\n due_date?: string\n due_date_config?: {\n duration: { ... }\n unit: { ... }\n type: { ... }\n task_id?: { ... }\n phase_id?: { ... }\n }\n assigned_to?: Array<string | {\n variable: { ... }\n value?: { ... }\n }>\n taxonomies?: string[]\n }>\n tasks: Array<{\n id: string\n name: string\n description?: {\n enabled?: { ... }\n value?: { ... }\n }\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n // ...\n}\n```\n\n### `SearchFlowTemplates`\n\n```ts\ntype SearchFlowTemplates = {\n name?: string\n definition_id?: string\n trigger_type?: "journey_submission" | "manual" | "automation"\n enabled?: boolean\n from?: number\n size?: number\n sort_by?: "created_at" | "updated_at"\n sort_order?: "asc" | "desc"\n}\n```\n\n### `FlowTemplatesList`\n\n```ts\ntype FlowTemplatesList = {\n results: Array<{\n id?: string\n org_id?: string\n name: string\n description?: string\n trigger?: {\n id?: { ... }\n type: { ... }\n entity_schema?: { ... }\n } | {\n id?: { ... }\n type: { ... }\n automation_id?: { ... }\n input_entity?: { ... }\n trigger_config?: { ... }\n } | {\n id?: { ... }\n type: { ... }\n journey_id: { ... }\n journey_name?: { ... }\n automation_id?: { ... }\n } | {\n id?: { ... }\n type: { ... }\n entity_schema?: { ... }\n }\n enabled?: boolean\n version?: "v1" | "v2" | "v3"\n created_at?: string\n updated_at?: string\n due_date?: string\n due_date_config?: {\n duration: { ... }\n unit: { ... }\n type: { ... }\n task_id?: { ... }\n phase_id?: { ... }\n }\n assigned_to?: Array<string | {\n variable: { ... }\n value?: { ... }\n }>\n available_in_ecp?: boolean\n additional_triggers?: Array<{\n id?: { ... }\n type: { ... }\n entity_schema?: { ... }\n } | {\n id?: { ... }\n type: { ... }\n automation_id?: { ... }\n input_entity?: { ... }\n trigger_config?: { ... }\n } | {\n id?: { ... }\n type: { ... }\n journey_id: { ... }\n journey_name?: { ... }\n automation_id?: { ... }\n } | {\n id?: { ... }\n type: { ... }\n entity_schema?: { ... }\n }>\n phases?: Array<{\n id: { ... }\n name: { ... }\n due_date?: { ... }\n due_date_config?: { ... }\n assigned_to?: { ... }\n taxonomies?: { ... }\n }>\n tasks: Array<{\n id: { ... }\n name: { ... }\n description?: { ... }\n journey?: { ... }\n due_date?: { ... }\n due_date_config?: { ... }\n requirements?: { ... }\n assigned_to?: { ... }\n ecp?: { ... }\n installer?: { ... }\n partner?: { ... }\n taxonomies?: { ... }\n phase_id?: { ... }\n task_type: { ... }\n } | {\n id: { ... }\n name: { ... }\n description?: { ... }\n journey?: { ... }\n due_date?: { ... }\n due_date_config?: { ... }\n requirements?: { ... }\n assigned_to?: { ... }\n ecp?: { ... }\n installer?: { ... }\n partner?: { ... }\n // ...\n}\n```\n\n### `FlowTemplateId`\n\nShort unique id (length 8) to identify the Flow Template.\n\n```ts\ntype FlowTemplateId = string\n```\n\n### `Task`\n\n```ts\ntype Task = {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n phase_id?: string\n task_type: "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n} | {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n // ...\n}\n```\n\n### `ManualTask`\n\n```ts\ntype ManualTask = {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n phase_id?: string\n task_type: "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n}\n```\n\n### `AutomationTask`\n\n```ts\ntype AutomationTask = {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n phase_id?: string\n task_type: "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n automation_config: {\n flow_id?: string\n action_config?: {\n type: { ... }\n config?: { ... }\n }\n duplicated_flow_id?: string\n input_context?: {\n source: { ... }\n task_id?: { ... }\n }\n }\n trigger_mode?: "manual" | "automatic"\n schedule?: {\n mode?: "immediate"\n } | {\n mode: "delayed"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n } | {\n mode: "relative"\n direction: "before" | "after"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n reference: {\n id: { ... }\n origin: { ... }\n schema?: { ... }\n attribute?: { ... }\n }\n }\n created_automatically?: boolean\n}\n```\n\n### `AutomationConfig`\n\nConfiguration for automation execution to run\n\n```ts\ntype AutomationConfig = {\n flow_id?: string\n action_config?: {\n type: string\n config?: Record<string, unknown>\n }\n duplicated_flow_id?: string\n input_context?: {\n source: "trigger" | "task"\n task_id?: string\n }\n}\n```\n\n### `AutomationInputContext`\n\nOptional. Source of the entity fed into this automation task. If omitted, the workflow\'s primary entity is used.\n\n\n```ts\ntype AutomationInputContext = {\n source: "trigger" | "task"\n task_id?: string\n}\n```\n\n### `AiAgentTask`\n\n```ts\ntype AiAgentTask = {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n phase_id?: string\n task_type: "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n agent_config?: {\n agent_id: string\n }\n}\n```\n\n### `AgentConfig`\n\nConfiguration for AI Agent to run\n\n```ts\ntype AgentConfig = {\n agent_id: string\n}\n```\n\n### `TriggerMode`\n\n```ts\ntype TriggerMode = "manual" | "automatic"\n```\n\n### `ActionSchedule`\n\n```ts\ntype ActionSchedule = {\n mode?: "immediate"\n} | {\n mode: "delayed"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n} | {\n mode: "relative"\n direction: "before" | "after"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n reference: {\n id: string\n origin: "flow_started" | "task_completed" | "trigger_entity_attribute" | "all_preceding_tasks_completed"\n schema?: string\n attribute?: string\n }\n}\n```\n\n### `ImmediateSchedule`\n\n```ts\ntype ImmediateSchedule = {\n mode?: "immediate"\n}\n```\n\n### `DelayedSchedule`\n\n```ts\ntype DelayedSchedule = {\n mode: "delayed"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n}\n```\n\n### `RelativeSchedule`\n\n```ts\ntype RelativeSchedule = {\n mode: "relative"\n direction: "before" | "after"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n reference: {\n id: string\n origin: "flow_started" | "task_completed" | "trigger_entity_attribute" | "all_preceding_tasks_completed"\n schema?: string\n attribute?: string\n }\n}\n```\n\n### `DecisionTask`\n\n```ts\ntype DecisionTask = {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n phase_id?: string\n task_type: "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n trigger_mode: "manual" | "automatic"\n conditions: Array<{\n id: string\n branch_name: string\n logical_operator: "AND" | "OR"\n statements: Array<{\n id: { ... }\n source: { ... }\n operator: { ... }\n values: { ... }\n value_type?: { ... }\n }>\n }>\n allow_parallel_execution?: boolean\n schedule?: {\n mode: "delayed"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n } | {\n mode: "relative"\n direction: "before" | "after"\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n reference: {\n id: { ... }\n origin: { ... }\n schema?: { ... }\n attribute?: { ... }\n }\n }\n loop_config?: {\n loop_branch_id: string\n exit_branch_id: string\n max_iterations: number\n }\n}\n```\n\n### `TaskBase`\n\n```ts\ntype TaskBase = {\n id: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n requirements?: Array<{\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n }>\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n phase_id?: string\n task_type: "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n}\n```\n\n### `Phase`\n\n```ts\ntype Phase = {\n id: string\n name: string\n due_date?: string\n due_date_config?: {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n }\n assigned_to?: Array<string | {\n variable: string\n value?: string[]\n }>\n taxonomies?: string[]\n}\n```\n\n### `VariableAssignment`\n\nRepresents a variable assignment with its expression and optional resolved value. Used for dynamic user assignments that get resolved during workflow execution.\n\n```ts\ntype VariableAssignment = {\n variable: string\n value?: string[]\n}\n```\n\n### `TaskType`\n\n```ts\ntype TaskType = "MANUAL" | "AUTOMATION" | "DECISION" | "AI_AGENT"\n```\n\n### `Edge`\n\n```ts\ntype Edge = {\n id: string\n from_id: string\n to_id?: string\n condition_id?: string\n none_met?: boolean\n}\n```\n\n### `Condition`\n\n```ts\ntype Condition = {\n id: string\n branch_name: string\n logical_operator: "AND" | "OR"\n statements: Array<{\n id: string\n source: {\n id?: { ... }\n origin?: { ... }\n origin_type?: { ... }\n schema?: { ... }\n attribute?: { ... }\n attribute_type?: { ... }\n attribute_repeatable?: { ... }\n attribute_operation?: { ... }\n attributes?: { ... }\n attributes_match?: { ... }\n attribute_sub_field?: { ... }\n date_offset?: { ... }\n }\n operator: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty"\n values: string[]\n value_type?: "static" | "relative_date"\n }>\n}\n```\n\n### `Statement`\n\n```ts\ntype Statement = {\n id: string\n source: {\n id?: string\n origin?: "trigger" | "action"\n origin_type?: "entity" | "workflow" | "journey_block"\n schema?: string\n attribute?: string\n attribute_type?: "string" | "text" | "number" | "boolean" | "date" | "datetime" | "tags" | "country" | "email" | "phone" | "product" | "price" | "status" | "relation" | "multiselect" | "select" | "radio" | "relation_user" | "purpose" | "label" | "message_email_address"\n attribute_repeatable?: boolean\n attribute_operation?: "all" | "updated" | "added" | "deleted"\n attributes?: string[]\n attributes_match?: "any" | "all"\n attribute_sub_field?: string\n date_offset?: {\n amount?: { ... }\n unit?: { ... }\n }\n }\n operator: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty"\n values: string[]\n value_type?: "static" | "relative_date"\n}\n```\n\n### `EvaluationSource`\n\n```ts\ntype EvaluationSource = {\n id?: string\n origin?: "trigger" | "action"\n origin_type?: "entity" | "workflow" | "journey_block"\n schema?: string\n attribute?: string\n attribute_type?: "string" | "text" | "number" | "boolean" | "date" | "datetime" | "tags" | "country" | "email" | "phone" | "product" | "price" | "status" | "relation" | "multiselect" | "select" | "radio" | "relation_user" | "purpose" | "label" | "message_email_address"\n attribute_repeatable?: boolean\n attribute_operation?: "all" | "updated" | "added" | "deleted"\n attributes?: string[]\n attributes_match?: "any" | "all"\n attribute_sub_field?: string\n date_offset?: {\n amount?: number\n unit?: "days" | "months" | "years"\n }\n}\n```\n\n### `Operator`\n\n```ts\ntype Operator = "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty"\n```\n\n### `DueDateConfig`\n\nSet due date for the task based on a dynamic condition\n\n```ts\ntype DueDateConfig = {\n duration: number\n unit: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n type: "WORKFLOW_STARTED" | "TASK_FINISHED" | "PHASE_FINISHED" | "A_PRECEDING_TASK_COMPLETED" | "ALL_PRECEDING_TASKS_COMPLETED"\n task_id?: string\n phase_id?: string\n}\n```\n\n### `TimeUnit`\n\n```ts\ntype TimeUnit = "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n```\n\n### `EnableRequirement`\n\ndescribe the requirement for a task to be enabled\n\n```ts\ntype EnableRequirement = {\n task_id?: string\n phase_id?: string\n when: "TASK_FINISHED" | "PHASE_FINISHED"\n}\n```\n\n### `WorkflowDefinition`\n\nV1 workflow definition schema. Defines a linear workflow structure with sections\nand steps. Sections group related steps together, and steps represent individual\ntasks that need to be completed. This is the legacy workflow model; for new\nimplementations, consider using V2 flow templates instead.\n\n\n```ts\ntype WorkflowDefinition = {\n id?: string\n name: string\n description?: string\n creationTime?: string\n enabled?: boolean\n lastUpdateTime?: string\n dueDate?: string\n dynamicDueDate?: {\n numberOfUnits: number\n timePeriod: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n actionTypeCondition: "WORKFLOW_STARTED" | "STEP_CLOSED" | "PHASE_FINISHED"\n stepId?: string\n phaseId?: string\n }\n userIds?: number[]\n assignedTo?: string[]\n enableECPWorkflow?: boolean\n flow: Array<{\n id?: string\n name: string\n order: number\n type: "STEP" | "SECTION"\n dueDate?: string\n dynamicDueDate?: {\n numberOfUnits: { ... }\n timePeriod: { ... }\n actionTypeCondition: { ... }\n stepId?: { ... }\n phaseId?: { ... }\n }\n assignedTo?: string[]\n steps: Array<{\n id?: { ... }\n name: { ... }\n description?: { ... }\n executionType?: { ... }\n automationConfig?: { ... }\n journey?: { ... }\n order: { ... }\n dueDate?: { ... }\n dynamicDueDate?: { ... }\n userIds?: { ... }\n requirements?: { ... }\n assignedTo?: { ... }\n type: { ... }\n ecp?: { ... }\n installer?: { ... }\n partner?: { ... }\n taxonomies?: { ... }\n }>\n taxonomies?: string[]\n } | {\n id?: string\n name: string\n description?: {\n enabled?: { ... }\n value?: { ... }\n }\n executionType?: "MANUAL" | "AUTOMATION"\n automationConfig?: {\n flowId: { ... }\n }\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n order: number\n dueDate?: string\n dynamicDueDate?: {\n numberOfUnits: { ... }\n timePeriod: { ... }\n actionTypeCondition: { ... }\n stepId?: { ... }\n phaseId?: { ... }\n }\n userIds?: number[]\n requirements?: Array<{\n definitionId: { ... }\n type: { ... }\n condition: { ... }\n }>\n assignedTo?: string[]\n type: "STEP" | "SECTION"\n ecp?: {\n enabled?: { ... }\n label?: { ... }\n description?: { ... }\n journey?: { ... }\n }\n installer?: {\n enabled?: { ... }\n label?: { ... }\n description?: { ... }\n journey?: { ... }\n }\n partner?: {\n enabled?: { ... }\n // ...\n}\n```\n\n### `Step`\n\nAction that needs to be done in a Workflow\n\n```ts\ntype Step = {\n id?: string\n name: string\n description?: {\n enabled?: boolean\n value?: string\n }\n executionType?: "MANUAL" | "AUTOMATION"\n automationConfig?: {\n flowId: string\n }\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n order: number\n dueDate?: string\n dynamicDueDate?: {\n numberOfUnits: number\n timePeriod: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n actionTypeCondition: "WORKFLOW_STARTED" | "STEP_CLOSED" | "PHASE_FINISHED"\n stepId?: string\n phaseId?: string\n }\n userIds?: number[]\n requirements?: Array<{\n definitionId: string\n type: "STEP" | "SECTION"\n condition: "CLOSED"\n }>\n assignedTo?: string[]\n type: "STEP" | "SECTION"\n ecp?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n installer?: {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n }\n partner?: {\n enabled?: boolean\n label?: string\n description?: string\n }\n taxonomies?: string[]\n}\n```\n\n### `Section`\n\nA group of Steps that define the progress of the Workflow\n\n```ts\ntype Section = {\n id?: string\n name: string\n order: number\n type: "STEP" | "SECTION"\n dueDate?: string\n dynamicDueDate?: {\n numberOfUnits: number\n timePeriod: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n actionTypeCondition: "WORKFLOW_STARTED" | "STEP_CLOSED" | "PHASE_FINISHED"\n stepId?: string\n phaseId?: string\n }\n assignedTo?: string[]\n steps: Array<{\n id?: string\n name: string\n description?: {\n enabled?: { ... }\n value?: { ... }\n }\n executionType?: "MANUAL" | "AUTOMATION"\n automationConfig?: {\n flowId: { ... }\n }\n journey?: {\n id?: { ... }\n journeyId?: { ... }\n name?: { ... }\n complete_task_automatically?: { ... }\n }\n order: number\n dueDate?: string\n dynamicDueDate?: {\n numberOfUnits: { ... }\n timePeriod: { ... }\n actionTypeCondition: { ... }\n stepId?: { ... }\n phaseId?: { ... }\n }\n userIds?: number[]\n requirements?: Array<{\n definitionId: { ... }\n type: { ... }\n condition: { ... }\n }>\n assignedTo?: string[]\n type: "STEP" | "SECTION"\n ecp?: {\n enabled?: { ... }\n label?: { ... }\n description?: { ... }\n journey?: { ... }\n }\n installer?: {\n enabled?: { ... }\n label?: { ... }\n description?: { ... }\n journey?: { ... }\n }\n partner?: {\n enabled?: { ... }\n label?: { ... }\n description?: { ... }\n }\n taxonomies?: string[]\n }>\n taxonomies?: string[]\n}\n```\n\n### `TriggerType`\n\n```ts\ntype TriggerType = "MANUAL" | "AUTOMATIC"\n```\n\n### `ItemType`\n\n```ts\ntype ItemType = "STEP" | "SECTION"\n```\n\n### `StepType`\n\n```ts\ntype StepType = "MANUAL" | "AUTOMATION"\n```\n\n### `StepJourney`\n\n```ts\ntype StepJourney = {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n}\n```\n\n### `ECPDetails`\n\nDetails regarding ECP for the workflow step\n\n```ts\ntype ECPDetails = {\n enabled?: boolean\n label?: string\n description?: string\n journey?: {\n id?: string\n journeyId?: string\n name?: string\n complete_task_automatically?: boolean\n }\n}\n```\n\n### `PartnerDetails`\n\nDetails regarding partner for the workflow step\n\n```ts\ntype PartnerDetails = {\n enabled?: boolean\n label?: string\n description?: string\n}\n```\n\n### `StepDescription`\n\nLonger information regarding Task\n\n```ts\ntype StepDescription = {\n enabled?: boolean\n value?: string\n}\n```\n\n### `MaxAllowedLimit`\n\n```ts\ntype MaxAllowedLimit = {\n currentNoOfWorkflows?: number\n maxAllowed?: number\n}\n```\n\n### `DefinitionNotFoundResp`\n\nError response returned when a workflow definition or flow template is not found.\n\n```ts\ntype DefinitionNotFoundResp = {\n message?: string\n}\n```\n\n### `ClosingReasonNotFoundResp`\n\nError response returned when a closing reason is not found.\n\n```ts\ntype ClosingReasonNotFoundResp = {\n message?: string\n}\n```\n\n### `ChangeReasonStatusReq`\n\n```ts\ntype ChangeReasonStatusReq = {\n status: "ACTIVE" | "INACTIVE"\n}\n```\n\n### `ClosingReasons`\n\n```ts\ntype ClosingReasons = {\n reasons: Array<{\n id?: string\n title?: string\n status?: "ACTIVE" | "INACTIVE"\n lastUpdateTime?: string\n creationTime?: string\n }>\n}\n```\n\n### `ClosingReason`\n\nOne Closing reason for a workflow\n\n```ts\ntype ClosingReason = {\n id?: string\n title?: string\n status?: "ACTIVE" | "INACTIVE"\n lastUpdateTime?: string\n creationTime?: string\n}\n```\n\n### `ClosingReasonsStatus`\n\n```ts\ntype ClosingReasonsStatus = "ACTIVE" | "INACTIVE"\n```\n\n### `ClosingReasonsIds`\n\n```ts\ntype ClosingReasonsIds = {\n reasons: Array<{\n id: string\n }>\n}\n```\n\n### `ClosingReasonId`\n\n```ts\ntype ClosingReasonId = {\n id: string\n}\n```\n\n### `ErrorResp`\n\nStandard error response returned when an API request fails.\n\n```ts\ntype ErrorResp = {\n message?: string\n}\n```\n\n### `UpdateEntityAttributes`\n\n```ts\ntype UpdateEntityAttributes = {\n source: "workflow_status" | "current_section" | "current_step"\n target: {\n entitySchema: string\n entityAttribute: string\n }\n}\n```\n\n### `EntitySync`\n\n```ts\ntype EntitySync = {\n trigger: {\n event: "FlowStarted" | "FlowCompleted" | "FlowCancelled" | "FlowReopened" | "FlowDeleted" | "FlowAssigned" | "FlowDueDateChanged" | "FlowContextsChanged" | "TaskUpdated" | "CurrTaskChanged" | "TaskCompleted" | "TaskSkipped" | "TaskMarkedInProgress" | "TaskMarkedOnHold" | "PhaseUpdated" | "PhaseCompleted" | "PhaseSkipped" | "PhaseMarkedInProgress"\n filter?: {\n task_template_id?: { ... }\n phase_template_id?: { ... }\n }\n }\n value: {\n source: "workflow_name" | "workflow_status" | "workflow_assigned_to" | "task_name" | "task_status" | "task_assigned_to" | "phase_name" | "phase_status" | "phase_assigned_to" | "custom_value"\n value?: string\n }\n target: {\n entitySchema: string\n entityAttribute: string\n }\n}\n```\n\n### `DynamicDueDate`\n\nConfiguration for calculating a due date dynamically based on workflow events.\nThe due date is computed by adding a duration (numberOfUnits + timePeriod) to\na reference point defined by actionTypeCondition (e.g., when workflow started,\nwhen a step closed, or when a phase finished).\n\n\n```ts\ntype DynamicDueDate = {\n numberOfUnits: number\n timePeriod: "minutes" | "hours" | "days" | "weeks" | "months" | "years"\n actionTypeCondition: "WORKFLOW_STARTED" | "STEP_CLOSED" | "PHASE_FINISHED"\n stepId?: string\n phaseId?: string\n}\n```\n\n### `StepRequirement`\n\ndescribe the requirement for step enablement\n\n```ts\ntype StepRequirement = {\n definitionId: string\n type: "STEP" | "SECTION"\n condition: "CLOSED"\n}\n```\n';
|
|
5
|
+
export {
|
|
6
|
+
workflow_definition_default as default
|
|
7
|
+
};
|