public sealed class AnalysisRule : IMessage<AnalysisRule>, IEquatable<AnalysisRule>, IDeepCloneable<AnalysisRule>, IBufferMessage, IMessage
Reference documentation and code samples for the Contact Center AI Insights v1 API class AnalysisRule.
The CCAI Insights project wide analysis rule. This rule will be applied to
all conversations that match the filter defined in the rule. For a
conversation matches the filter, the annotators specified in the rule will be
run. If a conversation matches multiple rules, a union of all the annotators
will be run. One project can have multiple analysis rules.
Percentage of conversations that we should apply this analysis setting
automatically, between [0, 1]. For example, 0.1 means 10%. Conversations
are sampled in a determenestic way. The original runtime_percentage &
upload percentage will be replaced by defining filters on the conversation.
public AnnotatorSelector AnnotatorSelector { get; set; }
Selector of annotators to run and the phrase matchers to use for
conversations that matches the conversation_filter. If not specified, NO
annotators will be run.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis page provides reference documentation for the \u003ccode\u003eAnalysisRule\u003c/code\u003e class within the Google Cloud Contact Center AI Insights v1 API, including its properties and methods.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAnalysisRule\u003c/code\u003e class is used to define project-wide rules that apply to conversations, specifying which annotators should be run and under what conditions.\u003c/p\u003e\n"],["\u003cp\u003eMultiple versions of the \u003ccode\u003eAnalysisRule\u003c/code\u003e documentation are available, ranging from version 1.0.0 to the latest version, 2.19.0, allowing you to navigate through previous versions.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAnalysisRule\u003c/code\u003e objects can be created, updated, and activated or deactivated, with properties such as \u003ccode\u003eActive\u003c/code\u003e, \u003ccode\u003eAnalysisPercentage\u003c/code\u003e, and \u003ccode\u003eConversationFilter\u003c/code\u003e to control its application.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAnalysisRule\u003c/code\u003e also has various inherited members and properties, including \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eUpdateTime\u003c/code\u003e, \u003ccode\u003eDisplayName\u003c/code\u003e, and \u003ccode\u003eAnnotatorSelector\u003c/code\u003e which gives further insight into the capabilities and usage of this class.\u003c/p\u003e\n"]]],[],null,["# Contact Center AI Insights v1 API - Class AnalysisRule (2.19.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.19.0 (latest)](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.18.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.18.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.17.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.17.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.16.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.16.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.15.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.14.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.13.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.12.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.11.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.10.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.9.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.8.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.7.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.6.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.5.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.4.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.3.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.2.1](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.2.1/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.1.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/2.0.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/1.3.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/1.2.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/1.1.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/1.0.0/Google.Cloud.ContactCenterInsights.V1.AnalysisRule) \n\n public sealed class AnalysisRule : IMessage\u003cAnalysisRule\u003e, IEquatable\u003cAnalysisRule\u003e, IDeepCloneable\u003cAnalysisRule\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Contact Center AI Insights v1 API class AnalysisRule.\n\nThe CCAI Insights project wide analysis rule. This rule will be applied to\nall conversations that match the filter defined in the rule. For a\nconversation matches the filter, the annotators specified in the rule will be\nrun. If a conversation matches multiple rules, a union of all the annotators\nwill be run. One project can have multiple analysis rules. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AnalysisRule \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AnalysisRule](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1.AnalysisRule), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AnalysisRule](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1.AnalysisRule), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AnalysisRule](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1.AnalysisRule), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.ContactCenterInsights.V1](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.ContactCenterInsights.V1.dll\n\nConstructors\n------------\n\n### AnalysisRule()\n\n public AnalysisRule()\n\n### AnalysisRule(AnalysisRule)\n\n public AnalysisRule(AnalysisRule other)\n\nProperties\n----------\n\n### Active\n\n public bool Active { get; set; }\n\nIf true, apply this rule to conversations. Otherwise, this rule is\ninactive and saved as a draft.\n\n### AnalysisPercentage\n\n public double AnalysisPercentage { get; set; }\n\nPercentage of conversations that we should apply this analysis setting\nautomatically, between \\[0, 1\\]. For example, 0.1 means 10%. Conversations\nare sampled in a determenestic way. The original runtime_percentage \\&\nupload percentage will be replaced by defining filters on the conversation.\n\n### AnalysisRuleName\n\n public AnalysisRuleName AnalysisRuleName { get; set; }\n\n[AnalysisRuleName](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1.AnalysisRuleName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.ContactCenterInsights.V1/latest/Google.Cloud.ContactCenterInsights.V1.AnalysisRule#Google_Cloud_ContactCenterInsights_V1_AnalysisRule_Name) resource name property.\n\n### AnnotatorSelector\n\n public AnnotatorSelector AnnotatorSelector { get; set; }\n\nSelector of annotators to run and the phrase matchers to use for\nconversations that matches the conversation_filter. If not specified, NO\nannotators will be run.\n\n### ConversationFilter\n\n public string ConversationFilter { get; set; }\n\nFilter for the conversations that should apply this analysis\nrule. An empty filter means this analysis rule applies to all\nconversations.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The time at which this analysis rule was created.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nDisplay Name of the analysis rule.\n\n### HasDisplayName\n\n public bool HasDisplayName { get; }\n\nGets whether the \"display_name\" field is set\n\n### Name\n\n public string Name { get; set; }\n\nIdentifier. The resource name of the analysis rule.\nFormat:\nprojects/{project}/locations/{location}/analysisRules/{analysis_rule}\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The most recent time at which this analysis rule was updated."]]