Renamed fields
A few fields have a different name in the payload than in the API:
When you push a Digital Human, you can also set its voice in one field, in the form
language_accent_gender, for example accent: en_american_masculine. Bluejay splits it into language, accent, and gender, and a pull always returns those three fields.
Digital Human types
Thetag field sets the type of a Digital Human, except for a Customer Journey, which uses journey_steps instead. To keep the examples short, they leave out simulations.
Base
Base
Voicemail
Voicemail
To write the greeting yourself, set
tag to voicemail-custom and put the greeting in message, as in the example. To have Bluejay generate the greeting, set tag to voicemail-ai-generated, set speaks_first_config.mode to ai_generated, and leave out message. A voicemail Digital Human needs no description or success_criteria.If
tag has more than one label, put the voicemail label first, because Bluejay checks only the first label.Transcript replay
Transcript replay
To replay a real call, use
formatted_transcript in place of description and success_criteria. If you have the call only as raw text, put it in original_transcript instead, and Bluejay uses an LLM to split it into turns.Customer Journey
Customer Journey
Each step becomes one call, and Bluejay makes the calls in step order. To learn how journeys work, see Customer Journeys.
Scenario Builder
Scenario Builder
Scenario Builder generates Digital Humans with the
Scenario tag, workflow_v2_id, workflow_path_index, and enriched_playback. Do not write enriched_playback by hand, because it does not stay in sync with the scenario graph.Red Teaming
Red Teaming
Red Teaming generates Digital Humans with
attack_vector, attack_type, and attack_plan. Start these from a Red Teaming run, not from Bluejay as Code.Agents
Simulations
Custom metrics
metric_type decides which other fields the metric uses. For the metric types and the rules for conditional and composite metrics, see custom metrics.
Conditional metrics
This metric checks the copay only on conversations that reach one node of the agent workflow:fire_conditions holds a list of groups, and each group holds a list of conditions. The join inside a group says how its conditions combine, and the join on fire_conditions says how the groups combine. Set join to and (the default) or or. A metric can have 10 conditions at most.
Each condition has a type, and each type needs its own fields:
Supported values for
operator include:
equalsnot_equalsgreater_thanless_thangreater_than_or_equalless_than_or_equalcontainsnot_contains
Composite metrics
To give a number, combine the input metrics inmaster_formula:
output_type to categorical and response_type to enum, and write rules in place of master_formula:
- List the input metrics in
variables. For a metric whose result is not a number, such as Pass/Fail, add avalue_mapthat turns each result into a number, for examplepass: 5andfail: 1. - In
master_formula, refer to a metric by its ID in double quotes. Supported operators include:+-*/%**
- Supported functions include:
minmaxabsroundfloorceil
- Bluejay checks
rulesin order and uses the first match. If no rule matches, the result is Not Applicable. - A composite metric can have 10 rules at most, each with 10 conditions at most. A rule can read only the metrics listed in
variables, and its conditions use the same operators as conditional metrics.