Action Items Extraction

Identify Who Does What, By When

In today’s fast-paced environments, important action items often emerge from lengthy, multi-participant calls—standups, sales meetings, strategic discussions. Manually sifting through transcripts is inefficient and prone to oversight. By automatically extracting well-structured action items, teams gain immediate clarity on who needs to do what, by when, and with what level of confidence.

Who Benefits:

  • Project Managers & Team Leads: Quickly track deliverables and ensure no promise goes unfulfilled.
  • CX Teams: Identify customer commitments at a glance, improving follow-through and customer satisfaction.
  • Business Managers & Strategists: Integrate action items into dashboards for real-time decision-making and oversight.
  • Compliance Officers: Confirm that deadlines and responsibilities meet internal or external policy standards.

Value Proposition:

  • Efficiency: Rapid, machine-readable summaries of tasks and deadlines.
  • Accountability: Clear assignees and due dates drive timely completion.
  • Scalability: Structured JSON output feeds directly into tools, analytics engines, and workflows—no manual conversion required.

Data Dictionary

Objective:
Transform a timestamped, diarized transcript into a standardized JSON structure listing all identified action items, their details, and relevant metadata. Include assignee details, due dates (in ISO 8601 if possible), confidence scores, and optionally a status field indicating if a task was completed during the call.

Required JSON Schema:

{
  "actionItems": [
    {
      "id": "<string>",
      "text": "<string>",
      "type": "action_item",
      "score": <number>,
      "status": "<string>", 
      "entities": [
        {
          "type": "<string>",
          "text": "<string>",
          "value": {
            "assignee": {
              // {"name": "<Name>"} if identified
            },
            "dueBy": {
              // {"dateTime": "<ISO 8601>"} if a deadline is identified
            }
          }
        }
      ]
    }
  ]
}

Data Dictionary:

FieldDescriptionExample
actionItemsAn array of action item objects representing tasks derived from the transcript.[ {...}, {...} ]
actionItems[].idUnique identifier for the action item."actionItem-1"
actionItems[].textThe extracted action item’s core text, a concise phrase representing the task."finish the budget report by the end of today"
actionItems[].typeIndicates the entity type, use "action_item" for all items."action_item"
actionItems[].scoreConfidence score (0.0 to 1.0) indicating certainty that this is an action item.0.9
actionItems[].statusOptional. Indicates if the task was completed during the call. Use "Complete" if so. Otherwise omit or set "Pending"."Complete" or "Pending"
actionItems[].entitiesArray of entity objects describing components of the action item.[ {...} ]
entities[].typeThe type of the entity, often "task" or "person"."task"
entities[].textThe substring from the action item’s text corresponding to this entity."finish the budget report"
entities[].value.assigneeIf the assignee can be identified, include their name.{"name": "Alice"}
entities[].value.dueByIf a specific deadline is mentioned, store in ISO 8601 format using dateTime.{"dateTime": "2024-07-10T23:59:59Z"}

If No Action Items:
Return:

{
  "actionItems": []
}

Determining Confidence & Thresholds

Confidence Scoring:

  • Assign a high score (close to 1.0) when an utterance clearly expresses a commitment or instruction.
  • Use a moderate or low score if uncertain whether the statement truly represents an actionable task.
  • Downstream systems can filter items below a chosen threshold.

Iterative Improvement & Calibration:

  1. Initial Testing: Run on sample transcripts to validate correct extraction of assignees and deadlines.
  2. Refine Deadline Conversion: Adjust logic if date/time conversions yield inaccuracies.
  3. Improve Assignee Identification: If missing assignees, incorporate hints or domain-specific patterns.
  4. Stakeholder Feedback: Align output format and detail level with PMs, CX leads, and compliance officers.
  5. Continuous Updates: As organizational needs shift, update instructions to emphasize new priorities or language patterns.

This data-driven approach ensures ongoing enhancement of accuracy, relevance, and adaptability.


Prompt Construction & Instructions

Role Specification & Reiteration:

  • Cast the system as a "highly experienced assistant" specialized in extracting action items.
  • Reiterate key instructions multiple times to ensure the model understands and obeys them.
  • Use chain-of-thought reasoning hidden from the final output, preventing hallucination and ensuring only final JSON is returned.

No Hallucination:

  • Extract only what’s stated or strongly implied.
  • If uncertain about assignee or deadlines, omit those fields.

Formatting Strictness:

  • Return only the JSON object—no commentary, no reasoning text, no extra fields.

Prompt for Implementation

System Message (Role: System):
"You are a highly experienced assistant specializing in extracting action items from timestamped, diarized conversation transcripts. Your task: produce a JSON object containing an actionItems array, following this exact schema:

{
  "actionItems": [
    {
      "id": "<string>",
      "text": "<string>",
      "type": "action_item",
      "score": <number>,
      "status": "<string>", 
      "entities": [
        {
          "type": "<string>",
          "text": "<string>",
          "value": {
            "assignee": {
              // {"name": "<Name>"} if identified
            },
            "dueBy": {
              // {"dateTime": "<ISO 8601>"} if a deadline is identified
            }
          }
        }
      ]
    }
  ]
}

Instructions (Reiterated):

  1. Identify action items: commitments or tasks mentioned in the call.
  2. Use speaker context to determine assignee if clear.
  3. If a deadline is stated, convert it to ISO 8601 using the provided timezone if possible. If no precise deadline can be determined, omit dueBy.
  4. Assign a confidence score between 0.0 and 1.0.
  5. If the task was completed during the call, set "status": "Complete". Otherwise, omit or use "Pending".
  6. Return only this JSON object, no additional commentary or reasoning.
  7. If no action items are found, return "actionItems": []".

Hidden Chain-of-Thought:

  • Reason silently. Do not display reasoning or intermediate steps.

No Hallucination:

  • Do not invent assignees, deadlines, or tasks. Extract only from what’s stated.
  • If unsure about any detail, omit that field.

System Summary:
You are an expert. Read the transcript, extract action items, and produce only the JSON. No extra text.


User Message (Role: User):
"Analyze the following conversation and return the extracted action items as instructed:

[TRANSCRIPT_JSON][TRANSCRIPT_JSON]"

(Replace [TRANSCRIPT_JSON] with the actual transcript.)