From 43f9444b08dcda14c04480e3a16fabd19663b0bf Mon Sep 17 00:00:00 2001 From: awstools Date: Tue, 14 May 2024 18:13:10 +0000 Subject: [PATCH] feat(client-connect): Amazon Connect provides enhanced search capabilities for flows & flow modules on the Connect admin website and programmatically using APIs. You can search for flows and flow modules by name, description, type, status, and tags, to filter and identify a specific flow in your Connect instances. --- clients/client-connect/README.md | 16 + clients/client-connect/src/Connect.ts | 46 ++ clients/client-connect/src/ConnectClient.ts | 9 + .../src/commands/CreateContactFlowCommand.ts | 1 + .../commands/DescribeContactFlowCommand.ts | 10 + .../DescribeContactFlowModuleCommand.ts | 4 + .../src/commands/ListContactFlowsCommand.ts | 1 + .../src/commands/ReplicateInstanceCommand.ts | 7 +- .../SearchContactFlowModulesCommand.ts | 157 ++++++ .../src/commands/SearchContactFlowsCommand.ts | 165 ++++++ .../UpdateContactFlowContentCommand.ts | 4 + .../UpdateContactFlowModuleContentCommand.ts | 4 + clients/client-connect/src/commands/index.ts | 2 + clients/client-connect/src/models/models_0.ts | 92 ++-- clients/client-connect/src/models/models_1.ts | 247 +++++---- clients/client-connect/src/models/models_2.ts | 501 ++++++++++++++---- .../SearchContactFlowModulesPaginator.ts | 24 + .../pagination/SearchContactFlowsPaginator.ts | 24 + .../client-connect/src/pagination/index.ts | 2 + .../src/protocols/Aws_restJson1.ts | 168 +++++- codegen/sdk-codegen/aws-models/connect.json | 383 ++++++++++++- 21 files changed, 1586 insertions(+), 281 deletions(-) create mode 100644 clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts create mode 100644 clients/client-connect/src/commands/SearchContactFlowsCommand.ts create mode 100644 clients/client-connect/src/pagination/SearchContactFlowModulesPaginator.ts create mode 100644 clients/client-connect/src/pagination/SearchContactFlowsPaginator.ts diff --git a/clients/client-connect/README.md b/clients/client-connect/README.md index 076647613851..ab3a02281577 100644 --- a/clients/client-connect/README.md +++ b/clients/client-connect/README.md @@ -1588,6 +1588,22 @@ SearchAvailablePhoneNumbers [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchAvailablePhoneNumbersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchAvailablePhoneNumbersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchAvailablePhoneNumbersCommandOutput/) + +
+ +SearchContactFlowModules + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchContactFlowModulesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchContactFlowModulesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchContactFlowModulesCommandOutput/) + +
+
+ +SearchContactFlows + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/connect/command/SearchContactFlowsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchContactFlowsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-connect/Interface/SearchContactFlowsCommandOutput/) +
diff --git a/clients/client-connect/src/Connect.ts b/clients/client-connect/src/Connect.ts index 7bb503f3a404..2f6db5ca3b83 100644 --- a/clients/client-connect/src/Connect.ts +++ b/clients/client-connect/src/Connect.ts @@ -802,6 +802,16 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "./commands/SearchAvailablePhoneNumbersCommand"; +import { + SearchContactFlowModulesCommand, + SearchContactFlowModulesCommandInput, + SearchContactFlowModulesCommandOutput, +} from "./commands/SearchContactFlowModulesCommand"; +import { + SearchContactFlowsCommand, + SearchContactFlowsCommandInput, + SearchContactFlowsCommandOutput, +} from "./commands/SearchContactFlowsCommand"; import { SearchContactsCommand, SearchContactsCommandInput, @@ -1337,6 +1347,8 @@ const commands = { ResumeContactCommand, ResumeContactRecordingCommand, SearchAvailablePhoneNumbersCommand, + SearchContactFlowModulesCommand, + SearchContactFlowsCommand, SearchContactsCommand, SearchHoursOfOperationsCommand, SearchPredefinedAttributesCommand, @@ -4118,6 +4130,40 @@ export interface Connect { cb: (err: any, data?: SearchAvailablePhoneNumbersCommandOutput) => void ): void; + /** + * @see {@link SearchContactFlowModulesCommand} + */ + searchContactFlowModules( + args: SearchContactFlowModulesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchContactFlowModules( + args: SearchContactFlowModulesCommandInput, + cb: (err: any, data?: SearchContactFlowModulesCommandOutput) => void + ): void; + searchContactFlowModules( + args: SearchContactFlowModulesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchContactFlowModulesCommandOutput) => void + ): void; + + /** + * @see {@link SearchContactFlowsCommand} + */ + searchContactFlows( + args: SearchContactFlowsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + searchContactFlows( + args: SearchContactFlowsCommandInput, + cb: (err: any, data?: SearchContactFlowsCommandOutput) => void + ): void; + searchContactFlows( + args: SearchContactFlowsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SearchContactFlowsCommandOutput) => void + ): void; + /** * @see {@link SearchContactsCommand} */ diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index 90c61ee81cc6..ed16700acfeb 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -513,6 +513,11 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "./commands/SearchAvailablePhoneNumbersCommand"; +import { + SearchContactFlowModulesCommandInput, + SearchContactFlowModulesCommandOutput, +} from "./commands/SearchContactFlowModulesCommand"; +import { SearchContactFlowsCommandInput, SearchContactFlowsCommandOutput } from "./commands/SearchContactFlowsCommand"; import { SearchContactsCommandInput, SearchContactsCommandOutput } from "./commands/SearchContactsCommand"; import { SearchHoursOfOperationsCommandInput, @@ -929,6 +934,8 @@ export type ServiceInputTypes = | ResumeContactCommandInput | ResumeContactRecordingCommandInput | SearchAvailablePhoneNumbersCommandInput + | SearchContactFlowModulesCommandInput + | SearchContactFlowsCommandInput | SearchContactsCommandInput | SearchHoursOfOperationsCommandInput | SearchPredefinedAttributesCommandInput @@ -1182,6 +1189,8 @@ export type ServiceOutputTypes = | ResumeContactCommandOutput | ResumeContactRecordingCommandOutput | SearchAvailablePhoneNumbersCommandOutput + | SearchContactFlowModulesCommandOutput + | SearchContactFlowsCommandOutput | SearchContactsCommandOutput | SearchHoursOfOperationsCommandOutput | SearchPredefinedAttributesCommandOutput diff --git a/clients/client-connect/src/commands/CreateContactFlowCommand.ts b/clients/client-connect/src/commands/CreateContactFlowCommand.ts index 051c2c2376fb..b06c0b376393 100644 --- a/clients/client-connect/src/commands/CreateContactFlowCommand.ts +++ b/clients/client-connect/src/commands/CreateContactFlowCommand.ts @@ -42,6 +42,7 @@ export interface CreateContactFlowCommandOutput extends CreateContactFlowRespons * Type: "CONTACT_FLOW" || "CUSTOMER_QUEUE" || "CUSTOMER_HOLD" || "CUSTOMER_WHISPER" || "AGENT_HOLD" || "AGENT_WHISPER" || "OUTBOUND_WHISPER" || "AGENT_TRANSFER" || "QUEUE_TRANSFER", // required * Description: "STRING_VALUE", * Content: "STRING_VALUE", // required + * Status: "PUBLISHED" || "SAVED", * Tags: { // TagMap * "": "STRING_VALUE", * }, diff --git a/clients/client-connect/src/commands/DescribeContactFlowCommand.ts b/clients/client-connect/src/commands/DescribeContactFlowCommand.ts index 6ba95ee0994d..790433dfd324 100644 --- a/clients/client-connect/src/commands/DescribeContactFlowCommand.ts +++ b/clients/client-connect/src/commands/DescribeContactFlowCommand.ts @@ -30,6 +30,15 @@ export interface DescribeContactFlowCommandOutput extends DescribeContactFlowRes *

Describes the specified flow.

*

You can also create and update flows using the Amazon Connect * Flow language.

+ *

Use the $SAVED alias in the request to describe the SAVED content + * of a Flow. For example, arn:aws:.../contact-flow/\{id\}:$SAVED. Once a contact flow is + * published, $SAVED needs to be supplied to view saved content that has not been + * published.

+ *

In the response, Status indicates the flow status as either + * SAVED or PUBLISHED. The PUBLISHED status will initiate + * validation on the content. SAVED does not initiate validation of the content. + * SAVED | PUBLISHED + *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -49,6 +58,7 @@ export interface DescribeContactFlowCommandOutput extends DescribeContactFlowRes * // Name: "STRING_VALUE", * // Type: "CONTACT_FLOW" || "CUSTOMER_QUEUE" || "CUSTOMER_HOLD" || "CUSTOMER_WHISPER" || "AGENT_HOLD" || "AGENT_WHISPER" || "OUTBOUND_WHISPER" || "AGENT_TRANSFER" || "QUEUE_TRANSFER", * // State: "ACTIVE" || "ARCHIVED", + * // Status: "PUBLISHED" || "SAVED", * // Description: "STRING_VALUE", * // Content: "STRING_VALUE", * // Tags: { // TagMap diff --git a/clients/client-connect/src/commands/DescribeContactFlowModuleCommand.ts b/clients/client-connect/src/commands/DescribeContactFlowModuleCommand.ts index abea242fb7b2..fb192b2c13a3 100644 --- a/clients/client-connect/src/commands/DescribeContactFlowModuleCommand.ts +++ b/clients/client-connect/src/commands/DescribeContactFlowModuleCommand.ts @@ -28,6 +28,10 @@ export interface DescribeContactFlowModuleCommandOutput extends DescribeContactF /** *

Describes the specified flow module.

+ *

Use the $SAVED alias in the request to describe the SAVED content + * of a Flow. For example, arn:aws:.../contact-flow/\{id\}:$SAVED. Once a contact flow is + * published, $SAVED needs to be supplied to view saved content that has not been + * published.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/ListContactFlowsCommand.ts b/clients/client-connect/src/commands/ListContactFlowsCommand.ts index a5c3ced61f5b..649679867a48 100644 --- a/clients/client-connect/src/commands/ListContactFlowsCommand.ts +++ b/clients/client-connect/src/commands/ListContactFlowsCommand.ts @@ -56,6 +56,7 @@ export interface ListContactFlowsCommandOutput extends ListContactFlowsResponse, * // Name: "STRING_VALUE", * // ContactFlowType: "CONTACT_FLOW" || "CUSTOMER_QUEUE" || "CUSTOMER_HOLD" || "CUSTOMER_WHISPER" || "AGENT_HOLD" || "AGENT_WHISPER" || "OUTBOUND_WHISPER" || "AGENT_TRANSFER" || "QUEUE_TRANSFER", * // ContactFlowState: "ACTIVE" || "ARCHIVED", + * // ContactFlowStatus: "PUBLISHED" || "SAVED", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-connect/src/commands/ReplicateInstanceCommand.ts b/clients/client-connect/src/commands/ReplicateInstanceCommand.ts index 1b6e7173087e..ad9619374409 100644 --- a/clients/client-connect/src/commands/ReplicateInstanceCommand.ts +++ b/clients/client-connect/src/commands/ReplicateInstanceCommand.ts @@ -6,8 +6,11 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ReplicateInstanceRequest, ReplicateInstanceRequestFilterSensitiveLog } from "../models/models_1"; -import { ReplicateInstanceResponse } from "../models/models_2"; +import { + ReplicateInstanceRequest, + ReplicateInstanceRequestFilterSensitiveLog, + ReplicateInstanceResponse, +} from "../models/models_2"; import { de_ReplicateInstanceCommand, se_ReplicateInstanceCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts b/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts new file mode 100644 index 000000000000..2b49a586a9ea --- /dev/null +++ b/clients/client-connect/src/commands/SearchContactFlowModulesCommand.ts @@ -0,0 +1,157 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { SearchContactFlowModulesRequest, SearchContactFlowModulesResponse } from "../models/models_2"; +import { de_SearchContactFlowModulesCommand, se_SearchContactFlowModulesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link SearchContactFlowModulesCommand}. + */ +export interface SearchContactFlowModulesCommandInput extends SearchContactFlowModulesRequest {} +/** + * @public + * + * The output of {@link SearchContactFlowModulesCommand}. + */ +export interface SearchContactFlowModulesCommandOutput extends SearchContactFlowModulesResponse, __MetadataBearer {} + +/** + *

Searches the flow modules in an Amazon Connect instance, with optional filtering.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, SearchContactFlowModulesCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, SearchContactFlowModulesCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // SearchContactFlowModulesRequest + * InstanceId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * SearchFilter: { // ContactFlowModuleSearchFilter + * TagFilter: { // ControlPlaneTagFilter + * OrConditions: [ // TagOrConditionList + * [ // TagAndConditionList + * { // TagCondition + * TagKey: "STRING_VALUE", + * TagValue: "STRING_VALUE", + * }, + * ], + * ], + * AndConditions: [ + * { + * TagKey: "STRING_VALUE", + * TagValue: "STRING_VALUE", + * }, + * ], + * TagCondition: "", + * }, + * }, + * SearchCriteria: { // ContactFlowModuleSearchCriteria + * OrConditions: [ // ContactFlowModuleSearchConditionList + * { + * OrConditions: [ + * "", + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { // StringCondition + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * }, + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * }, + * }; + * const command = new SearchContactFlowModulesCommand(input); + * const response = await client.send(command); + * // { // SearchContactFlowModulesResponse + * // ContactFlowModules: [ // ContactFlowModuleSearchSummaryList + * // { // ContactFlowModule + * // Arn: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Content: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // State: "ACTIVE" || "ARCHIVED", + * // Status: "PUBLISHED" || "SAVED", + * // Tags: { // TagMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // ApproximateTotalCount: Number("long"), + * // }; + * + * ``` + * + * @param SearchContactFlowModulesCommandInput - {@link SearchContactFlowModulesCommandInput} + * @returns {@link SearchContactFlowModulesCommandOutput} + * @see {@link SearchContactFlowModulesCommandInput} for command's `input` shape. + * @see {@link SearchContactFlowModulesCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + * @public + */ +export class SearchContactFlowModulesCommand extends $Command + .classBuilder< + SearchContactFlowModulesCommandInput, + SearchContactFlowModulesCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "SearchContactFlowModules", {}) + .n("ConnectClient", "SearchContactFlowModulesCommand") + .f(void 0, void 0) + .ser(se_SearchContactFlowModulesCommand) + .de(de_SearchContactFlowModulesCommand) + .build() {} diff --git a/clients/client-connect/src/commands/SearchContactFlowsCommand.ts b/clients/client-connect/src/commands/SearchContactFlowsCommand.ts new file mode 100644 index 000000000000..5ea52686b5b1 --- /dev/null +++ b/clients/client-connect/src/commands/SearchContactFlowsCommand.ts @@ -0,0 +1,165 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { SearchContactFlowsRequest, SearchContactFlowsResponse } from "../models/models_2"; +import { de_SearchContactFlowsCommand, se_SearchContactFlowsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link SearchContactFlowsCommand}. + */ +export interface SearchContactFlowsCommandInput extends SearchContactFlowsRequest {} +/** + * @public + * + * The output of {@link SearchContactFlowsCommand}. + */ +export interface SearchContactFlowsCommandOutput extends SearchContactFlowsResponse, __MetadataBearer {} + +/** + *

Searches the contact flows in an Amazon Connect instance, with optional + * filtering.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, SearchContactFlowsCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, SearchContactFlowsCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const input = { // SearchContactFlowsRequest + * InstanceId: "STRING_VALUE", // required + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * SearchFilter: { // ContactFlowSearchFilter + * TagFilter: { // ControlPlaneTagFilter + * OrConditions: [ // TagOrConditionList + * [ // TagAndConditionList + * { // TagCondition + * TagKey: "STRING_VALUE", + * TagValue: "STRING_VALUE", + * }, + * ], + * ], + * AndConditions: [ + * { + * TagKey: "STRING_VALUE", + * TagValue: "STRING_VALUE", + * }, + * ], + * TagCondition: "", + * }, + * }, + * SearchCriteria: { // ContactFlowSearchCriteria + * OrConditions: [ // ContactFlowSearchConditionList + * { + * OrConditions: [ + * "", + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { // StringCondition + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * TypeCondition: "CONTACT_FLOW" || "CUSTOMER_QUEUE" || "CUSTOMER_HOLD" || "CUSTOMER_WHISPER" || "AGENT_HOLD" || "AGENT_WHISPER" || "OUTBOUND_WHISPER" || "AGENT_TRANSFER" || "QUEUE_TRANSFER", + * StateCondition: "ACTIVE" || "ARCHIVED", + * StatusCondition: "PUBLISHED" || "SAVED", + * }, + * ], + * AndConditions: [ + * "", + * ], + * StringCondition: { + * FieldName: "STRING_VALUE", + * Value: "STRING_VALUE", + * ComparisonType: "STARTS_WITH" || "CONTAINS" || "EXACT", + * }, + * TypeCondition: "CONTACT_FLOW" || "CUSTOMER_QUEUE" || "CUSTOMER_HOLD" || "CUSTOMER_WHISPER" || "AGENT_HOLD" || "AGENT_WHISPER" || "OUTBOUND_WHISPER" || "AGENT_TRANSFER" || "QUEUE_TRANSFER", + * StateCondition: "ACTIVE" || "ARCHIVED", + * StatusCondition: "PUBLISHED" || "SAVED", + * }, + * }; + * const command = new SearchContactFlowsCommand(input); + * const response = await client.send(command); + * // { // SearchContactFlowsResponse + * // ContactFlows: [ // ContactFlowSearchSummaryList + * // { // ContactFlow + * // Arn: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // Type: "CONTACT_FLOW" || "CUSTOMER_QUEUE" || "CUSTOMER_HOLD" || "CUSTOMER_WHISPER" || "AGENT_HOLD" || "AGENT_WHISPER" || "OUTBOUND_WHISPER" || "AGENT_TRANSFER" || "QUEUE_TRANSFER", + * // State: "ACTIVE" || "ARCHIVED", + * // Status: "PUBLISHED" || "SAVED", + * // Description: "STRING_VALUE", + * // Content: "STRING_VALUE", + * // Tags: { // TagMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // ApproximateTotalCount: Number("long"), + * // }; + * + * ``` + * + * @param SearchContactFlowsCommandInput - {@link SearchContactFlowsCommandInput} + * @returns {@link SearchContactFlowsCommandOutput} + * @see {@link SearchContactFlowsCommandInput} for command's `input` shape. + * @see {@link SearchContactFlowsCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. + * + * @throws {@link InternalServiceException} (server fault) + *

Request processing failed because of an error or failure with the service.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the specified parameters are not valid.

+ * + * @throws {@link InvalidRequestException} (client fault) + *

The request is not valid.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource was not found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ConnectServiceException} + *

Base exception class for all service exceptions from Connect service.

+ * + * @public + */ +export class SearchContactFlowsCommand extends $Command + .classBuilder< + SearchContactFlowsCommandInput, + SearchContactFlowsCommandOutput, + ConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: ConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonConnectService", "SearchContactFlows", {}) + .n("ConnectClient", "SearchContactFlowsCommand") + .f(void 0, void 0) + .ser(se_SearchContactFlowsCommand) + .de(de_SearchContactFlowsCommand) + .build() {} diff --git a/clients/client-connect/src/commands/UpdateContactFlowContentCommand.ts b/clients/client-connect/src/commands/UpdateContactFlowContentCommand.ts index b3528a27a352..01494a210822 100644 --- a/clients/client-connect/src/commands/UpdateContactFlowContentCommand.ts +++ b/clients/client-connect/src/commands/UpdateContactFlowContentCommand.ts @@ -30,6 +30,10 @@ export interface UpdateContactFlowContentCommandOutput extends UpdateContactFlow *

Updates the specified flow.

*

You can also create and update flows using the Amazon Connect * Flow language.

+ *

Use the $SAVED alias in the request to describe the SAVED content + * of a Flow. For example, arn:aws:.../contact-flow/\{id\}:$SAVED. Once a contact flow is + * published, $SAVED needs to be supplied to view saved content that has not been + * published.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/UpdateContactFlowModuleContentCommand.ts b/clients/client-connect/src/commands/UpdateContactFlowModuleContentCommand.ts index fd06c478c998..3ad80496199d 100644 --- a/clients/client-connect/src/commands/UpdateContactFlowModuleContentCommand.ts +++ b/clients/client-connect/src/commands/UpdateContactFlowModuleContentCommand.ts @@ -33,6 +33,10 @@ export interface UpdateContactFlowModuleContentCommandOutput /** *

Updates specified flow module for the specified Amazon Connect instance.

+ *

Use the $SAVED alias in the request to describe the SAVED content + * of a Flow. For example, arn:aws:.../contact-flow/\{id\}:$SAVED. Once a contact flow is + * published, $SAVED needs to be supplied to view saved content that has not been + * published.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/index.ts b/clients/client-connect/src/commands/index.ts index 25ef45c4f5f9..fb4d0e711c49 100644 --- a/clients/client-connect/src/commands/index.ts +++ b/clients/client-connect/src/commands/index.ts @@ -171,6 +171,8 @@ export * from "./ReplicateInstanceCommand"; export * from "./ResumeContactCommand"; export * from "./ResumeContactRecordingCommand"; export * from "./SearchAvailablePhoneNumbersCommand"; +export * from "./SearchContactFlowModulesCommand"; +export * from "./SearchContactFlowsCommand"; export * from "./SearchContactsCommand"; export * from "./SearchHoursOfOperationsCommand"; export * from "./SearchPredefinedAttributesCommand"; diff --git a/clients/client-connect/src/models/models_0.ts b/clients/client-connect/src/models/models_0.ts index f4430fca92f7..9503c7b5836b 100644 --- a/clients/client-connect/src/models/models_0.ts +++ b/clients/client-connect/src/models/models_0.ts @@ -1729,7 +1729,8 @@ export interface BatchGetAttachedFileMetadataRequest { } /** - *

Error describing a failure to retrieve attached file metadata through BatchGetAttachedFileMetadata action.

+ *

Error describing a failure to retrieve attached file metadata through + * BatchGetAttachedFileMetadata action.

* @public */ export interface AttachedFileError { @@ -2399,6 +2400,20 @@ export class DuplicateResourceException extends __BaseException { } } +/** + * @public + * @enum + */ +export const ContactFlowStatus = { + PUBLISHED: "PUBLISHED", + SAVED: "SAVED", +} as const; + +/** + * @public + */ +export type ContactFlowStatus = (typeof ContactFlowStatus)[keyof typeof ContactFlowStatus]; + /** * @public * @enum @@ -2457,6 +2472,15 @@ export interface CreateContactFlowRequest { */ Content: string | undefined; + /** + *

Indicates the flow status as either SAVED or PUBLISHED. The + * PUBLISHED status will initiate validation on the content. the SAVED + * status does not initiate validation of the content. SAVED | + * PUBLISHED.

+ * @public + */ + Status?: ContactFlowStatus; + /** *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

* @public @@ -7039,6 +7063,12 @@ export interface ContactFlow { */ State?: ContactFlowState; + /** + *

The status of the contact flow.

+ * @public + */ + Status?: ContactFlowStatus; + /** *

The description of the flow.

* @public @@ -7237,66 +7267,6 @@ export interface DescribeHoursOfOperationRequest { HoursOfOperationId: string | undefined; } -/** - *

Information about of the hours of operation.

- * @public - */ -export interface HoursOfOperation { - /** - *

The identifier for the hours of operation.

- * @public - */ - HoursOfOperationId?: string; - - /** - *

The Amazon Resource Name (ARN) for the hours of operation.

- * @public - */ - HoursOfOperationArn?: string; - - /** - *

The name for the hours of operation.

- * @public - */ - Name?: string; - - /** - *

The description for the hours of operation.

- * @public - */ - Description?: string; - - /** - *

The time zone for the hours of operation.

- * @public - */ - TimeZone?: string; - - /** - *

Configuration information for the hours of operation.

- * @public - */ - Config?: HoursOfOperationConfig[]; - - /** - *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

- * @public - */ - Tags?: Record; - - /** - *

The timestamp when this resource was last modified.

- * @public - */ - LastModifiedTime?: Date; - - /** - *

The Amazon Web Services Region where this resource was last modified.

- * @public - */ - LastModifiedRegion?: string; -} - /** * @internal */ diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index 47d38e2e04f2..461566f173f8 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -16,6 +16,7 @@ import { Channel, ContactFlowModuleState, ContactFlowState, + ContactFlowStatus, ContactFlowType, ContactState, CreatedByInfo, @@ -29,7 +30,7 @@ import { FileUseCaseType, FlowAssociationResourceType, FlowAssociationSummary, - HoursOfOperation, + HoursOfOperationConfig, InstanceStorageConfig, InstanceStorageResourceType, IntegrationType, @@ -67,6 +68,66 @@ import { VocabularyState, } from "./models_0"; +/** + *

Information about of the hours of operation.

+ * @public + */ +export interface HoursOfOperation { + /** + *

The identifier for the hours of operation.

+ * @public + */ + HoursOfOperationId?: string; + + /** + *

The Amazon Resource Name (ARN) for the hours of operation.

+ * @public + */ + HoursOfOperationArn?: string; + + /** + *

The name for the hours of operation.

+ * @public + */ + Name?: string; + + /** + *

The description for the hours of operation.

+ * @public + */ + Description?: string; + + /** + *

The time zone for the hours of operation.

+ * @public + */ + TimeZone?: string; + + /** + *

Configuration information for the hours of operation.

+ * @public + */ + Config?: HoursOfOperationConfig[]; + + /** + *

The tags used to organize, track, or control access for this resource. For example, \{ "Tags": \{"key1":"value1", "key2":"value2"\} \}.

+ * @public + */ + Tags?: Record; + + /** + *

The timestamp when this resource was last modified.

+ * @public + */ + LastModifiedTime?: Date; + + /** + *

The Amazon Web Services Region where this resource was last modified.

+ * @public + */ + LastModifiedRegion?: string; +} + /** * @public */ @@ -2391,7 +2452,8 @@ export interface GetAttachedFileRequest { FileId: string | undefined; /** - *

Optional override for the expiry of the pre-signed S3 URL in seconds.

+ *

Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is + * 300.

* @public */ UrlExpiryInSeconds?: number; @@ -2472,9 +2534,6 @@ export interface GetAttachedFileResponse { /** *

The resource to which the attached file is (being) uploaded to. Cases are the only * current supported resource.

- * - *

This value must be a valid ARN.

- *
* @public */ AssociatedResourceArn?: string; @@ -4083,8 +4142,8 @@ export interface GetMetricDataV2Request { * AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | * FEATURE | CASE_TEMPLATE_ARN | CASE_STATUS | - * contact/segmentAttributes/connect:Subtype | - * ROUTING_STEP_EXPRESSION + * contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION + * | Q_CONNECT_ENABLED *

* *
  • @@ -4106,6 +4165,18 @@ export interface GetMetricDataV2Request { * ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 * length. This filter is case and order sensitive. JSON string fields must be sorted in ascending * order and JSON array order should be kept as is.

    + *

    + * Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the + * Q_CONNECT_ENABLED filter key.

    + *
      + *
    • + *

      TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

      + *
    • + *
    • + *

      FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

      + *
    • + *
    + *

    This filter is available only for contact record-driven metrics.

    *
  • * * @public @@ -4122,8 +4193,8 @@ export interface GetMetricDataV2Request { * AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | * AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | * CASE_TEMPLATE_ARN | CASE_STATUS | - * contact/segmentAttributes/connect:Subtype | - * ROUTING_STEP_EXPRESSION + * contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION | + * Q_CONNECT_ENABLED *

    * @public */ @@ -4138,7 +4209,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Percent

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Abandonment rate *

    *
    @@ -4207,14 +4278,14 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average queue abandon time *

    *
    *
    AVG_ACTIVE_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Average active time *

    *
    @@ -4224,7 +4295,7 @@ export interface GetMetricDataV2Request { *

    Valid metric filter key: INITIATION_METHOD *

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average after contact work time *

    * @@ -4249,7 +4320,7 @@ export interface GetMetricDataV2Request { *
    AVG_AGENT_PAUSE_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Average agent pause time *

    *
    @@ -4273,7 +4344,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average contact duration *

    * @@ -4284,7 +4355,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average conversation duration *

    *
    @@ -4294,7 +4365,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average agent greeting time *

    * @@ -4313,7 +4384,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average customer hold time *

    * @@ -4324,7 +4395,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average customer hold time all contacts *

    *
    @@ -4332,7 +4403,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average holds *

    * @@ -4343,7 +4414,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average agent interaction and customer hold time *

    *
    @@ -4353,7 +4424,7 @@ export interface GetMetricDataV2Request { *

    Valid metric filter key: INITIATION_METHOD *

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average agent interaction time *

    * @@ -4366,7 +4437,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average agent interruptions *

    * @@ -4376,7 +4447,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average agent interruption time *

    * @@ -4386,7 +4457,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average non-talk time *

    * @@ -4394,7 +4465,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average queue answer time *

    * @@ -4404,8 +4475,8 @@ export interface GetMetricDataV2Request { *
    AVG_RESOLUTION_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, - * contact/segmentAttributes/connect:Subtype

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, + * Q in Connect

    *

    UI name: Average resolution time *

    *
    @@ -4415,7 +4486,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average talk time *

    * @@ -4425,7 +4496,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average agent talk time *

    * @@ -4435,7 +4506,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Average customer talk time *

    * @@ -4451,7 +4522,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

    *

    UI name: Contact abandoned *

    *
    @@ -4461,7 +4532,7 @@ export interface GetMetricDataV2Request { *

    Valid metric filter key: INITIATION_METHOD *

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts created *

    * @@ -4475,7 +4546,7 @@ export interface GetMetricDataV2Request { * DISCONNECT_REASON *

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    + * contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

    *

    UI name: API contacts handled *

    * @@ -4488,7 +4559,7 @@ export interface GetMetricDataV2Request { *

    Valid metric filter key: INITIATION_METHOD *

    *

    Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts handled (connected to agent timestamp) *

    * @@ -4496,42 +4567,42 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts hold disconnect *

    *
    *
    CONTACTS_ON_HOLD_AGENT_DISCONNECT
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contacts hold agent disconnect *

    *
    *
    CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contacts hold customer disconnect *

    *
    *
    CONTACTS_PUT_ON_HOLD
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contacts put on hold *

    *
    *
    CONTACTS_TRANSFERRED_OUT_EXTERNAL
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contacts transferred out external *

    *
    *
    CONTACTS_TRANSFERRED_OUT_INTERNAL
    *
    *

    Unit: Percent

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contacts transferred out internal *

    *
    @@ -4539,7 +4610,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts queued *

    *
    @@ -4554,8 +4625,8 @@ export interface GetMetricDataV2Request { *
    CONTACTS_RESOLVED_IN_X
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, - * contact/segmentAttributes/connect:Subtype

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, + * Q in Connect

    *

    Threshold: For ThresholdValue enter any whole number from 1 to 604800 * (inclusive), in seconds. For Comparison, you must enter LT (for * "Less than").

    @@ -4566,7 +4637,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts transferred out *

    * @@ -4577,7 +4648,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts transferred out by agent *

    *
    @@ -4585,7 +4656,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contacts transferred out queue *

    *
    @@ -4601,7 +4672,7 @@ export interface GetMetricDataV2Request { *
    *

    Unit: Seconds

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Maximum queued time *

    *
    @@ -4631,7 +4702,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Percentage

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Non-talk * time percent *

    @@ -4642,7 +4713,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Percentage

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Talk time * percent *

    @@ -4653,7 +4724,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Percentage

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Agent * talk time percent *

    @@ -4664,7 +4735,7 @@ export interface GetMetricDataV2Request { * analytics.

    *

    Unit: Percentage

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Customer talk time percent *

    * @@ -4688,7 +4759,7 @@ export interface GetMetricDataV2Request { *
    *

    You can include up to 20 SERVICE_LEVEL metrics in a request.

    *

    Unit: Percent

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

    *

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800 * (inclusive), in seconds. For Comparison, you must enter LT (for * "Less than").

    @@ -4704,7 +4775,7 @@ export interface GetMetricDataV2Request { *
    SUM_AFTER_CONTACT_WORK_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: After * contact work time *

    @@ -4727,7 +4798,7 @@ export interface GetMetricDataV2Request { *
    SUM_CONTACT_FLOW_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contact flow time *

    *
    @@ -4741,8 +4812,8 @@ export interface GetMetricDataV2Request { *
    SUM_CONTACTS_ANSWERED_IN_X
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, - * contact/segmentAttributes/connect:Subtype

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, + * Q in Connect

    *

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800 * (inclusive), in seconds. For Comparison, you must enter LT (for * "Less than").

    @@ -4752,8 +4823,8 @@ export interface GetMetricDataV2Request { *
    SUM_CONTACTS_ABANDONED_IN_X
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, - * contact/segmentAttributes/connect:Subtype

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, + * Q in Connect

    *

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800 * (inclusive), in seconds. For Comparison, you must enter LT (for * "Less than").

    @@ -4766,7 +4837,7 @@ export interface GetMetricDataV2Request { *

    *

    Unit: Count

    *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, - * contact/segmentAttributes/connect:Subtype

    + * contact/segmentAttributes/connect:Subtype, Q in Connect

    *

    UI name: Contact disconnected *

    *
    @@ -4780,14 +4851,14 @@ export interface GetMetricDataV2Request { *
    SUM_HANDLE_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Contact handle time *

    *
    *
    SUM_HOLD_TIME
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Customer hold time *

    *
    @@ -4801,7 +4872,7 @@ export interface GetMetricDataV2Request { *
    SUM_INTERACTION_AND_HOLD_TIME
    *
    *

    Unit: Seconds

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    *

    UI name: Agent interaction and hold time *

    *
    @@ -4829,8 +4900,8 @@ export interface GetMetricDataV2Request { *
    SUM_RETRY_CALLBACK_ATTEMPTS
    *
    *

    Unit: Count

    - *

    Valid groupings and filters: Queue, Channel, Routing Profile, - * contact/segmentAttributes/connect:Subtype

    + *

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, + * Q in Connect

    *

    UI name: Callback attempts *

    *
    @@ -5710,6 +5781,12 @@ export interface ContactFlowSummary { * @public */ ContactFlowState?: ContactFlowState; + + /** + *

    The status of the contact flow.

    + * @public + */ + ContactFlowStatus?: ContactFlowStatus; } /** @@ -9621,38 +9698,6 @@ export interface ReleasePhoneNumberRequest { ClientToken?: string; } -/** - * @public - */ -export interface ReplicateInstanceRequest { - /** - *

    The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You can provide the InstanceId, or the entire ARN.

    - * @public - */ - InstanceId: string | undefined; - - /** - *

    The Amazon Web Services Region where to replicate the Amazon Connect instance.

    - * @public - */ - ReplicaRegion: string | undefined; - - /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    - * @public - */ - ClientToken?: string; - - /** - *

    The alias for the replicated instance. The ReplicaAlias must be unique.

    - * @public - */ - ReplicaAlias: string | undefined; -} - /** * @internal */ @@ -9763,11 +9808,3 @@ export const ListViewVersionsResponseFilterSensitiveLog = (obj: ListViewVersions ViewVersionSummaryList: obj.ViewVersionSummaryList.map((item) => ViewVersionSummaryFilterSensitiveLog(item)), }), }); - -/** - * @internal - */ -export const ReplicateInstanceRequestFilterSensitiveLog = (obj: ReplicateInstanceRequest): any => ({ - ...obj, - ...(obj.ReplicaAlias && { ReplicaAlias: SENSITIVE_STRING }), -}); diff --git a/clients/client-connect/src/models/models_2.ts b/clients/client-connect/src/models/models_2.ts index c9302b7b3f73..da6e910766f6 100644 --- a/clients/client-connect/src/models/models_2.ts +++ b/clients/client-connect/src/models/models_2.ts @@ -11,8 +11,12 @@ import { AllowedCapabilities, Application, Channel, + ContactFlow, + ContactFlowModule, ContactFlowModuleState, ContactFlowState, + ContactFlowStatus, + ContactFlowType, ContactInitiationMethod, CreatedByInfo, Evaluation, @@ -23,7 +27,6 @@ import { EvaluationNote, FileStatusType, FileUseCaseType, - HoursOfOperation, HoursOfOperationConfig, InstanceStorageConfig, InstanceStorageResourceType, @@ -55,6 +58,7 @@ import { } from "./models_0"; import { + HoursOfOperation, InstanceAttributeType, PhoneNumberCountryCode, PhoneNumberType, @@ -69,6 +73,38 @@ import { TelephonyConfig, } from "./models_1"; +/** + * @public + */ +export interface ReplicateInstanceRequest { + /** + *

    The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You can provide the InstanceId, or the entire ARN.

    + * @public + */ + InstanceId: string | undefined; + + /** + *

    The Amazon Web Services Region where to replicate the Amazon Connect instance.

    + * @public + */ + ReplicaRegion: string | undefined; + + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    + * @public + */ + ClientToken?: string; + + /** + *

    The alias for the replicated instance. The ReplicaAlias must be unique.

    + * @public + */ + ReplicaAlias: string | undefined; +} + /** * @public */ @@ -237,6 +273,197 @@ export interface SearchAvailablePhoneNumbersResponse { AvailableNumbersList?: AvailableNumberSummary[]; } +/** + * @public + * @enum + */ +export const StringComparisonType = { + CONTAINS: "CONTAINS", + EXACT: "EXACT", + STARTS_WITH: "STARTS_WITH", +} as const; + +/** + * @public + */ +export type StringComparisonType = (typeof StringComparisonType)[keyof typeof StringComparisonType]; + +/** + *

    A leaf node condition which can be used to specify a string condition.

    + * + *

    The currently supported values for FieldName are name and + * description.

    + *
    + * @public + */ +export interface StringCondition { + /** + *

    The name of the field in the string condition.

    + * @public + */ + FieldName?: string; + + /** + *

    The value of the string.

    + * @public + */ + Value?: string; + + /** + *

    The type of comparison to be made when evaluating the string condition.

    + * @public + */ + ComparisonType?: StringComparisonType; +} + +/** + *

    A leaf node condition which can be used to specify a tag condition, for example, HAVE + * BPO = 123.

    + * @public + */ +export interface TagCondition { + /** + *

    The tag key in the tag condition.

    + * @public + */ + TagKey?: string; + + /** + *

    The tag value in the tag condition.

    + * @public + */ + TagValue?: string; +} + +/** + *

    An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

    + *
      + *
    • + *

      Top level list specifies conditions that need to be applied with OR + * operator

      + *
    • + *
    • + *

      Inner list specifies conditions that need to be applied with AND + * operator.

      + *
    • + *
    + * @public + */ +export interface ControlPlaneTagFilter { + /** + *

    A list of conditions which would be applied together with an OR condition. + *

    + * @public + */ + OrConditions?: TagCondition[][]; + + /** + *

    A list of conditions which would be applied together with an AND + * condition.

    + * @public + */ + AndConditions?: TagCondition[]; + + /** + *

    A leaf node condition which can be used to specify a tag condition.

    + * @public + */ + TagCondition?: TagCondition; +} + +/** + *

    The search criteria to be used to return flow modules.

    + * @public + */ +export interface ContactFlowModuleSearchFilter { + /** + *

    An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

    + *
      + *
    • + *

      Top level list specifies conditions that need to be applied with OR + * operator

      + *
    • + *
    • + *

      Inner list specifies conditions that need to be applied with AND + * operator.

      + *
    • + *
    + * @public + */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchContactFlowModulesResponse { + /** + *

    The search criteria to be used to return contact flow modules.

    + * @public + */ + ContactFlowModules?: ContactFlowModule[]; + + /** + *

    If there are additional results, this is the token for the next set of results.

    + * @public + */ + NextToken?: string; + + /** + *

    The total number of contact flows which matched your search query.

    + * @public + */ + ApproximateTotalCount?: number; +} + +/** + *

    Filters to be applied to search results.

    + * @public + */ +export interface ContactFlowSearchFilter { + /** + *

    An object that can be used to specify Tag conditions inside the SearchFilter. + * This accepts an OR of AND (List of List) input where:

    + *
      + *
    • + *

      Top level list specifies conditions that need to be applied with OR + * operator

      + *
    • + *
    • + *

      Inner list specifies conditions that need to be applied with AND + * operator.

      + *
    • + *
    + * @public + */ + TagFilter?: ControlPlaneTagFilter; +} + +/** + * @public + */ +export interface SearchContactFlowsResponse { + /** + *

    Information about the contact flows.

    + * @public + */ + ContactFlows?: ContactFlow[]; + + /** + *

    If there are additional results, this is the token for the next set of results.

    + * @public + */ + NextToken?: string; + + /** + *

    The total number of contact flows which matched your search query.

    + * @public + */ + ApproximateTotalCount?: number; +} + /** * @public * @enum @@ -662,105 +889,6 @@ export interface SearchContactsResponse { TotalCount?: number; } -/** - * @public - * @enum - */ -export const StringComparisonType = { - CONTAINS: "CONTAINS", - EXACT: "EXACT", - STARTS_WITH: "STARTS_WITH", -} as const; - -/** - * @public - */ -export type StringComparisonType = (typeof StringComparisonType)[keyof typeof StringComparisonType]; - -/** - *

    A leaf node condition which can be used to specify a string condition.

    - * - *

    The currently supported values for FieldName are name and - * description.

    - *
    - * @public - */ -export interface StringCondition { - /** - *

    The name of the field in the string condition.

    - * @public - */ - FieldName?: string; - - /** - *

    The value of the string.

    - * @public - */ - Value?: string; - - /** - *

    The type of comparison to be made when evaluating the string condition.

    - * @public - */ - ComparisonType?: StringComparisonType; -} - -/** - *

    A leaf node condition which can be used to specify a tag condition, for example, HAVE - * BPO = 123.

    - * @public - */ -export interface TagCondition { - /** - *

    The tag key in the tag condition.

    - * @public - */ - TagKey?: string; - - /** - *

    The tag value in the tag condition.

    - * @public - */ - TagValue?: string; -} - -/** - *

    An object that can be used to specify Tag conditions inside the SearchFilter. - * This accepts an OR of AND (List of List) input where:

    - *
      - *
    • - *

      Top level list specifies conditions that need to be applied with OR - * operator

      - *
    • - *
    • - *

      Inner list specifies conditions that need to be applied with AND - * operator.

      - *
    • - *
    - * @public - */ -export interface ControlPlaneTagFilter { - /** - *

    A list of conditions which would be applied together with an OR condition. - *

    - * @public - */ - OrConditions?: TagCondition[][]; - - /** - *

    A list of conditions which would be applied together with an AND - * condition.

    - * @public - */ - AndConditions?: TagCondition[]; - - /** - *

    A leaf node condition which can be used to specify a tag condition.

    - * @public - */ - TagCondition?: TagCondition; -} - /** *

    Filters to be applied to search results.

    * @public @@ -1852,7 +1980,8 @@ export interface StartAttachedFileUploadRequest { FileSizeInBytes: number | undefined; /** - *

    Optional override for the expiry of the pre-signed S3 URL in seconds.

    + *

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is + * 300.

    * @public */ UrlExpiryInSeconds?: number; @@ -5183,6 +5312,84 @@ export interface EvaluationFormSection { Weight?: number; } +/** + *

    The search criteria to be used to return flow modules.

    + * @public + */ +export interface ContactFlowModuleSearchCriteria { + /** + *

    A list of conditions which would be applied together with an OR + * condition.

    + * @public + */ + OrConditions?: ContactFlowModuleSearchCriteria[]; + + /** + *

    A list of conditions which would be applied together with an AND + * condition.

    + * @public + */ + AndConditions?: ContactFlowModuleSearchCriteria[]; + + /** + *

    A leaf node condition which can be used to specify a string condition.

    + * + *

    The currently supported values for FieldName are name and + * description.

    + *
    + * @public + */ + StringCondition?: StringCondition; +} + +/** + *

    The search criteria to be used to return contact flows.

    + * @public + */ +export interface ContactFlowSearchCriteria { + /** + *

    A list of conditions which would be applied together with an OR + * condition.

    + * @public + */ + OrConditions?: ContactFlowSearchCriteria[]; + + /** + *

    A list of conditions which would be applied together with an AND + * condition.

    + * @public + */ + AndConditions?: ContactFlowSearchCriteria[]; + + /** + *

    A leaf node condition which can be used to specify a string condition.

    + * + *

    The currently supported values for FieldName are name and + * description.

    + *
    + * @public + */ + StringCondition?: StringCondition; + + /** + *

    The type of flow.

    + * @public + */ + TypeCondition?: ContactFlowType; + + /** + *

    The state of the flow.

    + * @public + */ + StateCondition?: ContactFlowState; + + /** + *

    The status of the flow.

    + * @public + */ + StatusCondition?: ContactFlowStatus; +} + /** * @public */ @@ -5714,6 +5921,90 @@ export interface DescribeEvaluationFormResponse { EvaluationForm: EvaluationForm | undefined; } +/** + * @public + */ +export interface SearchContactFlowModulesRequest { + /** + *

    The identifier of the Amazon Connect instance. You can find the instance ID in the + * Amazon Resource Name (ARN) of the instance.

    + * @public + */ + InstanceId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + NextToken?: string; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + MaxResults?: number; + + /** + *

    Filters to be applied to search results.

    + * @public + */ + SearchFilter?: ContactFlowModuleSearchFilter; + + /** + *

    The search criteria to be used to return contact flow modules.

    + * + *

    The name and description fields support "contains" queries with a + * minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths + * outside of this range will result in invalid results.

    + *
    + * @public + */ + SearchCriteria?: ContactFlowModuleSearchCriteria; +} + +/** + * @public + */ +export interface SearchContactFlowsRequest { + /** + *

    The identifier of the Amazon Connect instance. You can find the instance ID in the + * Amazon Resource Name (ARN) of the instance.

    + * @public + */ + InstanceId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + NextToken?: string; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + MaxResults?: number; + + /** + *

    Filters to be applied to search results.

    + * @public + */ + SearchFilter?: ContactFlowSearchFilter; + + /** + *

    The search criteria to be used to return flows.

    + * + *

    The name and description fields support "contains" queries with a + * minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths + * outside of this range will result in invalid results.

    + *
    + * @public + */ + SearchCriteria?: ContactFlowSearchCriteria; +} + /** * @public */ @@ -6024,6 +6315,14 @@ export interface SearchUsersRequest { SearchCriteria?: UserSearchCriteria; } +/** + * @internal + */ +export const ReplicateInstanceRequestFilterSensitiveLog = (obj: ReplicateInstanceRequest): any => ({ + ...obj, + ...(obj.ReplicaAlias && { ReplicaAlias: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-connect/src/pagination/SearchContactFlowModulesPaginator.ts b/clients/client-connect/src/pagination/SearchContactFlowModulesPaginator.ts new file mode 100644 index 000000000000..4ce47180e88a --- /dev/null +++ b/clients/client-connect/src/pagination/SearchContactFlowModulesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + SearchContactFlowModulesCommand, + SearchContactFlowModulesCommandInput, + SearchContactFlowModulesCommandOutput, +} from "../commands/SearchContactFlowModulesCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateSearchContactFlowModules: ( + config: ConnectPaginationConfiguration, + input: SearchContactFlowModulesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + SearchContactFlowModulesCommandInput, + SearchContactFlowModulesCommandOutput +>(ConnectClient, SearchContactFlowModulesCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/SearchContactFlowsPaginator.ts b/clients/client-connect/src/pagination/SearchContactFlowsPaginator.ts new file mode 100644 index 000000000000..ffaa1f7ef642 --- /dev/null +++ b/clients/client-connect/src/pagination/SearchContactFlowsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + SearchContactFlowsCommand, + SearchContactFlowsCommandInput, + SearchContactFlowsCommandOutput, +} from "../commands/SearchContactFlowsCommand"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateSearchContactFlows: ( + config: ConnectPaginationConfiguration, + input: SearchContactFlowsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ConnectPaginationConfiguration, + SearchContactFlowsCommandInput, + SearchContactFlowsCommandOutput +>(ConnectClient, SearchContactFlowsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-connect/src/pagination/index.ts b/clients/client-connect/src/pagination/index.ts index 5cb359ca5430..3be1475f1f0c 100644 --- a/clients/client-connect/src/pagination/index.ts +++ b/clients/client-connect/src/pagination/index.ts @@ -50,6 +50,8 @@ export * from "./ListUsersPaginator"; export * from "./ListViewVersionsPaginator"; export * from "./ListViewsPaginator"; export * from "./SearchAvailablePhoneNumbersPaginator"; +export * from "./SearchContactFlowModulesPaginator"; +export * from "./SearchContactFlowsPaginator"; export * from "./SearchContactsPaginator"; export * from "./SearchHoursOfOperationsPaginator"; export * from "./SearchPredefinedAttributesPaginator"; diff --git a/clients/client-connect/src/protocols/Aws_restJson1.ts b/clients/client-connect/src/protocols/Aws_restJson1.ts index 2596fa735c0b..85882a75637e 100644 --- a/clients/client-connect/src/protocols/Aws_restJson1.ts +++ b/clients/client-connect/src/protocols/Aws_restJson1.ts @@ -496,6 +496,11 @@ import { SearchAvailablePhoneNumbersCommandInput, SearchAvailablePhoneNumbersCommandOutput, } from "../commands/SearchAvailablePhoneNumbersCommand"; +import { + SearchContactFlowModulesCommandInput, + SearchContactFlowModulesCommandOutput, +} from "../commands/SearchContactFlowModulesCommand"; +import { SearchContactFlowsCommandInput, SearchContactFlowsCommandOutput } from "../commands/SearchContactFlowsCommand"; import { SearchContactsCommandInput, SearchContactsCommandOutput } from "../commands/SearchContactsCommand"; import { SearchHoursOfOperationsCommandInput, @@ -773,7 +778,6 @@ import { EventBridgeActionDefinition, FieldValue, FieldValueUnion, - HoursOfOperation, HoursOfOperationConfig, HoursOfOperationTimeSlice, IdempotencyException, @@ -857,6 +861,7 @@ import { HistoricalMetric, HistoricalMetricData, HistoricalMetricResult, + HoursOfOperation, HoursOfOperationSummary, Instance, InstanceSummary, @@ -912,6 +917,10 @@ import { ChatParticipantRoleConfig, ChatStreamingConfiguration, ContactAnalysis, + ContactFlowModuleSearchCriteria, + ContactFlowModuleSearchFilter, + ContactFlowSearchCriteria, + ContactFlowSearchFilter, ContactNotFoundException, ContactSearchSummary, ContactSearchSummaryAgentInfo, @@ -1539,6 +1548,7 @@ export const se_CreateContactFlowCommand = async ( Content: [], Description: [], Name: [], + Status: [], Tags: (_) => _json(_), Type: [], }) @@ -4657,6 +4667,58 @@ export const se_SearchAvailablePhoneNumbersCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1SearchContactFlowModulesCommand + */ +export const se_SearchContactFlowModulesCommand = async ( + input: SearchContactFlowModulesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/search-contact-flow-modules"); + let body: any; + body = JSON.stringify( + take(input, { + InstanceId: [], + MaxResults: [], + NextToken: [], + SearchCriteria: (_) => se_ContactFlowModuleSearchCriteria(_, context), + SearchFilter: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1SearchContactFlowsCommand + */ +export const se_SearchContactFlowsCommand = async ( + input: SearchContactFlowsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/search-contact-flows"); + let body: any; + body = JSON.stringify( + take(input, { + InstanceId: [], + MaxResults: [], + NextToken: [], + SearchCriteria: (_) => se_ContactFlowSearchCriteria(_, context), + SearchFilter: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1SearchContactsCommand */ @@ -10130,6 +10192,52 @@ export const de_SearchAvailablePhoneNumbersCommand = async ( return contents; }; +/** + * deserializeAws_restJson1SearchContactFlowModulesCommand + */ +export const de_SearchContactFlowModulesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + ApproximateTotalCount: __expectLong, + ContactFlowModules: _json, + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1SearchContactFlowsCommand + */ +export const de_SearchContactFlowsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + ApproximateTotalCount: __expectLong, + ContactFlows: _json, + NextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1SearchContactsCommand */ @@ -12227,6 +12335,60 @@ const de_UserNotFoundExceptionRes = async ( // se_ContactFilter omitted. +/** + * serializeAws_restJson1ContactFlowModuleSearchConditionList + */ +const se_ContactFlowModuleSearchConditionList = ( + input: ContactFlowModuleSearchCriteria[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_ContactFlowModuleSearchCriteria(entry, context); + }); +}; + +/** + * serializeAws_restJson1ContactFlowModuleSearchCriteria + */ +const se_ContactFlowModuleSearchCriteria = (input: ContactFlowModuleSearchCriteria, context: __SerdeContext): any => { + return take(input, { + AndConditions: (_) => se_ContactFlowModuleSearchConditionList(_, context), + OrConditions: (_) => se_ContactFlowModuleSearchConditionList(_, context), + StringCondition: _json, + }); +}; + +// se_ContactFlowModuleSearchFilter omitted. + +/** + * serializeAws_restJson1ContactFlowSearchConditionList + */ +const se_ContactFlowSearchConditionList = (input: ContactFlowSearchCriteria[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_ContactFlowSearchCriteria(entry, context); + }); +}; + +/** + * serializeAws_restJson1ContactFlowSearchCriteria + */ +const se_ContactFlowSearchCriteria = (input: ContactFlowSearchCriteria, context: __SerdeContext): any => { + return take(input, { + AndConditions: (_) => se_ContactFlowSearchConditionList(_, context), + OrConditions: (_) => se_ContactFlowSearchConditionList(_, context), + StateCondition: [], + StatusCondition: [], + StringCondition: _json, + TypeCondition: [], + }); +}; + +// se_ContactFlowSearchFilter omitted. + // se_ContactReferences omitted. // se_ContactStates omitted. @@ -13188,10 +13350,14 @@ const de_Contact = (output: any, context: __SerdeContext): Contact => { // de_ContactFlowModule omitted. +// de_ContactFlowModuleSearchSummaryList omitted. + // de_ContactFlowModulesSummaryList omitted. // de_ContactFlowModuleSummary omitted. +// de_ContactFlowSearchSummaryList omitted. + // de_ContactFlowSummary omitted. // de_ContactFlowSummaryList omitted. diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index e629cbd848b7..a8291c355474 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -1252,6 +1252,12 @@ { "target": "com.amazonaws.connect#SearchAvailablePhoneNumbers" }, + { + "target": "com.amazonaws.connect#SearchContactFlowModules" + }, + { + "target": "com.amazonaws.connect#SearchContactFlows" + }, { "target": "com.amazonaws.connect#SearchContacts" }, @@ -3541,7 +3547,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Error describing a failure to retrieve attached file metadata through BatchGetAttachedFileMetadata action.

    " + "smithy.api#documentation": "

    Error describing a failure to retrieve attached file metadata through\n BatchGetAttachedFileMetadata action.

    " } }, "com.amazonaws.connect#AttachedFileErrorsList": { @@ -5038,6 +5044,12 @@ "smithy.api#documentation": "

    The type of flow.

    " } }, + "Status": { + "target": "com.amazonaws.connect#ContactFlowStatus", + "traits": { + "smithy.api#documentation": "

    The status of the contact flow.

    " + } + }, "Description": { "target": "com.amazonaws.connect#ContactFlowDescription", "traits": { @@ -5170,6 +5182,52 @@ "smithy.api#pattern": "\\S" } }, + "com.amazonaws.connect#ContactFlowModuleSearchConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactFlowModuleSearchCriteria" + } + }, + "com.amazonaws.connect#ContactFlowModuleSearchCriteria": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#ContactFlowModuleSearchConditionList", + "traits": { + "smithy.api#documentation": "

    A list of conditions which would be applied together with an OR\n condition.

    " + } + }, + "AndConditions": { + "target": "com.amazonaws.connect#ContactFlowModuleSearchConditionList", + "traits": { + "smithy.api#documentation": "

    A list of conditions which would be applied together with an AND\n condition.

    " + } + }, + "StringCondition": { + "target": "com.amazonaws.connect#StringCondition" + } + }, + "traits": { + "smithy.api#documentation": "

    The search criteria to be used to return flow modules.

    " + } + }, + "com.amazonaws.connect#ContactFlowModuleSearchFilter": { + "type": "structure", + "members": { + "TagFilter": { + "target": "com.amazonaws.connect#ControlPlaneTagFilter" + } + }, + "traits": { + "smithy.api#documentation": "

    The search criteria to be used to return flow modules.

    " + } + }, + "com.amazonaws.connect#ContactFlowModuleSearchSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactFlowModule" + } + }, "com.amazonaws.connect#ContactFlowModuleState": { "type": "enum", "members": { @@ -5263,6 +5321,70 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.connect#ContactFlowSearchConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactFlowSearchCriteria" + } + }, + "com.amazonaws.connect#ContactFlowSearchCriteria": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#ContactFlowSearchConditionList", + "traits": { + "smithy.api#documentation": "

    A list of conditions which would be applied together with an OR\n condition.

    " + } + }, + "AndConditions": { + "target": "com.amazonaws.connect#ContactFlowSearchConditionList", + "traits": { + "smithy.api#documentation": "

    A list of conditions which would be applied together with an AND\n condition.

    " + } + }, + "StringCondition": { + "target": "com.amazonaws.connect#StringCondition" + }, + "TypeCondition": { + "target": "com.amazonaws.connect#ContactFlowType", + "traits": { + "smithy.api#documentation": "

    The type of flow.

    " + } + }, + "StateCondition": { + "target": "com.amazonaws.connect#ContactFlowState", + "traits": { + "smithy.api#documentation": "

    The state of the flow.

    " + } + }, + "StatusCondition": { + "target": "com.amazonaws.connect#ContactFlowStatus", + "traits": { + "smithy.api#documentation": "

    The status of the flow.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The search criteria to be used to return contact flows.

    " + } + }, + "com.amazonaws.connect#ContactFlowSearchFilter": { + "type": "structure", + "members": { + "TagFilter": { + "target": "com.amazonaws.connect#ControlPlaneTagFilter" + } + }, + "traits": { + "smithy.api#documentation": "

    Filters to be applied to search results.

    " + } + }, + "com.amazonaws.connect#ContactFlowSearchSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#ContactFlow" + } + }, "com.amazonaws.connect#ContactFlowState": { "type": "enum", "members": { @@ -5280,6 +5402,23 @@ } } }, + "com.amazonaws.connect#ContactFlowStatus": { + "type": "enum", + "members": { + "PUBLISHED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PUBLISHED" + } + }, + "SAVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SAVED" + } + } + } + }, "com.amazonaws.connect#ContactFlowSummary": { "type": "structure", "members": { @@ -5312,6 +5451,12 @@ "traits": { "smithy.api#documentation": "

    The type of flow.

    " } + }, + "ContactFlowStatus": { + "target": "com.amazonaws.connect#ContactFlowStatus", + "traits": { + "smithy.api#documentation": "

    The status of the contact flow.

    " + } } }, "traits": { @@ -6128,6 +6273,12 @@ "smithy.api#required": {} } }, + "Status": { + "target": "com.amazonaws.connect#ContactFlowStatus", + "traits": { + "smithy.api#documentation": "

    Indicates the flow status as either SAVED or PUBLISHED. The\n PUBLISHED status will initiate validation on the content. the SAVED\n status does not initiate validation of the content. SAVED |\n PUBLISHED.

    " + } + }, "Tags": { "target": "com.amazonaws.connect#TagMap", "traits": { @@ -10548,7 +10699,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Describes the specified flow.

    \n

    You can also create and update flows using the Amazon Connect\n Flow language.

    ", + "smithy.api#documentation": "

    Describes the specified flow.

    \n

    You can also create and update flows using the Amazon Connect\n Flow language.

    \n

    Use the $SAVED alias in the request to describe the SAVED content\n of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is\n published, $SAVED needs to be supplied to view saved content that has not been\n published.

    \n

    In the response, Status indicates the flow status as either\n SAVED or PUBLISHED. The PUBLISHED status will initiate\n validation on the content. SAVED does not initiate validation of the content.\n SAVED | PUBLISHED\n

    ", "smithy.api#http": { "method": "GET", "uri": "/contact-flows/{InstanceId}/{ContactFlowId}", @@ -10585,7 +10736,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Describes the specified flow module.

    ", + "smithy.api#documentation": "

    Describes the specified flow module.

    \n

    Use the $SAVED alias in the request to describe the SAVED content\n of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is\n published, $SAVED needs to be supplied to view saved content that has not been\n published.

    ", "smithy.api#http": { "method": "GET", "uri": "/contact-flow-modules/{InstanceId}/{ContactFlowModuleId}", @@ -15192,7 +15343,7 @@ "UrlExpiryInSeconds": { "target": "com.amazonaws.connect#URLExpiryInSeconds", "traits": { - "smithy.api#documentation": "

    Optional override for the expiry of the pre-signed S3 URL in seconds.

    ", + "smithy.api#documentation": "

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is\n 300.

    ", "smithy.api#httpQuery": "urlExpiryInSeconds" } }, @@ -15253,7 +15404,7 @@ "AssociatedResourceArn": { "target": "com.amazonaws.connect#ARN", "traits": { - "smithy.api#documentation": "

    The resource to which the attached file is (being) uploaded to. Cases are the only\n current supported resource.

    \n \n

    This value must be a valid ARN.

    \n
    " + "smithy.api#documentation": "

    The resource to which the attached file is (being) uploaded to. Cases are the only\n current supported resource.

    " } }, "FileUseCaseType": { @@ -15950,20 +16101,20 @@ "Filters": { "target": "com.amazonaws.connect#FiltersV2List", "traits": { - "smithy.api#documentation": "

    The filters to apply to returned metrics. You can filter on the following resources:

    \n
      \n
    • \n

      Queues

      \n
    • \n
    • \n

      Routing profiles

      \n
    • \n
    • \n

      Agents

      \n
    • \n
    • \n

      Channels

      \n
    • \n
    • \n

      User hierarchy groups

      \n
    • \n
    • \n

      Feature

      \n
    • \n
    • \n

      Routing step expression

      \n
    • \n
    \n

    At least one filter must be passed from queues, routing profiles, agents, or user hierarchy\n groups.

    \n

    To filter by phone number, see Create a historical\n metrics report in the Amazon Connect Administrator's\n Guide.

    \n

    Note the following limits:

    \n
      \n
    • \n

      \n Filter keys: A maximum of 5 filter keys are supported in\n a single request. Valid filter keys: QUEUE | ROUTING_PROFILE |\n AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE |\n AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE |\n AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE |\n FEATURE | CASE_TEMPLATE_ARN | CASE_STATUS |\n contact/segmentAttributes/connect:Subtype |\n ROUTING_STEP_EXPRESSION\n

      \n
    • \n
    • \n

      \n Filter values: A maximum of 100 filter values are\n supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the\n CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a\n GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total\n of 100 filter values, along with 3 channel filters.

      \n

      \n contact_lens_conversational_analytics is a valid filterValue for the\n FEATURE filter key. It is available only to contacts analyzed by Contact Lens\n conversational analytics.

      \n

      \n connect:Chat, connect:SMS, connect:Telephony, and\n connect:WebRTC are valid filterValue examples (not exhaustive) for\n the contact/segmentAttributes/connect:Subtype filter key.

      \n

      \n ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000\n length. This filter is case and order sensitive. JSON string fields must be sorted in ascending\n order and JSON array order should be kept as is.

      \n
    • \n
    ", + "smithy.api#documentation": "

    The filters to apply to returned metrics. You can filter on the following resources:

    \n
      \n
    • \n

      Queues

      \n
    • \n
    • \n

      Routing profiles

      \n
    • \n
    • \n

      Agents

      \n
    • \n
    • \n

      Channels

      \n
    • \n
    • \n

      User hierarchy groups

      \n
    • \n
    • \n

      Feature

      \n
    • \n
    • \n

      Routing step expression

      \n
    • \n
    \n

    At least one filter must be passed from queues, routing profiles, agents, or user hierarchy\n groups.

    \n

    To filter by phone number, see Create a historical\n metrics report in the Amazon Connect Administrator's\n Guide.

    \n

    Note the following limits:

    \n
      \n
    • \n

      \n Filter keys: A maximum of 5 filter keys are supported in\n a single request. Valid filter keys: QUEUE | ROUTING_PROFILE |\n AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE |\n AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE |\n AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE |\n FEATURE | CASE_TEMPLATE_ARN | CASE_STATUS |\n contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION\n | Q_CONNECT_ENABLED\n

      \n
    • \n
    • \n

      \n Filter values: A maximum of 100 filter values are\n supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the\n CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a\n GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total\n of 100 filter values, along with 3 channel filters.

      \n

      \n contact_lens_conversational_analytics is a valid filterValue for the\n FEATURE filter key. It is available only to contacts analyzed by Contact Lens\n conversational analytics.

      \n

      \n connect:Chat, connect:SMS, connect:Telephony, and\n connect:WebRTC are valid filterValue examples (not exhaustive) for\n the contact/segmentAttributes/connect:Subtype filter key.

      \n

      \n ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000\n length. This filter is case and order sensitive. JSON string fields must be sorted in ascending\n order and JSON array order should be kept as is.

      \n

      \n Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the\n Q_CONNECT_ENABLED filter key.

      \n
        \n
      • \n

        TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

        \n
      • \n
      • \n

        FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

        \n
      • \n
      \n

      This filter is available only for contact record-driven metrics.

      \n
    • \n
    ", "smithy.api#required": {} } }, "Groupings": { "target": "com.amazonaws.connect#GroupingsV2", "traits": { - "smithy.api#documentation": "

    The grouping applied to the metrics that are returned. For example, when results are grouped\n by queue, the metrics returned are grouped by queue. The values that are returned apply to the\n metrics for each queue. They are not aggregated for all queues.

    \n

    If no grouping is specified, a summary of all metrics is returned.

    \n

    Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT\n | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE |\n AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE |\n AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE |\n CASE_TEMPLATE_ARN | CASE_STATUS |\n contact/segmentAttributes/connect:Subtype |\n ROUTING_STEP_EXPRESSION\n

    " + "smithy.api#documentation": "

    The grouping applied to the metrics that are returned. For example, when results are grouped\n by queue, the metrics returned are grouped by queue. The values that are returned apply to the\n metrics for each queue. They are not aggregated for all queues.

    \n

    If no grouping is specified, a summary of all metrics is returned.

    \n

    Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT\n | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE |\n AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE |\n AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE |\n CASE_TEMPLATE_ARN | CASE_STATUS |\n contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION |\n Q_CONNECT_ENABLED\n

    " } }, "Metrics": { "target": "com.amazonaws.connect#MetricsV2", "traits": { - "smithy.api#documentation": "

    The metrics to retrieve. Specify the name, groupings, and filters for each metric. The\n following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's\n Guide.

    \n
    \n
    ABANDONMENT_RATE
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Abandonment rate\n

    \n
    \n
    AGENT_ADHERENT_TIME
    \n
    \n

    This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Adherent time\n

    \n
    \n
    AGENT_ANSWER_RATE
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent answer rate\n

    \n
    \n
    AGENT_NON_ADHERENT_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Non-adherent time\n

    \n
    \n
    AGENT_NON_RESPONSE
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent\n non-response\n

    \n
    \n
    AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

    \n

    UI name: Agent non-response without customer abandons\n

    \n
    \n
    AGENT_OCCUPANCY
    \n
    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Occupancy\n

    \n
    \n
    AGENT_SCHEDULE_ADHERENCE
    \n
    \n

    This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Adherence\n

    \n
    \n
    AGENT_SCHEDULED_TIME
    \n
    \n

    This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Scheduled time\n

    \n
    \n
    AVG_ABANDON_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average queue abandon time\n

    \n
    \n
    AVG_ACTIVE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Average active time\n

    \n
    \n
    AVG_AFTER_CONTACT_WORK_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average after contact work time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_AGENT_CONNECTING_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD. For now, this metric only\n supports the following as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Average agent API connecting time\n

    \n \n

    The Negate key in Metric Level Filters is not applicable for this\n metric.

    \n
    \n
    \n
    AVG_AGENT_PAUSE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Average agent pause time\n

    \n
    \n
    AVG_CASE_RELATED_CONTACTS
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Average contacts per case\n

    \n
    \n
    AVG_CASE_RESOLUTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Average case resolution time\n

    \n
    \n
    AVG_CONTACT_DURATION
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average contact duration\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_CONVERSATION_DURATION
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average conversation duration\n

    \n
    \n
    AVG_GREETING_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average agent greeting time\n

    \n
    \n
    AVG_HANDLE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    \n

    UI name: Average handle time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_HOLD_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average customer hold time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_HOLD_TIME_ALL_CONTACTS
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average customer hold time all contacts\n

    \n
    \n
    AVG_HOLDS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average holds\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_INTERACTION_AND_HOLD_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average agent interaction and customer hold time\n

    \n
    \n
    AVG_INTERACTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average agent interaction time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_INTERRUPTIONS_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average agent interruptions\n

    \n
    \n
    AVG_INTERRUPTION_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average agent interruption time\n

    \n
    \n
    AVG_NON_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average non-talk time\n

    \n
    \n
    AVG_QUEUE_ANSWER_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average queue answer time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_RESOLUTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average resolution time\n

    \n
    \n
    AVG_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average talk time\n

    \n
    \n
    AVG_TALK_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average agent talk time\n

    \n
    \n
    AVG_TALK_TIME_CUSTOMER
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Average customer talk time\n

    \n
    \n
    CASES_CREATED
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases created\n

    \n
    \n
    CONTACTS_ABANDONED
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    \n

    UI name: Contact abandoned\n

    \n
    \n
    CONTACTS_CREATED
    \n
    \n

    Unit: Count

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts created\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    CONTACTS_HANDLED
    \n
    \n

    Unit: Count

    \n

    Valid metric filter key: INITIATION_METHOD,\n DISCONNECT_REASON\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    \n

    UI name: API contacts handled\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT
    \n
    \n

    Unit: Count

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts handled (connected to agent timestamp)\n

    \n
    \n
    CONTACTS_HOLD_ABANDONS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts hold disconnect\n

    \n
    \n
    CONTACTS_ON_HOLD_AGENT_DISCONNECT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contacts hold agent disconnect\n

    \n
    \n
    CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contacts hold customer disconnect\n

    \n
    \n
    CONTACTS_PUT_ON_HOLD
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contacts put on hold\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT_EXTERNAL
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contacts transferred out external\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT_INTERNAL
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contacts transferred out internal\n

    \n
    \n
    CONTACTS_QUEUED
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts queued\n

    \n
    \n
    CONTACTS_QUEUED_BY_ENQUEUE
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts queued (enqueue timestamp)\n

    \n
    \n
    CONTACTS_RESOLVED_IN_X
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile,\n contact/segmentAttributes/connect:Subtype

    \n

    Threshold: For ThresholdValue enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Contacts resolved in X\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts transferred out\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    CONTACTS_TRANSFERRED_OUT_BY_AGENT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts transferred out by agent\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts transferred out queue\n

    \n
    \n
    CURRENT_CASES
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Current cases\n

    \n
    \n
    MAX_QUEUED_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Maximum queued time\n

    \n
    \n
    PERCENT_CASES_FIRST_CONTACT_RESOLVED
    \n
    \n

    Unit: Percent

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases resolved on first contact\n

    \n
    \n
    PERCENT_CONTACTS_STEP_EXPIRED
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, RoutingStepExpression

    \n

    UI name: Not available

    \n
    \n
    PERCENT_CONTACTS_STEP_JOINED
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, RoutingStepExpression

    \n

    UI name: Not available

    \n
    \n
    PERCENT_NON_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Non-talk\n time percent\n

    \n
    \n
    PERCENT_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Talk time\n percent\n

    \n
    \n
    PERCENT_TALK_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Agent\n talk time percent\n

    \n
    \n
    PERCENT_TALK_TIME_CUSTOMER
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Customer talk time percent\n

    \n
    \n
    REOPENED_CASE_ACTIONS
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases reopened\n

    \n
    \n
    RESOLVED_CASE_ACTIONS
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases resolved\n

    \n
    \n
    SERVICE_LEVEL
    \n
    \n

    You can include up to 20 SERVICE_LEVEL metrics in a request.

    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile

    \n

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Service level X\n

    \n
    \n
    STEP_CONTACTS_QUEUED
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, RoutingStepExpression

    \n

    UI name: Not available

    \n
    \n
    SUM_AFTER_CONTACT_WORK_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: After\n contact work time\n

    \n
    \n
    SUM_CONNECTING_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD. This metric only supports the\n following filter keys as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent API connecting time\n

    \n \n

    The Negate key in Metric Level Filters is not applicable for this\n metric.

    \n
    \n
    \n
    SUM_CONTACT_FLOW_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contact flow time\n

    \n
    \n
    SUM_CONTACT_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent on contact time\n

    \n
    \n
    SUM_CONTACTS_ANSWERED_IN_X
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile,\n contact/segmentAttributes/connect:Subtype

    \n

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Contacts answered in X seconds\n

    \n
    \n
    SUM_CONTACTS_ABANDONED_IN_X
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile,\n contact/segmentAttributes/connect:Subtype

    \n

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Contacts abandoned in X seconds\n

    \n
    \n
    SUM_CONTACTS_DISCONNECTED
    \n
    \n

    Valid metric filter key: DISCONNECT_REASON\n

    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contact disconnected\n

    \n
    \n
    SUM_ERROR_STATUS_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Error status time\n

    \n
    \n
    SUM_HANDLE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Contact handle time\n

    \n
    \n
    SUM_HOLD_TIME
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Customer hold time\n

    \n
    \n
    SUM_IDLE_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent idle time\n

    \n
    \n
    SUM_INTERACTION_AND_HOLD_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent interaction and hold time\n

    \n
    \n
    SUM_INTERACTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent interaction time\n

    \n
    \n
    SUM_NON_PRODUCTIVE_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Non-Productive Time\n

    \n
    \n
    SUM_ONLINE_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Online time\n

    \n
    \n
    SUM_RETRY_CALLBACK_ATTEMPTS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Callback attempts\n

    \n
    \n
    ", + "smithy.api#documentation": "

    The metrics to retrieve. Specify the name, groupings, and filters for each metric. The\n following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's\n Guide.

    \n
    \n
    ABANDONMENT_RATE
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Abandonment rate\n

    \n
    \n
    AGENT_ADHERENT_TIME
    \n
    \n

    This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Adherent time\n

    \n
    \n
    AGENT_ANSWER_RATE
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent answer rate\n

    \n
    \n
    AGENT_NON_ADHERENT_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Non-adherent time\n

    \n
    \n
    AGENT_NON_RESPONSE
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent\n non-response\n

    \n
    \n
    AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

    \n

    UI name: Agent non-response without customer abandons\n

    \n
    \n
    AGENT_OCCUPANCY
    \n
    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Occupancy\n

    \n
    \n
    AGENT_SCHEDULE_ADHERENCE
    \n
    \n

    This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Adherence\n

    \n
    \n
    AGENT_SCHEDULED_TIME
    \n
    \n

    This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Scheduled time\n

    \n
    \n
    AVG_ABANDON_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average queue abandon time\n

    \n
    \n
    AVG_ACTIVE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Average active time\n

    \n
    \n
    AVG_AFTER_CONTACT_WORK_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average after contact work time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_AGENT_CONNECTING_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD. For now, this metric only\n supports the following as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Average agent API connecting time\n

    \n \n

    The Negate key in Metric Level Filters is not applicable for this\n metric.

    \n
    \n
    \n
    AVG_AGENT_PAUSE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Average agent pause time\n

    \n
    \n
    AVG_CASE_RELATED_CONTACTS
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Average contacts per case\n

    \n
    \n
    AVG_CASE_RESOLUTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Average case resolution time\n

    \n
    \n
    AVG_CONTACT_DURATION
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average contact duration\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_CONVERSATION_DURATION
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average conversation duration\n

    \n
    \n
    AVG_GREETING_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average agent greeting time\n

    \n
    \n
    AVG_HANDLE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

    \n

    UI name: Average handle time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_HOLD_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average customer hold time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_HOLD_TIME_ALL_CONTACTS
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average customer hold time all contacts\n

    \n
    \n
    AVG_HOLDS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average holds\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_INTERACTION_AND_HOLD_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average agent interaction and customer hold time\n

    \n
    \n
    AVG_INTERACTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average agent interaction time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_INTERRUPTIONS_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average agent interruptions\n

    \n
    \n
    AVG_INTERRUPTION_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average agent interruption time\n

    \n
    \n
    AVG_NON_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average non-talk time\n

    \n
    \n
    AVG_QUEUE_ANSWER_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average queue answer time\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    AVG_RESOLUTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

    \n

    UI name: Average resolution time\n

    \n
    \n
    AVG_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average talk time\n

    \n
    \n
    AVG_TALK_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average agent talk time\n

    \n
    \n
    AVG_TALK_TIME_CUSTOMER
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Average customer talk time\n

    \n
    \n
    CASES_CREATED
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases created\n

    \n
    \n
    CONTACTS_ABANDONED
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

    \n

    UI name: Contact abandoned\n

    \n
    \n
    CONTACTS_CREATED
    \n
    \n

    Unit: Count

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts created\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    CONTACTS_HANDLED
    \n
    \n

    Unit: Count

    \n

    Valid metric filter key: INITIATION_METHOD,\n DISCONNECT_REASON\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

    \n

    UI name: API contacts handled\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT
    \n
    \n

    Unit: Count

    \n

    Valid metric filter key: INITIATION_METHOD\n

    \n

    Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts handled (connected to agent timestamp)\n

    \n
    \n
    CONTACTS_HOLD_ABANDONS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts hold disconnect\n

    \n
    \n
    CONTACTS_ON_HOLD_AGENT_DISCONNECT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contacts hold agent disconnect\n

    \n
    \n
    CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contacts hold customer disconnect\n

    \n
    \n
    CONTACTS_PUT_ON_HOLD
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contacts put on hold\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT_EXTERNAL
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contacts transferred out external\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT_INTERNAL
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contacts transferred out internal\n

    \n
    \n
    CONTACTS_QUEUED
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts queued\n

    \n
    \n
    CONTACTS_QUEUED_BY_ENQUEUE
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

    \n

    UI name: Contacts queued (enqueue timestamp)\n

    \n
    \n
    CONTACTS_RESOLVED_IN_X
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

    \n

    Threshold: For ThresholdValue enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Contacts resolved in X\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts transferred out\n

    \n \n

    Feature is a valid filter but not a valid grouping.

    \n
    \n
    \n
    CONTACTS_TRANSFERRED_OUT_BY_AGENT
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts transferred out by agent\n

    \n
    \n
    CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contacts transferred out queue\n

    \n
    \n
    CURRENT_CASES
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Current cases\n

    \n
    \n
    MAX_QUEUED_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Maximum queued time\n

    \n
    \n
    PERCENT_CASES_FIRST_CONTACT_RESOLVED
    \n
    \n

    Unit: Percent

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases resolved on first contact\n

    \n
    \n
    PERCENT_CONTACTS_STEP_EXPIRED
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, RoutingStepExpression

    \n

    UI name: Not available

    \n
    \n
    PERCENT_CONTACTS_STEP_JOINED
    \n
    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, RoutingStepExpression

    \n

    UI name: Not available

    \n
    \n
    PERCENT_NON_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Non-talk\n time percent\n

    \n
    \n
    PERCENT_TALK_TIME
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Talk time\n percent\n

    \n
    \n
    PERCENT_TALK_TIME_AGENT
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Agent\n talk time percent\n

    \n
    \n
    PERCENT_TALK_TIME_CUSTOMER
    \n
    \n

    This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

    \n

    Unit: Percentage

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Customer talk time percent\n

    \n
    \n
    REOPENED_CASE_ACTIONS
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases reopened\n

    \n
    \n
    RESOLVED_CASE_ACTIONS
    \n
    \n

    Unit: Count

    \n

    Required filter key: CASE_TEMPLATE_ARN

    \n

    Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

    \n

    UI name: Cases resolved\n

    \n
    \n
    SERVICE_LEVEL
    \n
    \n

    You can include up to 20 SERVICE_LEVEL metrics in a request.

    \n

    Unit: Percent

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

    \n

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Service level X\n

    \n
    \n
    STEP_CONTACTS_QUEUED
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, RoutingStepExpression

    \n

    UI name: Not available

    \n
    \n
    SUM_AFTER_CONTACT_WORK_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: After\n contact work time\n

    \n
    \n
    SUM_CONNECTING_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid metric filter key: INITIATION_METHOD. This metric only supports the\n following filter keys as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent API connecting time\n

    \n \n

    The Negate key in Metric Level Filters is not applicable for this\n metric.

    \n
    \n
    \n
    SUM_CONTACT_FLOW_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contact flow time\n

    \n
    \n
    SUM_CONTACT_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent on contact time\n

    \n
    \n
    SUM_CONTACTS_ANSWERED_IN_X
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

    \n

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Contacts answered in X seconds\n

    \n
    \n
    SUM_CONTACTS_ABANDONED_IN_X
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

    \n

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

    \n

    UI name: Contacts abandoned in X seconds\n

    \n
    \n
    SUM_CONTACTS_DISCONNECTED
    \n
    \n

    Valid metric filter key: DISCONNECT_REASON\n

    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

    \n

    UI name: Contact disconnected\n

    \n
    \n
    SUM_ERROR_STATUS_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Error status time\n

    \n
    \n
    SUM_HANDLE_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Contact handle time\n

    \n
    \n
    SUM_HOLD_TIME
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Customer hold time\n

    \n
    \n
    SUM_IDLE_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent idle time\n

    \n
    \n
    SUM_INTERACTION_AND_HOLD_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

    \n

    UI name: Agent interaction and hold time\n

    \n
    \n
    SUM_INTERACTION_TIME
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Agent interaction time\n

    \n
    \n
    SUM_NON_PRODUCTIVE_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Non-Productive Time\n

    \n
    \n
    SUM_ONLINE_TIME_AGENT
    \n
    \n

    Unit: Seconds

    \n

    Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

    \n

    UI name: Online time\n

    \n
    \n
    SUM_RETRY_CALLBACK_ATTEMPTS
    \n
    \n

    Unit: Count

    \n

    Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

    \n

    UI name: Callback attempts\n

    \n
    \n
    ", "smithy.api#required": {} } }, @@ -28896,6 +29047,216 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#SearchContactFlowModules": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchContactFlowModulesRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchContactFlowModulesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Searches the flow modules in an Amazon Connect instance, with optional filtering.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/search-contact-flow-modules", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ContactFlowModules", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchContactFlowModulesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance. You can find the instance ID in the\n Amazon Resource Name (ARN) of the instance.

    ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    " + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return per page.

    " + } + }, + "SearchFilter": { + "target": "com.amazonaws.connect#ContactFlowModuleSearchFilter", + "traits": { + "smithy.api#documentation": "

    Filters to be applied to search results.

    " + } + }, + "SearchCriteria": { + "target": "com.amazonaws.connect#ContactFlowModuleSearchCriteria", + "traits": { + "smithy.api#documentation": "

    The search criteria to be used to return contact flow modules.

    \n \n

    The name and description fields support \"contains\" queries with a\n minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths\n outside of this range will result in invalid results.

    \n
    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#SearchContactFlowModulesResponse": { + "type": "structure", + "members": { + "ContactFlowModules": { + "target": "com.amazonaws.connect#ContactFlowModuleSearchSummaryList", + "traits": { + "smithy.api#documentation": "

    The search criteria to be used to return contact flow modules.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

    If there are additional results, this is the token for the next set of results.

    " + } + }, + "ApproximateTotalCount": { + "target": "com.amazonaws.connect#ApproximateTotalCount", + "traits": { + "smithy.api#documentation": "

    The total number of contact flows which matched your search query.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.connect#SearchContactFlows": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchContactFlowsRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchContactFlowsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

    Searches the contact flows in an Amazon Connect instance, with optional\n filtering.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/search-contact-flows", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ContactFlows", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchContactFlowsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance. You can find the instance ID in the\n Amazon Resource Name (ARN) of the instance.

    ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    " + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return per page.

    " + } + }, + "SearchFilter": { + "target": "com.amazonaws.connect#ContactFlowSearchFilter", + "traits": { + "smithy.api#documentation": "

    Filters to be applied to search results.

    " + } + }, + "SearchCriteria": { + "target": "com.amazonaws.connect#ContactFlowSearchCriteria", + "traits": { + "smithy.api#documentation": "

    The search criteria to be used to return flows.

    \n \n

    The name and description fields support \"contains\" queries with a\n minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths\n outside of this range will result in invalid results.

    \n
    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#SearchContactFlowsResponse": { + "type": "structure", + "members": { + "ContactFlows": { + "target": "com.amazonaws.connect#ContactFlowSearchSummaryList", + "traits": { + "smithy.api#documentation": "

    Information about the contact flows.

    " + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

    If there are additional results, this is the token for the next set of results.

    " + } + }, + "ApproximateTotalCount": { + "target": "com.amazonaws.connect#ApproximateTotalCount", + "traits": { + "smithy.api#documentation": "

    The total number of contact flows which matched your search query.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#SearchContacts": { "type": "operation", "input": { @@ -31089,7 +31450,7 @@ "UrlExpiryInSeconds": { "target": "com.amazonaws.connect#URLExpiryInSeconds", "traits": { - "smithy.api#documentation": "

    Optional override for the expiry of the pre-signed S3 URL in seconds.

    " + "smithy.api#documentation": "

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is\n 300.

    " } }, "FileUseCaseType": { @@ -34296,7 +34657,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Updates the specified flow.

    \n

    You can also create and update flows using the Amazon Connect\n Flow language.

    ", + "smithy.api#documentation": "

    Updates the specified flow.

    \n

    You can also create and update flows using the Amazon Connect\n Flow language.

    \n

    Use the $SAVED alias in the request to describe the SAVED content\n of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is\n published, $SAVED needs to be supplied to view saved content that has not been\n published.

    ", "smithy.api#http": { "method": "POST", "uri": "/contact-flows/{InstanceId}/{ContactFlowId}/content", @@ -34457,7 +34818,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Updates specified flow module for the specified Amazon Connect instance.

    ", + "smithy.api#documentation": "

    Updates specified flow module for the specified Amazon Connect instance.

    \n

    Use the $SAVED alias in the request to describe the SAVED content\n of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is\n published, $SAVED needs to be supplied to view saved content that has not been\n published.

    ", "smithy.api#http": { "method": "POST", "uri": "/contact-flow-modules/{InstanceId}/{ContactFlowModuleId}/content",