---
search:
  exclude: true
---

# <a id="bitdrift.public.unary.workflows.v1.ActionRule"></a>ActionRule

An action rule.

| Field | Type | Description |
|---|---|---|
| rule_id | <span class="proto-type proto-type-primitive">string</span> | ID of this action rule. Must be unique within the workflow. This may be referenced by other  APIs and will be documented as such. In special cases it may also be referenced by other  actions. For example, a chart and flush action can refer to the rule_id of a measure time  action. |
| metric_chart_rule | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Rule</i><i class="proto-type-dot">.</i><i class="proto-type-part">RuleMetricChartConfiguration</i>](bitdrift_public_unary_workflows_v1_Rule.md#bitdrift.public.unary.workflows.v1.Rule.RuleMetricChartConfiguration){ title="bitdrift.public.unary.workflows.v1.Rule.RuleMetricChartConfiguration"}</span> | A metric chart action.<br><br>(Only one of <em>metric_chart_rule</em>, or <em>flush_rule</em>, <em>funnel_rule</em>, <em>sankey_diagram_rule</em>, <em>take_screenshot_rule</em>, <em>measure_time_rule</em>, <em>start_tracing_rule</em> can be set) |
| flush_rule | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Rule</i><i class="proto-type-dot">.</i><i class="proto-type-part">RuleFlushConfiguration</i>](bitdrift_public_unary_workflows_v1_Rule.md#bitdrift.public.unary.workflows.v1.Rule.RuleFlushConfiguration){ title="bitdrift.public.unary.workflows.v1.Rule.RuleFlushConfiguration"}</span> | A flush action.<br><br>(Only one of <em>flush_rule</em>, or <em>metric_chart_rule</em>, <em>funnel_rule</em>, <em>sankey_diagram_rule</em>, <em>take_screenshot_rule</em>, <em>measure_time_rule</em>, <em>start_tracing_rule</em> can be set) |
| funnel_rule | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Rule</i><i class="proto-type-dot">.</i><i class="proto-type-part">RuleFunnelConfiguration</i>](bitdrift_public_unary_workflows_v1_Rule.md#bitdrift.public.unary.workflows.v1.Rule.RuleFunnelConfiguration){ title="bitdrift.public.unary.workflows.v1.Rule.RuleFunnelConfiguration"}</span> | A funnel action.<br><br>(Only one of <em>funnel_rule</em>, or <em>metric_chart_rule</em>, <em>flush_rule</em>, <em>sankey_diagram_rule</em>, <em>take_screenshot_rule</em>, <em>measure_time_rule</em>, <em>start_tracing_rule</em> can be set) |
| sankey_diagram_rule | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Rule</i><i class="proto-type-dot">.</i><i class="proto-type-part">RuleSankeyDiagramConfiguration</i>](bitdrift_public_unary_workflows_v1_Rule.md#bitdrift.public.unary.workflows.v1.Rule.RuleSankeyDiagramConfiguration){ title="bitdrift.public.unary.workflows.v1.Rule.RuleSankeyDiagramConfiguration"}</span> | A sankey diagram action.<br><br>(Only one of <em>sankey_diagram_rule</em>, or <em>metric_chart_rule</em>, <em>flush_rule</em>, <em>funnel_rule</em>, <em>take_screenshot_rule</em>, <em>measure_time_rule</em>, <em>start_tracing_rule</em> can be set) |
| measure_time_rule | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Rule</i><i class="proto-type-dot">.</i><i class="proto-type-part">RuleMeasureTime</i>](bitdrift_public_unary_workflows_v1_Rule.md#bitdrift.public.unary.workflows.v1.Rule.RuleMeasureTime){ title="bitdrift.public.unary.workflows.v1.Rule.RuleMeasureTime"}</span> | A measure time action.<br><br>(Only one of <em>measure_time_rule</em>, or <em>metric_chart_rule</em>, <em>flush_rule</em>, <em>funnel_rule</em>, <em>sankey_diagram_rule</em>, <em>take_screenshot_rule</em>, <em>start_tracing_rule</em> can be set) |
| start_tracing_rule | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">workflows</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">RuleStartTracing</i>](bitdrift_public_unary_workflows_v1_RuleStartTracing.md#bitdrift.public.unary.workflows.v1.RuleStartTracing){ title="bitdrift.public.unary.workflows.v1.RuleStartTracing"}</span> | If specified the current session will begin trace sampling.<br><br>(Only one of <em>start_tracing_rule</em>, or <em>metric_chart_rule</em>, <em>flush_rule</em>, <em>funnel_rule</em>, <em>sankey_diagram_rule</em>, <em>take_screenshot_rule</em>, <em>measure_time_rule</em> can be set) |

#### Example
```json
{
  "metric_chart_rule": {
    "time_series": [
      {
        "aggregated_id": "count/fkQ1PfAZhdYvJexzY6DYuoYCZTEaWO0Y7spxwjr7akc",
        "rate": {
          "denominator": {
            "match_id": "_i1yUnHjKfmWpCaD5Tazo",
            "name": "field_name"
          },
          "denominator_id": "fkQ1PfAZhdYvJexzY6DYuoYCZTEaWO0Y7spxwjr7akc",
          "group_by": {
            "values": [
              {
                "log_body": false
              }
            ]
          },
          "numerator": {
            "match_id": "_i1yUnHjKfmWpCaD5Tazo",
            "name": "field_name"
          },
          "numerator_id": "fkQ1PfAZhdYvJexzY6DYuoYCZTEaWO0Y7spxwjr7akc"
        },
        "track_unique": {
          "device_id": true
        }
      }
    ]
  },
  "rule_id": "_i1yUnHjKfmWpCaD5Tazo"
}
```

