{{placeholders}} that get filled in with real data from each individual call.
This is especially powerful when the right answer depends on information that’s unique to each conversation — the customer’s name, their account tier, the product they called about, or any other runtime value your agent has access to.
How It Works
Dynamic variables use a simple{{key}} syntax in your metric’s description or scoring_guidance. When Bluejay evaluates a conversation, it replaces each {{key}} with the corresponding value from the metadata object you pass in the /v1/evaluate request.
Setting Up a Dynamic Variable Metric
Write your metric with placeholders
Use
{{variable_name}} anywhere in the description or scoring_guidance of your Custom Metric:Pass values in the evaluate request
When you submit a call for evaluation, include the matching key-value pairs in the top-level
metadata field of the request body:Use Cases
Customer-specific assertions
Reference the customer’s name, account number, or tier directly in your metric criteria so the evaluation is grounded in the actual call context.
Product & pricing accuracy
Inject the specific product, plan, or price the customer called about so the metric can verify the agent quoted the right figures.
Compliance with call reason
Pass the stated reason for the call so compliance metrics can check whether the agent followed the correct protocol for that specific scenario.
Dynamic thresholds
Vary scoring expectations based on call type, customer segment, or business unit — use a single metric template across many different contexts.
Example: Account Verification
Here’s a complete example combining a metric template with the corresponding evaluate request. Metric definition“The customer called in about their account ending in 7732. Did the agent verify the customer’s identity…”
Tips & Gotchas
If a placeholder key is present in your metric description but not found in
metadata, Bluejay leaves the {{key}} text as-is rather than failing the evaluation. Always verify your metadata keys match the placeholders exactly.- Key names are case-sensitive —
{{Customer_Name}}and{{customer_name}}are treated as different keys. - Values are always coerced to strings — numbers and booleans work fine as metadata values.
- You can use placeholders in both
descriptionandscoring_guidance— both fields are substituted before evaluation. - Metadata is scoped to the evaluation — it doesn’t need to be declared anywhere in the metric itself; you provide it at call time.
- Extra metadata keys are fine — any keys that don’t match a placeholder are simply stored as call context and are accessible in the call trace.
Next Steps
Evaluate Endpoint
Full reference for submitting calls and passing metadata for dynamic variable substitution.
Metric Types
Learn which response type is right for each measurement goal.
Metrics Lab
Test your dynamic variable metrics against sample transcripts before going live.