CreateCallAnalyticsCategory - Transcribe

CreateCallAnalyticsCategory

Creates a new Call Analytics category.

All categories are automatically applied to your Call Analytics jobs. Note that in order to apply your categories to your jobs, you must create them before submitting your job request, as categories cannot be applied retroactively.

Call Analytics categories are composed of rules. For each category, you must create between 1 and 20 rules. Rules can include these parameters: InterruptionFilter, NonTalkTimeFilter, SentimentFilter, and TranscriptFilter.

To update an existing category, see UpdateCallAnalyticsCategory.

To learn more about:

Request Syntax

{ "CategoryName": "string", "Rules": [ { "InterruptionFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "ParticipantRole": "string", "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Threshold": number }, "NonTalkTimeFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Threshold": number }, "SentimentFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "ParticipantRole": "string", "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Sentiments": [ "string" ] }, "TranscriptFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "ParticipantRole": "string", "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Targets": [ "string" ], "TranscriptFilterType": "string" } } ] }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

CategoryName

A unique name, chosen by you, for your Call Analytics category. It's helpful to use a detailed naming system that will make sense to you in the future. For example, it's better to use sentiment-positive-last30seconds for a category over a generic name like test-category.

Category names are case sensitive.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 200.

Pattern: ^[0-9a-zA-Z._-]+

Required: Yes

Rules

Rules define a Call Analytics category. When creating a new Call Analytics category, you must create between 1 and 20 rules for that category. For each rule, you specify a filter you want applied to the attributes of a call. For example, you can choose a sentiment filter that detects if a customer's sentiment was positive during the last 30 seconds of the call.

Type: Array of Rule objects

Array Members: Minimum number of 1 item. Maximum number of 20 items.

Required: Yes

Response Syntax

{ "CategoryProperties": { "CategoryName": "string", "CreateTime": number, "LastUpdateTime": number, "Rules": [ { "InterruptionFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "ParticipantRole": "string", "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Threshold": number }, "NonTalkTimeFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Threshold": number }, "SentimentFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "ParticipantRole": "string", "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Sentiments": [ "string" ] }, "TranscriptFilter": { "AbsoluteTimeRange": { "EndTime": number, "First": number, "Last": number, "StartTime": number }, "Negate": boolean, "ParticipantRole": "string", "RelativeTimeRange": { "EndPercentage": number, "First": number, "Last": number, "StartPercentage": number }, "Targets": [ "string" ], "TranscriptFilterType": "string" } } ] } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

CategoryProperties

Provides you with the properties of your new category, including its associated rules.

Type: CategoryProperties object

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

Your request didn't pass one or more validation tests. This can occur when the entity you're trying to delete doesn't exist or if it's in a non-terminal state (such as IN PROGRESS). See the exception message field for more information.

HTTP Status Code: 400

ConflictException

A resource already exists with this name. Resource names must be unique within an AWS account.

HTTP Status Code: 400

InternalFailureException

There was an internal error. Check the error message, correct the issue, and try your request again.

HTTP Status Code: 500

LimitExceededException

You've either sent too many requests or your input file is too long. Wait before retrying your request, or use a smaller file and try your request again.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: