Skip to main content
POST
Add or replace a success metric

Authorizations

Authorization
string
header
required

Organization API key, sent as Authorization: Bearer boom_org_....

Path Parameters

id
string
required

The initiative id.

Minimum string length: 1

Body

application/json
name
string
required

The metric label, shown in the dashboard picker.

Required string length: 1 - 255
rootId
string

Omit to add a new metric. Pass an existing metric's rootId to replace it with a new version.

signalType
enum<string>
default:CDP_EVENT

What counts as success: a customer-data event, a record on a custom object, or a value extracted from the conversation. Default CDP_EVENT.

Available options:
CDP_EVENT,
CUSTOM_OBJECT,
EXTRACTED_VARIABLE
aggregation
enum<string>
default:COUNT

How matched values roll up. COUNT needs no value field; SUM, AVERAGE and MAX each require one. Default COUNT.

Available options:
COUNT,
SUM,
AVERAGE,
MAX
eventName
string | null

Required when signalType is CDP_EVENT: the event name that marks success.

valueProperty
string | null

The numeric event property to aggregate. Required when signalType is CDP_EVENT and aggregation is not COUNT.

valueSource
enum<string>
default:EVENT_PROPERTY

Whether the aggregated value lives on the event itself or on a custom object the event points at. Default EVENT_PROPERTY.

Available options:
EVENT_PROPERTY,
RELATED_OBJECT
valueObjectTypeId
string | null

Required when valueSource is RELATED_OBJECT: the custom-object type to read the value from.

valueRefProperty
string | null

Required when valueSource is RELATED_OBJECT: the event property holding the object's external id.

variableId
string | null

Required when signalType is EXTRACTED_VARIABLE: the extracted variable that defines success.

objectTypeId
string | null

Required when signalType is CUSTOM_OBJECT: the custom-object type a qualifying record belongs to.

objectAttributeFilter
object | null

Optional equality filter on the object's attributes, e.g. {"status":"SUCCEEDED"}.

objectTimeAttribute
string | null

Required when signalType is CUSTOM_OBJECT: the attribute holding the business timestamp to measure against.

objectValueAttribute
string | null

The numeric object attribute to aggregate. Required when signalType is CUSTOM_OBJECT and aggregation is not COUNT.

linkagePath
object[] | null

How the object is linked to a person. Omit or send an empty array when it is linked directly.

Response

Success

rootId
string
required

Stable id for this metric across versions. Pass it back to edit the metric.

version
integer
required

Version number; every edit creates a new one.

Required range: -9007199254740991 <= x <= 9007199254740991
status
enum<string>
required
Available options:
ACTIVE,
SUPERSEDED
name
string
required
signalType
enum<string>
required
Available options:
CDP_EVENT,
CUSTOM_OBJECT,
EXTRACTED_VARIABLE
aggregation
enum<string>
required
Available options:
COUNT,
SUM,
AVERAGE,
MAX
eventName
string | null
required
valueProperty
string | null
required
valueSource
enum<string>
required
Available options:
EVENT_PROPERTY,
RELATED_OBJECT
valueObjectTypeId
string | null
required
valueRefProperty
string | null
required
variableId
string | null
required
objectTypeId
string | null
required
objectAttributeFilter
object | null
required
objectTimeAttribute
string | null
required
objectValueAttribute
string | null
required
linkagePath
object[] | null
required
windowHours
integer
required

Hours after the first outbound message in which a signal still counts. Fixed at 48.

Required range: -9007199254740991 <= x <= 9007199254740991
createdAt
string
required

ISO 8601 timestamp of this version.