Hooman Labs DocsGuideReference

Call Analysis

This feature enables automated analysis of the call transcript once a conversation ends. Dedicated LLMs process the call transcript and generates valuable insights across three main segments.

Configure

  1. Navigate: Agents → Select Agent → Edit → Analysis.

  2. Configure the following sections:

    • Summary

    • Outcome

    • Extract Information

Summary

Use this feature to instruct the LLM to generate a concise summary of the conversation.

How it works:

  • Provide summary instructions via a prompt. (e.g., "Summarize the customer's query, resolution provided, and next steps.")

  • The system uses a separate LLM (different from the main agent model).

  • The output is available in post-call object ${analysis.results.summary}.

Advanced Settings:

  • LLM Model: Select which model should be used for summarization.

  • Temperature: Adjust to control creativity vs precision.

Outcome

Tag the overall result or disposition of the call. This is typically used to:

  • Classify the intent and resolution.

  • Route to appropriate workflows.

  • Generate disposition-based reports.

Outcome Types:

System Defined Outcomes (Auto-detected)

These are automatically tagged by the system based on call metadata. No LLM is used for these.

Outcome

Applicable To

Description

failed

Outbound

Call could not be placed: wrong number, network error, etc.

init_failed

Outbound

Call failed to initiate due to config errors.

no-answer

Outbound

Call rang but the user didn’t pick up.

busy

Outbound

User’s line was busy.

dnd

Outbound

Number was in Do Not Disturb registry.

voicemail

Both

Voicemail detected during the call (only if voicemail detection is enabled).

no_response

Both

Call connected but user gave no input or response.

agent_transfer

Both

Call was transferred to a human agent.

LLM Defined Outcomes (Based on Transcript)

These outcomes are generated by the LLM based on the conversation content. You define the possible outcomes and provide descriptions that guide the LLM in tagging.

Tips for Defining Good Outcome Labels:
  • Mutually Exclusive, Collectively Exhaustive (MECE): Each call should fit in one and only one outcome. Add a generic other label to capture outliers.

  • Clear Boundaries: Explain what should happen when multiple things occur in the call. For example:

    "If the user was initially unsure but eventually provided a callback time, mark as busy_callback, not undecided."

  • Concise, Instructional Descriptions: Keep your descriptions short but precise. They are interpreted as instructions by the LLM.

  • Granularity vs Clarity: Don’t over-segment unless truly needed. Fine distinctions between outcomes like dropped_early, hung_up, or cut_off can introduce ambiguity and reduce tagging accuracy.

  • Clue-based Definitions: If an outcome is subjective (e.g., low_intent), offer clues:

    "Mark as low_intent if user avoids commitment, uses vague language like 'just checking', or refuses to share key info."

LLM-based outcomes are defined by analyzing the transcript only. If you want to tag events like "user cut the call", phrase it in a way the model can infer. Example, if the last message is by the agent and seems cut off mid-sentence, that may suggest the user hung up during conversation. Use such clues for better accuracy.

Example Outcome Set:

Outcome Name

Description

busy_callback

User was busy but agreed to a callback with suggested time or range.

wrong_number

User confirmed they are not the intended contact or unrelated to the case.

lead_qualified

User showed interest, shared relevant details, and is eligible for follow-up.

completed

Goal of the call was fully achieved.

not_interested

User clearly declined or showed no intent to continue.

other

Doesn't fit any other label.

Extract information

Automatically extract structured data points from the call. Ideal for lead qualification, CRM updates, or analytics.

Parameters:

Each parameter has:

  • Name: Variable name (e.g., location, budget).

  • Type: string, number, or boolean.

  • Required: true/false

  • Validation: Regex.

  • Description: Clear guidance for the model.

Example:

  • Name: budget

  • Type: number

  • Validation: /^\d+$/

  • Description: "Customer’s preferred budget in INR. Use digits only."

Advanced Settings:

  • LLM Model

  • Temperature

  • Prompt: Add custom instructions for nuanced extraction (e.g., "If user doesn’t mention budget, return 'NA'.")

Always include fallback values like "NA" or "Not found" in your parameter description to ensure model doesn’t create information if it is not available in the transcript.

Using analysis variables

The outputs from Summary, Outcome and Extract Information are injected into the post‑call object under analysis.results and outcome keys as well as reports available on the platform.

Field Source

How to Reference

Notes

Summary text

${analysis.results.summary}

Available only when the call is connected.

Outcome

${outcome}

Always available.

Extracted info

${analysis.results.<parameterName>}

Replace <parameterName> with the exact name you configured (e.g., ${analysis.results.budget}).

Analysis (summary + extracted fields) is generated only for connected calls. System‑defined outcomes no_response and voicemail do not include analysis data, even if the call connected.